Skip to content

FAQ — Dynamic Floor Plugin

FAQ

Frequently asked questions about the Coding Passion Dynamic Floor Plugin.


General

What does this plugin do?

It provides a runtime floor placement system for Unreal Engine. You can place, modify, and remove polygonal floor surfaces during gameplay — with material assignment, layered floor types, and a node network system for detecting enclosed room areas.


What Unreal Engine versions are supported?

Unreal Engine 5.5, 5.6, and 5.7 (as listed on Fab at time of writing, last updated 10 May 2026).

Version support is continuously updated. If your required engine version is not yet listed, join the Discord server and ask.


Does it work on Mac?

No. Mac is explicitly listed as not supported on the Fab listing.


What platforms can I ship to?

Windows is the listed target build platform.


Does it support multiplayer / network replication?

No. Network replication is explicitly listed as not supported.


Is there an example map?

Yes. The plugin includes a fully functional example map:

DynamicFloorPlugin/Maps/Preview_DynamicFloorPlugin

Press Play to try it out. See Quick Start for details.


Integration

Do I need to write C++ to use this plugin?

No. All user-facing integration points are Blueprint interfaces and Blueprint Actor Components. The C++ backend is pre-compiled and does not need to be touched.


Can I use custom floor shapes (not rectangular tiles)?

Yes. Subclass BP_ExampleRuntimeFloorPolygonToolActor, override BeginPlay, and set the ToolShape Vector array to your desired shape. See Examples for a triangle example.


Can I build a Sims-style construction game with this?

Yes. That is the stated design goal from the plugin author:

“Destination is that this Plugin provides the basic functionalities to build floors for houses or anything so it could be used in like construction simulation software or a life simulation game.”

See Build Mode for integration guidance.


Can I save and load floor data?

Yes. The plugin includes built-in save managers:

  • UPolygonDatabaseSaveManager — saves the floor polygon database (slot: PolygonDatabaseSaveSlot)
  • UNodeSystemDefaultSaveManager — saves the node network (slot: NodeSystemSaveSlot)

You can also implement INodeSystemSaveManagerInterface for a custom save/load system.

See Examples for usage.


Does grid snapping work out of the box?

No. Grid snapping is not a built-in feature. The plugin provides a hook (FindValidHitResult in the tool actor) where you can implement any positional constraint including grid snapping.

See Grid and Snapping for how to implement it.


Materials

How do materials work?

Materials are referenced by integer IDs (int32), not by direct UMaterial asset references. A SimpleMaterialManager Blueprint maps these IDs to actual UMaterialInterface objects at runtime.

This design is intentional — it allows the material library to scale to very large collections (e.g. user-generated content) without hard-coded asset references.

See Materials for details.


What is a FloorType?

FloorType is an enum that separates floor polygons into logical layers:

ValueUse
DefaultStandard visible floor
BorderWall / boundary layer
InvisibleLogical layer with no visible mesh

Polygons on different floor types do not affect each other in the backend.


Technical

Is C++ source code included?


What third-party libraries does the plugin use?

Two libraries are bundled with the plugin — no separate installation is needed:

LibraryPurpose
earcutPolygon triangulation
Clipper2Polygon boolean operations (union, difference, intersection)

What UE plugin dependency is required?

ProceduralMeshComponent — a plugin bundled with Unreal Engine. It must be enabled in your project.


Support

Where can I get help?

Discord: https://discord.gg/Yf55rYVdKu


Where is the official documentation?

Google Docs: https://docs.google.com/document/d/1OILro95bAornP6kTMG2aXZt7-b0HFgby_4auxxvBDnQ/


Where can I buy the plugin?

Fab: https://www.fab.com/listings/c33364b7-9e6e-4878-8725-1ad21f4fc8fe


See also