Procedural Dungeon API
Classes
Type | Name | Category | Exposed As | Description |
---|---|---|---|---|
C++ | Deterministic Random Component | ProceduralDungeon | Blueprint 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++ | Door | Procedural | Blueprint 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 Type | Variable Type | Data 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 Generator | Procedural | Blueprint 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 Base | Procedural | Variable Type | This 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 Graph | Variable Type | Holds the generated dungeon. You can access the rooms using many functions. | |
C++ | Dungeon Save Interface | Blueprint Base Class Variable Type | Give access to some serialization events to actors saved within a dungeon. | |
C++ | Procedural Dungeon Settings | Holds the plugin's settings. | ||
C++ | Read Only Room | Allow access to only some members of Room instances during the generation process. | ||
C++ | Replicable Object | Base class for sub-objects that can be replicated. This class is not blueprintable and should not be used directly in blueprints. | ||
C++ | Room | Variable Type | The room instances of the dungeon. | |
C++ | Room Actor Guid | Blueprint Base Class Variable Type | Interface to access a custom Guid for actors saved within a dungeon. | |
C++ | Room Custom Data | Blueprint Base Class Variable Type | Base class for user custom data embedded in room instances | |
C++ | Room Data | Blueprint 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 Level | Procedural | Blueprint 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 Component | ProceduralDungeon | Variable Type | Room 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 Visibility | ProceduralDungeon | Variable Type | Actor 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) | ProceduralDungeon | Variable Type | Component 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 Visitor | Blueprint 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 Component | ProceduralDungeon | Blueprint 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 Component | ProceduralDungeon | Variable Type | Room 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 Door | Blueprint 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 Type | Custom | Variable Type | Trigger 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
Type | Name | Exposed As | Description |
---|---|---|---|
C++ | Bounds Params | Variable Type | Holds the settings for the dungeon limits. |
C++ | Door Def | Variable Type | Structure that defines a door. A door is defined by its position, its direction, and its type. |
C++ | Dungeon Save Data | Variable Type | Holds the data for saving a dungeon state |
Enums
Type | Name | Exposed As | Description |
---|---|---|---|
C++ | Door Direction | Variable Type | The different directions a door can face. |
C++ | Generation Type | Variable Type | The different types of generation algorithms. |
C++ | Room Visibility | Variable Type | Visibility mode for Room Visibilty Components. |
C++ | Seed Type | Variable Type | The different types of seed update at each generation. |