Releases: BenPyton/ProceduralDungeon
Procedural Dungeon v3.4.1
Pre-built for Unreal Engine 4.27, 5.1, 5.2, 5.3, 5.4 and 5.5. (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?
- Ported to UE 5.5
Support me!
If you like my plugin, please consider tipping:
Procedural Dungeon v3.4.0
Pre-built for Unreal Engine 4.27, 5.1, 5.2, 5.3 and 5.4. (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 a room count limit in plugin settings to prevent some infinite loops during the dungeon generation.
- Added various utility functions:
Get Connected Room Index
,Get Doors With
andGet Room ID
inRoom
class.Get Path Between
andNumberOfRoomBetween
inDungeon Graph
class (variableRooms
in the dungeon generator).Get Owning Room
andGet Owning Room Custom Data
in a blueprint library (accessible from any actor/component placed in room levels).Get Compatible Doors
,Has Door of Type
,Has Custom Data
,Get Size
andGet Volume
inDoor Data
class.
- Added
Level Component
field inRoom Custom Data
to allow attaching a component automatically on theRoom Level
blueprint script. - Added a
Force Visibility
node inRoom
class to force the visibility even when the player is not in it (useful for e.g. cutscenes). - Added
Get Visibility Pawn
overridable function in theDungeon Generator
class to customize which pawn is used for the room visibility (useful for e.g. spectating another player). - Splitted the
Dungeon Generator
into aDungeon Generator Base
class, allowing to create custom generation algorithms (only C++ as of now). - Added a
Read Only Room
interface to allow access to some variables during the generation process.- Added an input
Current Room Instance
of typeRead Only Room
inChoose Next Room
. - Added an input
Room Instance
of typeRead Only Room
inOn Room Added
.
- Added an input
- Added a node
Discard Room
to explicitly tell we don't want to place a room inChoose Next Room
(prevent error when returning null) - Added
Auto Discard Room If Null
variable inDungeon Generator
Fixes:
- Fixed player's components triggering room visibility even when ignoring the
Room Object Type
.
Support me!
If you like my plugin, please consider tipping:
Procedural Dungeon v3.3.1
Pre-built for Unreal Engine 4.27, 5.1, 5.2, 5.3 and 5.4. (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 random crash on clients when unloading the dungeon.
- Fixed dungeon generator's begin initialization state triggered twice (missing break).
- Added back error logs on screen even when on screen debug is disabled in plugin.
- Now support push based replication and registered subobject lists (now compatible with Lyra example project + maybe compatible with Iris network subsystem).
- Fixed Door Tool in the Dungeon Room editor mode, to allow door removal and prevent door overlap when Room Unit is smaller than Door Size.
- Fixed debug cross of locked rooms not properly rotated when the room is rotated.
Support me!
If you like my plugin, please consider tipping:
Procedural Dungeon v3.3.0
Pre-built for Unreal Engine 4.27, 5.1, 5.2, 5.3 and 5.4. (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 a blueprint node to select a random room with weights (non-uniform random).
- Added dungeon limits for room placement. If set, rooms will not be placed outside of the limits.
- Added a
Static Room Visibility
component with reduced computation over the non-static one (used for directly placed actors in room levels that will never go out of it at runtime). - A tag
Ignore Room Culling
can be added to directly placed actors in room levels so they will be ignored by the room level automatic occlusion (before, only replicated actors were ignored). You can use a(Static) Room Visibility
component to manage their visibility like you want instead. - Added a
Get Progress
function inDungeon Generator
class to keep track of generation progress and make progress bars easily. - Added an
On Fail To Add Room
event, called after exhausted all tries of placing a room without success. - Added a
Cleanup Room
function inRoom Data
class as a counterpart of theInitialize Room
one. - Can now tweak the max generation tries and max room placement tries in the plugin's settings.
- Added accessor to generator's
Rooms
variable in C++ outside of child classes. - The door debug box (blue) will now turn orange if multiple doors are on the same place.
- Now the
RoomData
's level will be automatically filled if empty when the data is selected in the Dungeon Room Editor mode.
Fixes:
- Crash when running in new PIE window in 'Play as Client' when a DungeonGenerator actor is in the launched level.
- Fixed missing call to
On Room Added
event for the first room. - Fixed
RootComponent
of door actors to be able to edit them in editor. - Fixed door actors so that they always spawn, regardless of the actor's parameter.
Support me!
If you like my plugin, please consider tipping:
Procedural Dungeon v3.2.2
Pre-built for Unreal Engine 4.27, 5.0, 5.1, 5.2, 5.3 and 5.4. (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?
(includes changes from the failed v3.2.1 build)
Fixes:
- Fixed warning
TriggerType
name conflicting with theEnhanced Input
system. - Fixed warning
AddReferencedObject
for UE 5.3 and newer. - Fixed compilation error due to un-initialized
FMargin3D
members. - Ported plugin to UE 5.4
Support me!
If you like my plugin, please consider tipping:
Procedural Dungeon v3.2.0
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
andOcclusion Distance
values. - Added a
Flipped
output inChoose Door
function to choose which room the door is facing. - Added
On Actor Enter Room
andOn Actor Exit Room
delegates in theRoom 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 connectedRoom
instances. - Added room bounds center and extent blueprint accessors in
Room
instances andRoom Level
. - Added
Can Loop
boolean inDungeon 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 theDoor
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 theDungeon Generator
actor instead.
Support me!
If you like my plugin, please consider tipping:
Procedural Dungeon v3.1.2
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:
Procedural Dungeon v3.1.1
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:
Procedural Dungeon v3.1.0
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 theDungeon Generator
actor. - Added
Door Index
output inChoose 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 theLevelStreamingDynamic
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 newRoom Visitor
interface (should be transparent for plugin's users).
Procedural Dungeon v3.0.1
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)