Runtime Floor Placement
Dynamic Floor Plugin
Place, modify, and remove polygonal floor surfaces at runtime using a node network–based boundary system, a procedural mesh renderer, and fully Blueprint-driven integration points. Designed for Sims-style construction, archviz, and interactive room editing.
Features
- Runtime floor placement — single-tile placement and area fill mode. Toggle between modes with the Shift key.
- Polygon-based procedural mesh — floor surfaces are triangulated from 2D polygons
using the earcut algorithm via
ProceduralMeshComponent. - Node network boundary detection — walls or other boundaries are modelled
as a connected graph of
UBasicNodeobjects. The plugin detects enclosed areas automatically. - Room-within-room nesting — inner and outer nesting depth is tracked, so rooms inside rooms are supported.
- Preview before commit —
EnterPreviewMode/ExitPreviewModewrites to a preview state without touching the production polygon database. - Material ID system — materials are assigned via integer IDs, not direct asset references.
The
SimpleMaterialManagerBlueprint maps IDs toUMaterialInterfaceat runtime. - FloorType layers —
Default,Border, andInvisiblelogical layers that do not interfere with each other. - Polygon boolean operations —
UnionPolygons,DifferencePolygons,DoPolygonsIntersect,DoPolygonsStrictlyIntersect(powered by Clipper2). - Save and load —
UPolygonDatabaseSaveManagerandUNodeSystemDefaultSaveManager. Custom save logic supported viaINodeSystemSaveManagerInterface. - Fully Blueprint-driven — all user-facing integration points are Blueprint interfaces. No C++ required.
- Example map included —
DynamicFloorPlugin/Maps/Preview_DynamicFloorPlugin. Press Play to explore the full placement pipeline.
Requirements
ProceduralMeshComponent required
The plugin requires the ProceduralMeshComponent Unreal Engine plugin, which is bundled with Unreal Engine. It must be enabled in your project under Edit → Plugins → search "Procedural Mesh".
No other external dependencies are required. The third-party libraries earcut (triangulation) and Clipper2 (polygon boolean operations) are bundled directly with the plugin.
Not supported
- ! Multiplayer / network replication — explicitly not supported.
- ! Mac — explicitly not supported (development or target platform).
- !
Automatic grid snapping — not built-in.
Must be implemented in
FindValidHitResulton the placement tool. See Grid & Snapping docs.
Compatibility
| Unreal Engine | 5.5, 5.6, 5.7 (continuously updated) |
| Target platforms | Windows |
| Linux | TODO verify — listed in PlatformAllowList but not confirmed as tested target platform |
| Mac | Not supported |
| Network replication | Not supported |
| Required UE plugin | ProceduralMeshComponent (included with UE) |
| Dependencies | None beyond ProceduralMeshComponent |