-
-
Notifications
You must be signed in to change notification settings - Fork 23
UDungeonMeshSetDatabase en
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.
- 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".
- 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.
-
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.
-
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.
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.
Chandeliers are not a shared setting of UDungeonMeshSetDatabase. They are decoration settings on each FDungeonMeshSet.
- Open
UDungeonMeshSetDatabase. - Select the target
Mesh Set. - Add
FDungeonRandomActorPartsentries toChandelier Parts. - Adjust the following settings if needed:
ChandelierPartsSelectionPolicyChandelierMinSpacingChandelierMinCeilingHeightChandelierRadiusChandelierWallWeightChandelierCombatWeight
-
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.
- 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.
- 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.
-
FDungeonMeshParts.en.md
Review the per-mesh entry settings in detail. -
CustomSelector.en.md
Review how to replace selection rules with custom selectors.
- Quick Start
- Prepare Mesh Parts
- ADungeonGenerateActor
- ADungeonSubLevelScriptActor
- ADungeonRoomSensorBase
- UDungeonGenerateParameter
- UDungeonMeshSetDatabase
- UDungeonInteriorDatabase
- UDungeonSubLevelDatabase
- UDungeonRoomSensorDatabase
- Generate Minimap Textures
- Apply MissionGraph
- Custom Selector Guide
- Lobby Connection Guide