UDungeonMeshSetDatabase en - shun126/DungeonGenerator GitHub Wiki
UDungeonMeshSetDatabase Guide
UDungeonMeshSetDatabase is a visual theme collection that groups floors, walls, roofs, slopes, catwalks, and chandeliers.
You usually prepare separate databases for rooms and aisles, then reference them from UDungeonGenerateParameter.
Role
- Decide which
FDungeonMeshSetis used - Decide which floor, wall, roof, and other parts are used inside the selected
FDungeonMeshSet
In other words, Phase 1 is the database deciding "which theme to use", and Phase 2 is the mesh set deciding "which part inside that theme to use".
Minimum usage
- Create a
Mesh set databaseasset. - Add one
Mesh Set. - At minimum, add these parts to it:
Floor Parts/Wall Parts/Roof Parts - Assign that database as the room or aisle database in
UDungeonGenerateParameter.
Main properties
Mesh Set Selection Policy(SelectionPolicy)
Decides whichMesh Setis chosen from this database.Custom Mesh Set Selector
A custom selector used only whenMesh Set Selection Policy = Custom Selector.Mesh Set(Parts)
The actual theme list. Each item is anFDungeonMeshSet.
How to think about Mesh Set Selection Policy
Random
Good when you want variation within the same theme band.Identifier
Chooses deterministically from the room identifier.Depth From Start
Useful when you want the theme to change with progression from the start.Custom Selector
Use this when you want fully custom logic for choosing a mesh set.
In the current setup, focus on SelectionPolicy, not SelectionMethod.
SelectionMethod is kept only for legacy asset compatibility.
What each FDungeonMeshSet decides
Each FDungeonMeshSet contains arrays and selection policies such as:
Floor PartsWall PartsRoof PartsSlope PartsCatwalk PartsChandelier Parts
Chandeliers are managed inside each mesh set, not at the database-wide level.
If you want different levels of luxury by progression depth, splitting mesh sets is usually easier to manage.
Configuring chandeliers
Chandeliers are not a shared setting of UDungeonMeshSetDatabase. They are decoration settings on each FDungeonMeshSet.
Steps
- Open
UDungeonMeshSetDatabase. - Select the target
Mesh Set. - Add
FDungeonRandomActorPartsentries toChandelier Parts. - Adjust the following settings if needed:
ChandelierPartsSelectionPolicyChandelierMinSpacingChandelierMinCeilingHeightChandelierRadiusChandelierWallWeightChandelierCombatWeight
What the main chandelier settings mean
Chandelier Parts
Candidate chandeliers that can actually be placed. ConfigureActorClassand spawn behavior inFDungeonRandomActorParts.ChandelierPartsSelectionPolicy
Decides which chandelier candidate is picked when multiple entries exist.ChandelierMinSpacing
Minimum spacing between chandeliers. Increase it if they appear too dense.ChandelierMinCeilingHeight
Minimum required ceiling height. This matters when you want to avoid collisions in low-ceiling themes.ChandelierRadius
Collision-check radius during placement. Larger decorations usually need a larger value.ChandelierWallWeight/ChandelierCombatWeight
Control how strongly candidates farther from walls or closer to combat-center-like positions are preferred.
Practical tips
- In low-ceiling themes, increase
ChandelierMinCeilingHeightto reduce collisions. - If deeper floors should look more luxurious, create a separate mesh set that includes chandeliers.
- If room visuals and aisle visuals should differ, separate them by mesh set rather than trying to solve it at database level.
Editing tips
- Managing room and aisle databases separately makes visual tuning much easier.
- Start with a single
Mesh Setand add only the minimum parts first. Add additional sets only after that base set works. Verifycatches cases where there is no floor, wall, or roof mesh at all.- If you use
Custom Selector, keep the logic lightweight and deterministic.
Read Next
- FDungeonMeshParts.en.md
Review the per-mesh entry settings in detail. - CustomSelector.en.md
Review how to replace selection rules with custom selectors.