v0.20.2 - Source-rebuild plugin loading fix (#71)
v0.20.2 — Source-rebuild plugin loading fix (#71)
A follow-up to v0.20.1. If you use the prebuilt binaries (Blueprint-only, or a project that doesn't recompile the plugin), v0.20.1 already loads cleanly and this update is optional. This release fixes the remaining case: projects that rebuild Monolith from source.
What was wrong
The optional-plugin gates in five modules (MonolithAI, MonolithMesh, MonolithIndex, MonolithAudio, MonolithAnimation) decided whether to link an optional engine plugin by checking whether that plugin's folder existed on disk. Engine plugins like MassGameplay and ZoneGraph ship with the engine and are always on disk, so a from-source build linked them in even when they weren't enabled in the project. On a stock engine those plugins aren't loaded, so MonolithAI.dll failed to load with GetLastError=126 (missing MassSpawner.dll / ZoneGraph.dll). v0.20.1 rebuilt the shipped binaries clean but did not change this source-side logic, so source builders kept hitting it.
The fix
Those five Build.cs files now read the project's .uproject and gate each optional plugin on whether it is actually enabled in the project, not merely present on disk. A from-source build with those plugins disabled now produces a clean MonolithAI.dll with no missing imports; projects that do enable the plugins keep the corresponding features.
Upgrading
Grab the zip below, or let the in-editor auto-updater pull it. If you previously enabled MassGameplay / ZoneGraph only to work around the load failure, you can disable them again after updating.
Thanks to @aggitti for the detailed logs that pinned both the original binary leak and this source-side follow-up.
Monolith-SHA256: 352b3e9c0b86689cb8d2ca4d4aef68fefdc4956be75cbf7818d6e00b5d923cb1