Skip to content

Troubleshooting — Dynamic Floor Plugin

Troubleshooting

Common problems and how to resolve them.

For issues not covered here, visit the Discord support server.


Plugin does not compile

Symptom: Compilation errors on project build mentioning ProceduralMesh or missing module references.

Cause: The ProceduralMeshComponent UE plugin is not enabled.

Fix:

  1. Open Edit → Plugins in the Unreal Editor.
  2. Search for Procedural Mesh Component.
  3. Enable it.
  4. Restart the editor and recompile.

Floor meshes do not appear

Symptom: Floors are placed (no errors) but nothing is visible in the level.

Likely causes and fixes:

CauseFix
BP_FloorPolygonRenderer (or your custom renderer) is not registered with FloorPolygonChangeServiceCall FloorPolygonChangeService.RegisterListener(yourRenderer) at startup
OnAllPolygonsTransferred is not triggering a mesh rebuildMake sure your listener calls TriggerAllPolygonsTransferred after a batch of changes, or verify the service is calling it
SimpleMaterialManager is not set upThe renderer needs a valid material manager to resolve material IDs to UMaterialInterface — set it up in your level or renderer Blueprint
Material ID 0 has no material assignedAssign a default material to ID 0 in your material manager

Fill mode does not detect a room area

Symptom: Switching to fill mode and clicking inside a room shows no fill preview, or the wrong area is highlighted.

Cause: The node network is not fully enclosed — there is a gap in the boundary.

Fix:

  1. Open the level or inspect your wall actors.
  2. Check that every wall segment has nodes at both endpoints and that all nodes are connected along the wall.
  3. Make sure there are no gaps — a single missing connection will break the enclosure.
  4. Check that all boundary nodes use the same NodeType and NodeMaterial so the subsystem can group them into one network.

Nodes are not connecting / networks are not merging

Symptom: Two wall segments that should share a node at their junction are not connecting.

Cause: Node type or material mismatch between segments.

Fix:

  • Ensure both segments use the same NodeType (integer) and NodeMaterial (integer) when calling getOrCreateNodeAtPosition.
  • Nodes with different types or materials are kept in separate networks by design.

Tool is not responding to input

Symptom: Left-click / right-click does nothing during placement.

Likely causes:

CauseFix
FloorPlacementControllerComponent is deactivatedCall ActivateComponent when entering build mode
No active tool is setCall SetActiveTool after spawning the tool actor
Input is not forwarded to the componentMake sure your Player Controller forwards left-click, right-click, and Shift to the component’s HandleLeftClick, HandleRightClick, and HandleShift functions

Save / load is not working

Symptom: Floors disappear after restarting the game, or floors from a previous session are not reloaded.

Fix:

  1. Make sure you are calling SaveNodeSystem on both UPolygonDatabaseSaveManager and UNodeSystemDefaultSaveManager when saving.
  2. Make sure you are calling LoadNodeSystem on both at game start.
  3. Check that no other code calls Clear on the database before the load completes.
  4. Verify that the save slot names have not been overridden: PolygonDatabaseSaveSlot and NodeSystemSaveSlot.

Build errors on Unreal Engine 5.7

Symptom: The plugin fails to compile or behaves incorrectly on UE 5.7.

Context: A user review on Fab reports a UE 5.7-specific issue that was resolved by the developer after contacting them through the support channel. The latest plugin update was released on 10 May 2026.

Fix:

  1. Make sure you have the latest version of the plugin from Fab.
  2. If the issue persists, contact the developer via Discord.

Polygons overlap or conflict unexpectedly

Symptom: Placing a new floor polygon causes existing polygons to change or disappear.

Cause: InsertPolygonWithMaterialHandling performs material-aware conflict handling when inserting polygons.

Fix:

  • Use AddPolygon directly if you want to add a polygon without any conflict resolution.
  • Use InsertPolygonWithMaterialHandling if you want the plugin to handle overlapping polygons automatically.

See also