Skip to main content
Version: 3.5

Procedural Dungeon API

Classes

TypeNameCategoryExposed AsDescription
C++Deterministic Random ComponentProceduralDungeonBlueprint Base Class
Variable Type
A simple component that adds a RandomStream to any actor placed in a room level.
It will uses the actor's guid (provided by a IRoomActorGuid interface) and the owning room's ID
to generate an initial seed unique for this actor but deterministic with the dungeon's seed.
C++DoorProceduralBlueprint Base Class
Variable Type
Base class for all door actors in the dungeon.
Use this class even if you want to create a wall to place instead of a door (when the door is not connected to another room for example).
C++Door TypeVariable TypeData asset to define a door type.
A door type is used to define the size, offset, and color of a door bounds.
Doors with different types are not compatible with each others.
C++Dungeon Blueprint Library
C++Dungeon GeneratorProceduralBlueprint Base Class
Variable Type
This is the main actor of the plugin. The dungeon generator is responsible to generate dungeons and replicate them over the network.
C++Dungeon Generator BaseProceduralVariable TypeThis is the main actor of the plugin. The dungeon generator is responsible to generate dungeons and replicate them over the network.
This base class is abstract. You need to override the CreateDungeon function to write your own generation algorithm.
C++Dungeon GraphVariable TypeHolds the generated dungeon.
You can access the rooms using many functions.
C++Dungeon Save InterfaceBlueprint Base Class
Variable Type
Give access to some serialization events to actors saved within a dungeon.
C++Procedural Dungeon SettingsHolds the plugin's settings.
C++Read Only RoomAllow access to only some members of Room instances during the generation process.
C++Replicable ObjectBase class for sub-objects that can be replicated.
This class is not blueprintable and should not be used directly in blueprints.
C++RoomVariable TypeThe room instances of the dungeon.
C++Room Actor GuidBlueprint Base Class
Variable Type
Interface to access a custom Guid for actors saved within a dungeon.
C++Room Custom DataBlueprint Base Class
Variable Type
Base class for user custom data embedded in room instances
C++Room DataBlueprint Base Class
Variable Type
Static data shared by multiple room instances.
This data is used to define the room's properties and the room level to spawn.
C++Room LevelProceduralBlueprint Base Class
Variable Type
Level script actor for a room instance.
This class is used to manage the room instance and its bounds.
C++Room Observer ComponentProceduralDungeonVariable TypeRoom Observer that auto-(un)bind itself when it enters/exits a dungeon room.
Could observe (be bound) multiple rooms at once if the actor overlaps multiple room.
This component does track its own Room, thus the actor can move between rooms (use StaticRoomObserverComponent instead if this behavior is not needed).
C++Room VisibilityProceduralDungeonVariable TypeActor component to manage the visibility of an actor in the dungeon.
Use this one if the actor is able to move room.
If the actor remains in the same room, use UStaticRoomVisibilityComponent instead.
C++Room Visibility (Static)ProceduralDungeonVariable TypeComponent to manage the visibility of an actor in the dungeon.
Use this one if the actor remains in the same room.
If the actor is able to move room, use URoomVisibilityComponent instead.
C++Room VisitorBlueprint Base Class
Variable Type
Interface which adds events to an actor (or a component) when the actor enters/exits a dungeon room.
C++Simple Guid ComponentProceduralDungeonBlueprint Base Class
Variable Type
A simple guid component that will retrieve the Editor's ActorGuid
to save/load it in packaged games.

:::warning

This component will work only on placed actor, not actors spawned during runtime!!!

:::
C++Static Room Observer ComponentProceduralDungeonVariable TypeRoom Observer that auto-(un)bind itself at BeginPlay and EndPlay.
This component will bind to the level it belongs to. So it needs to be placed directly in the Room map.
This component does not track its own Room, thus the actor should not move between rooms (use RoomObserverComponent instead).
C++Trigger DoorBlueprint Base Class
Variable Type
Door that opens when an actor enters the trigger box.
You can customize which actors can open the door by overriding the IsValidActor function.
C++Trigger TypeCustomVariable TypeTrigger box that manages detection of actors entering and exiting the trigger.
Can execute gameplay logic at regular intervals, with an optional delay before activation.
You can customize the actor type that can activate the trigger by setting the ActorType property.

Structs

TypeNameExposed AsDescription
C++Bounds ParamsVariable TypeHolds the settings for the dungeon limits.
C++Door DefVariable TypeStructure that defines a door.
A door is defined by its position, its direction, and its type.
C++Dungeon Save DataVariable TypeHolds the data for saving a dungeon state

Enums

TypeNameExposed AsDescription
C++Door DirectionVariable TypeThe different directions a door can face.
C++Generation TypeVariable TypeThe different types of generation algorithms.
C++Room VisibilityVariable TypeVisibility mode for Room Visibilty Components.
C++Seed TypeVariable TypeThe different types of seed update at each generation.