ProceduralDungeon Versions Save

This is an Unreal Engine 4/5 plugin to generate procedural dungeon.

v3.2.0

1 month ago

Pre-built for Unreal Engine 4.27, 5.0, 5.1, 5.2 and 5.3. (WINDOWS ONLY) To install it, follow the instructions in the wiki page.

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.

What's changed?

New features:

  • Added console commands to temporarily tweak some plugin settings during runtime (even in packaged development game) and to generate/unload dungeons (see wiki).
  • Added blueprint nodes to access most of the plugin settings, or to change Occlusion Culling and Occlusion Distance values.
  • Added a Flipped output in Choose Door function to choose which room the door is facing.
  • Added On Actor Enter Room and On Actor Exit Room delegates in the Room Level blueprint.
  • Added Room Observer components that automatically binds on those new delegates (see wiki).
  • Added some functions to the Room instances to know if doors are connected or to get connected Room instances.
  • Added room bounds center and extent blueprint accessors in Room instances and Room Level.
  • Added Can Loop boolean in Dungeon Generator to be able to toggle it per-actor.
  • Added optional world meshes collision checks before placing a room during the generation process.
  • Added a plugin setting to change the room trigger collision type.
  • Added plugin settings to customize the door's debug arrow.
  • Added door deletion in Dungeon Room editor mode when right-clicking on an existing door with the Door tool.
  • Added utility buttons in the Dungeon Room editor mode to make selected box volumes fit in the room bounds, and to delete all invalid doors.
  • Added an optional camera rotation pivot at the center of the room (when Orbit Around Actor Selection is enabled in your Editor Preferences).

Fixes:

  • Fixed undo/redo in Dungeon Room editor mode.
  • Fixed the widget mode (translate, rotate, scale) while in the Dungeon Room editor mode to have a better actor modification while staying in this mode.
  • Fixed missing inlcudes in C++ causing sometimes compilation issues.

Deprecations:

  • Deprecated Can Loop in the plugin's settings. It will be removed in a future version. Leave it ticked and use the one in the Dungeon Generator actor instead.

Support me!

If you like my plugin, please consider tipping:

Ko-fi liberapay PayPal

v3.1.2

2 months ago

Pre-built for Unreal Engine 4.27, 5.0, 5.1, 5.2 and 5.3. (WINDOWS ONLY) To install it, follow the instructions in the wiki page.

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.

What's changed?

Fixes:

  • Fixed crash when compiling room level blueprint after exiting the room editor mode.
  • Fixed crash at runtime when the room data reference in the room level and the level reference in room data do not match.
  • Fixed debug drawings of rooms and doors not displayed in packaged development game.
  • Fixed room visibility not updated when occlusion culling settings are changed at runtime in packaged game.
  • Fixed compilation errors caused by missing includes that could happen sometimes when using unity build.

Support me!

If you like my plugin, please consider tipping:

Ko-fi liberapay PayPal

v3.1.1

2 months ago

Pre-built for Unreal Engine 4.27, 5.0, 5.1, 5.2 and 5.3. (WINDOWS ONLY) To install it, follow the instructions in the wiki page.

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.

What's changed?

Fixes:

  • Workaround for the occlusion of replicated actors placed directly in a room level.
    They are now ignored by the room level, so you can add the Room Visibility Component on them to manage their visibility with the rooms.
  • Fixed door actors wrong rotation (flipped on Y axis).
  • Fixed room visibilities not updated during PIE when toggling on/off the occlusion culling or changing the occlusion distance.
  • Clamp occlusion distance to 1 to get at least a visible room (the one the player is in).

Support me!

If you like my plugin, please consider tipping:

Ko-fi liberapay PayPal

v3.1.0

3 months ago

Pre-built for Unreal Engine 4.27, 5.0, 5.1, 5.2 and 5.3. (WINDOWS ONLY) To install it, follow the instructions in the wiki page.

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.

What's changed?

New features:

  • Added an Unload function in the Dungeon Generator actor.
  • Added Door Index output in Choose Next Room function (see wiki). [#39]
  • Added Room Visitor interface to create custom behaviors on actors and components when an actor enters/exits a room (see wiki).
  • Added door accessors from the room instances in blueprint.
  • Added accessor to the Dungeon Generator's random stream from room instances in blueprint.

Changes:

  • Replaced the custom ProceduralLevelStreaming class with the LevelStreamingDynamic using the custom instance name.
    This should be transparent for the plugin's users, but the level instances should now have recent Unreal Engine's modifications on them (>UE4.26).
  • Improved network performances with the use of Net Dormancy to notify the Unreal's network system only when there are changes in the dungeon or door state.
  • Updated the Room Visibility Component to use the new Room Visitor interface (should be transparent for plugin's users).

v3.0.1

6 months ago

WARNING: A lot of new features are still in beta, so feel free to report any issue you have!

DISCLAIMER: A lot of breaking changes have been made from the version 2.X.X, so I don't recommend to update to this version if your project is using extensively the version 2! (however you can try to if some new features are interesting, there are no difficult changes to do. Remember to backup before!)

Built for Unreal Engine 4.27, 5.0, 5.1, 5.2 and 5.3. To install it, follow the instructions in the wiki page.

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!

What's changed?

  • Fixed UE 5.3 compilation issues [#35]

(see changelog in version 3.0.0 below for all changes from the version 2 of the plugin)

v3.0.0

7 months ago

WARNING: A lot of new features are still in beta, so feel free to report any issue you have!

DISCLAIMER: A lot of breaking changes have been made from the version 2.X.X, so I don't recommend to update to this version if your project is using extensively the version 2! (however you can try to if some new features are interesting, there are no difficult changes to do. Remember to backup before!)

Built for Unreal Engine 4.27, 5.0, 5.1 and 5.2. To install it, follow the instructions in the wiki page.

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!

What's changed?

New features:

  • New editor mode to ease room creation (see the wiki). 🤩
  • New asset category to speed up data asset creation.
  • Added a door type system to allow various door sizes in the dungeon [#21] .
  • Added per room instance custom data (see the wiki).
  • Added an initialization step in the dungeon generator for the room instances to be initialized before IsValidDungeon being called.
  • Added a function to check if the player can reach one room from another (no locked room between them) [#25].
  • Added a Spectate blueprint node because it is not in the base unreal engine. 😠

Changes:

  • 💥 Moved room handling in a subclass of the DungeonGenerator, you can access most of the previous functions from the Rooms variable of the dungeon generator now (see the wiki).
  • ⚠️ Reworked the dungeon networking: it does no longer use an RPC to generate the dungeon on all clients. Now the server generates the dungeon and replicates all rooms to the clients. The dungeon now uses a state machine to handle the generation process, allowing late joining clients to load properly the dungeon. 🎉
  • Room bounds can now be in negative too.
  • Room's "origin" (magenta sphere) is no longer shown since not really useful and a little confusing (can be enabled via a plugin's setting).
  • New plugin icon. 😮

Fixes:

  • ⚠️ Fixed wrong seed value when the dungeon' seed is set to Auto Increment.
  • ⚠️ Fixed ContinueToAddRoom not called with each ChooseNextRoomData.

* Changes with symbol ⚠️ are modifying the dungeon generation, which could lead in different results if using same rules and seed as in v2. * Changes with symbol 💥 are modifying the code interface (blueprint or C++), which lead to compilation issues if updated from v2 and needs to be fixed in your project.

v2.1.2

1 year ago
  • Fixed occlusion culling system not disabled by the plugin's setting.
  • Fixed compilation issues (#26).
  • Fixed room triggers returned by "trace by channel" functions (#27).
  • Added an error message and the GenerationFailed event when the dungeon generator didn't generated a valid dungeon after exhausting all the retries (#29). Also now the dungeon will not spawn anymore in that case.

Built for Unreal Engine 4.25, 4.26, 4.27, 5.0, 5.1 and 5.2. To install it, follow the instructions in ReadMe.md.

An example project is available (made with 4.26 and 5.0, but engine version can be changed easily 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.

v2.1.1

1 year ago
  • Make doors replicating over network, and thus usable in multiplayer games
  • Added RoomData assets validation to notify users when something is not correctly setup (levels and doors)
  • Improved a little the TriggerDoor class with a native event to check which actors can trigger the door
  • Deprecated the OpenDoor and CloseDoor functions in favor to a unique Open(bool) function
  • Various fixes

Built for Unreal Engine 4.25, 4.26, 4.27, 5.0 and 5.1. To install it, follow the instructions in ReadMe.md.

An example project is available (made with 4.26 and 5.0, but engine version can be changed easily 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.

v2.1.0

1 year ago
  • Greatly improved occlusion culling performance (using Octree instead of box overlapping)
  • Added visibility distance to occlusion culling system for room visibility (read wiki for more info)
  • Added Dynamic actors occlusion culling (read wiki for more info)
  • Deprecated RoomLockerBase and exposed the locking state of rooms in room's level blueprints and door actors.
  • Improved debug drawings (draw a cross for not connected doors instead of arrows, draw current player's room in green instead of red)

Built for Unreal Engine 4.25, 4.26, 4.27, 5.0 and 5.1. To install it, follow the instructions in ReadMe.md.

An example project is available (made with 4.26 and 5.0, but engine version can be changed easily 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.

v2.0.2

1 year ago
  • Removed static streaming level id, allowing multiple DungeonGenerator actors generating at the same time.
  • Added a DungeonGenerator parameter to place the dungeon's rooms on the actor location and rotation (default disabled)
  • Fixed blue bounding box for doors showing the offset in the door blueprint preview.

Built for Unreal Engine 4.25, 4.26, 4.27 and 5.0. To install it, follow the instructions at the end of the ReadMe.md

An example project is available (made with 4.26, but engine version can be changed easily, there is also for UE 5.0). Make sure to install the plugin in your engine to be able to open the example.