An example project for UE5 is available here (you can change easily the engine version with a right click on the .uproject file).
Make sure to install the plugin in your engine or in the example project to be able to open the example!
If you have any bug or crash, feel free to open an issue in the Github repo.
If you have suggestions, questions or need help to use the plugin you can join the Discord server dedicated to this plugin.
⚙️ Installation
To install it, follow the instructions in the wiki page.
Available below are pre-built open-source version for Unreal Engine 4.27, 5.3, 5.4, 5.5, 5.6 and 5.7.
WINDOWS ONLY you'll need to compile it yourself for MacOS and Linux, or get the Fab release instead
This plugin is also available on Fab if you prefer the plugin under the Fab Standard License!
📋 What's changed?
✨ Added
- Added a
Get Level Room Datanode accessible from actors, even during their construction script, allowing the actor to setup itself when placed in the room. - Added a new Data Asset called
Dungeon Settingsto allow overriding theRoom Unitin theDungeon Generatorclass. - Added a compatibility list in
Door Typeassets, so different door types may be compatible - Added
Try Place Room At Locationfor custom dungeon algorithms to place a room without using aDoor Defstructure. - Added a relevancy system for the rooms (independent from the room visibilities).
- You can set a distance from which a room is considered relevant to the player.
- A relevant room has a value to tell how close the player is to the room (the lower, the closest) with 0 the room where the player is in.
- Some new nodes in the
Roominstances are available to access this relevancy level, and an event dispatcher to be notified when this relevancy changes.
- Added room constraints:
- New base class
RoomConstraintto create your own constraints. - Added built-in location and direction constraints.
- Added new node
Does Pass All Constraintsto check whether aRoom Datapasses all its constraints.
- New base class
- Added new node
Get Random Room Candidateto ease the selection of aRoomCandidatestruct, optionally using their scores as weights.
✏️ Changed
- Replaced the hotfix for Steam multiplayer with a proper fix (this impact the saved dungeon, making it not compatible with previous plugin versions)
- Now the generation algorithm can be asynchronous:
- Updated the
Dungeon Generator Baseclass to allow spreading theCreate Dungeonwork on multiple frames. - Added a
Yield Generationnode to tell the generator to call theCreate Dungeonagain the next frame (must be used in theCreate Dungeonfunction only). - Updated the
Create Dungeonfunction inDungeon Generatorto limit number of room generated per frame (can be set withRoom Batch Sizein the actor's details).
- Updated the
- Room Visibility system now handles properly local multiplayer (splitscreens)
- The
Get Visibility Pawnoverridable function now takes aPlayer Controlleras input.
- The
Filter and Sort Roomsnow checks if a room candidate passes all its constraints to include it in the output candidates.
🛠️ Fixed
- Fixed room visibilities to be updated properly when toggling or changing occlusion distance.
💖 Support me!
If you like my plugin, please consider tipping: