Procedural Dungeon Architect View on Asset Store (opens in new tab)

Package details

Latest version
1.0.1
Last updated
First released
Unity version
6000.3.10 or later
Package size
73.4 MB
Files
80
Favorites
14
Views in the past week
9

Price tracking

Last checked
Tracked since
Lowest recorded
$15.00 on

Keywords

Procedural Dungeon Architect

by Thorny (opens in new tab)

No ratings yet

Procedural Dungeon Architect is a runtime dungeon generation system for Unity. It generate interconnected rooms using door-based placement, while enforcing advanced constraints

Price $30.00

Buy on Asset Store (opens in new tab)

Affiliate link · Purchases support this site

Price history

Last 6 months

USD
Price history for Procedural Dungeon Architect, 6 months Current $30.00; lowest $30.00; highest $30.00 in this period. $0 $25 $50 Jun Jul Aug Sep Oct Nov Version 1.0.1 released 19 May 2026 v1.0.1

Asset preview

1 / 14

Procedural Dungeon Architect screenshot 1

Procedural Dungeon Architect screenshot 1

About this asset

Procedural Dungeon Architect is a runtime dungeon generation system for Unity.
It allows you to dynamically generate interconnected rooms using door-based placement, while enforcing advanced constraints such as:

  • Room count limits
  • Distance constraints from reference objects
  • Neighbor compatibility rules
  • Controlled object spawning per room and per spawn point
  • Runtime NavMesh generation (fully compatible with builds)

The asset is designed to be:

  • Deterministic enough to control gameplay structure
  • Flexible enough to support roguelikes, dungeons, modular levels
  • Safe for runtime usage (timeouts, safeguards, no editor-only APIs)

It works entirely at runtime and does not require baked geometry or precomputed NavMeshes.

From the publisher's Asset Store listing.

Technical details

1. DungeonGenerator Setup

Add DungeonGenerator to an empty GameObject in your scene.

Main parameters:

  • Min Rooms / Max Rooms
    Target range for total room count.
  • Max Generation Time
    Safety limit (in seconds) to prevent infinite loops.
    The generator will abort and log a warning if exceeded.
  • Max Candidate Tries Per Door
    Limits how many attempts are made per door before it is closed.
  • Max Rescan Passes
    Secondary passes to try reaching the target room count.
  • Room prefab List
    List of the rooms that will be procedurally placed.

2. Room Prefabs

Each room prefab must:

  • Contain at least one Closded Door child object with the name tag “Door”.
  • Optionally contain ObjectSpawner child objects with the name tag “ObjectSpawner”.
  • Have a RoomConfig script component
  • Have one or more box colliders (Not marked as Trigger) to define the volume occupied by the room. Those colliders will be used by the script during generation to avoid overlapping and then be deleted. However, you must leave the closed doors outside of those box colliders to allow rooms to be linked. (Allows Physics.ComputePenetration to detect invalid placements)

3. RoomConfig

RoomConfig defines the behavior of a room prefab.

Key options:

Room Placement Rules

  • Allowed Neighbors
    Restrict which room prefabs can be attached to this room. It should help to keep a coherent room organization and a believable dungeon.
  • Max Instances
    This set the number of times this room will appear in the dungeon.

Distance Constraints

  • Use Distance Constraint
  • Reference Object
  • Min Distance / Max Distance

Allow to set a distance min and max for the spawning of a room in a level. It asks for a reference object where you have to feed a prefab object. It can be useful for special rooms such as:

  • Boss rooms
  • Treasure rooms
  • Exit rooms

Distance is measured from the room pivot to the reference object pivot. So, you can force distances between the start and the end of the dungeon for example.

4. Doors – Critical Setup

Doors are central to correct generation.

Door Requirements

  • Must be tagged Door
  • Must be a child of the room prefab
  • Must be a closed door that the generator will try to open.
  • Pivot must be perfectly centered
  • Forward direction must point outward

⚠️ Important
Room alignment is computed using door forward vectors.
If the pivot is offset or rotated incorrectly:

  • Rooms will misalign
  • Doors will not connect correctly

5. Object Spawning System (RoomSpawnPoint)

Each spawn location uses the RoomSpawnPoint component.

This allows:

  • Per-spawn-point object selection
  • Weighted probabilities
  • Full control over what can spawn where

Workflow

  1. Add a child object to the room prefab
  2. Tag it ObjectSpawner
  3. Add RoomSpawnPoint component
  4. Define spawnable objects and weights

This replaces global spawn lists and enables for example:

  • Furniture-only spawns in corners
  • Enemies only in combat zones
  • Props only near walls, etc.

6. NavMesh Generation (Runtime & Build-Safe)

The generator can rebuild a NavMesh at runtime, including in builds.

Features:

  • Uses Physics Colliders (not meshes)
  • Works with procedurally spawned cubes and geometry
  • No Read/Write mesh requirement

Key options:

  • NavMesh Bounds Size (Create a square area with world (0;0;0) at its center where the NavMesh will be initialized)
  • Layer Mask selection
  • Runtime Gizmo visualization

A debug NavMesh mesh can be displayed during play mode.

Compatibility

Render pipelines supported in each Unity version
Unity version Built-in URP HDRP
6000.3.10f1 Compatible Compatible Compatible

To use the demo scene, you will have to import the free Cinemachine asset version 2.10.5 (not higher).

And I built the scene in URP so for HDRP and Built-in version, you will have to update the few materials of the scene.

As listed on the Asset Store.