Common Generation Problems

DISCLAIMER
The following features are only available in Mythic Dungeons 2.0 dev builds!!

The Mythic Dungeons generator is an incredibly complex system that allows a lot of extremely precise customization. As a result, it's pretty easy to create situations where your dungeon will fail to generate the way you want it to. Here's some possible situations you may encounter and how to troubleshoot them!

"My procedural dungeon keeps timing out!"

The generator will try to generate a valid layout as many times as it can within a time limit. If it runs out of time, it will fail and cancel the dungeon. This means your dungeon's failure rate is very high, and it is struggling to create a valid layout that meets your rules. Here are some things to check.

The following things contribute to the failure rate:

  • High min room counts - The more rooms are generated, the easier it is to collide with an existing room, thus running out of space. The generator will try to change directions if this happens, but if there are no available connections it will fail and try a new layout.
  • Large rooms - Large rooms takes up more space, making it easier for the generator to run out of space.
  • High min room occurrences - The layout is considered invalid if it doesn't generate enough of the configured room.

Room whitelists CAN contribute:

  • Whitelists are mutual. Room A allowing room B counts for nothing if B has its own whitelist that leaves A out, so a pair of one-sided lists can shrink the pool much further than you expect.
  • A room can never generate attached to another copy of itself unless the connector it attaches through whitelists it.
  • If a room has a minimum occurrence count and its whitelists make that impossible to satisfy, EVERY attempt fails.
  • Blacklists narrow the same pool and are applied after the whitelist.

The following things DO NOT (normally) contribute to the failure rate:

  • Max room occurrences - If a room has already reached its max, it's removed from the pool of rooms.
  • Min & max room depth - A room won't exist in the pool if the generator isn't at a valid depth.

Other possible causes:

  • Dungeons must have AT LEAST two possible rooms to generate!
  • If the spawn room can't connect to any valid rooms (such as because of room whitelists), the dungeon will timeout!

Last resort: Increasing the generator timeout
If your dungeon is STILL having trouble because it's particularly complex, you could try increasing the Generator Timeout in Mythic Dungeons' config.yml. This is a LAST RESORT, as your dungeon should not take more than 5 seconds to generate unless you've created an outrageously complicated dungeon. (I.e. 500+ rooms, large rooms, lots of rooms with high min occurrences, etc.)

"My room isn't generating!"

If a room is never appearing in your dungeon, here are a few possible causes...

Room depth paradox
Depth is how many rooms along the connector chain a room sits from the starting room, not how many rooms the dungeon has in total. Your room may be configured to only appear at a depth of 35+... but no chain in your dungeon ever gets 35 rooms long. A dungeon can have plenty of rooms and still be shallow, because a branch inherits the depth of the room it grows out of instead of continuing to count upwards. If the dungeon is failing outright, the console's failure report prints how many rooms the last attempt managed to place.
WARNING: If your room is ALSO set to have at least 1 min occurrence, the layout will FAIL in this situation!

No connectors
You may have just forgotten to add connectors to your room, preventing it from appearing. Oops!

Invalid max depth
Check your room's YAML file! If Config.Depth has a maximum of 0, the room can never be attached to another room. (It can still be the starting room if it has a spawn point.)

A maximum of 0 in Config.Occurrences does the opposite: it means unlimited. Use a range like 0-3 if you want a real cap.

Weight too low (or 0)
Your room is too unlikely to spawn, making it so rare it never appears. This is pretty unlikely, but worth checking!

It can't sit next to itself
By default a room can never generate directly attached to another copy of itself. If your dungeon is mostly one hallway piece, open the connector that should chain into it and add the room to that connector's Allowed Rooms list. Adding it to the room's own Allowed Rooms list does not do this.

The whitelist isn't mutual
Whitelisting room B on room A is not enough if B has its own whitelist that doesn't include A. Both sides have to agree.

It only has one connector
In BRANCHING layouts, rooms with a single connector are only placed at the end of a branch.

"The dungeon is too tall to generate!"

If the console reports "The generated dungeon is too tall to fit within the world's build height!", the layout's total vertical span, plus one block of surrounding block above and below, exceeded the world's build range. Reduce your room heights or the amount of vertical chaining between rooms. The generator already shifts finished layouts vertically to fit, so this only fires when nothing can fit at all.

Reading the generator's failure report

When a dungeon fails, the console prints a breakdown of every reason it hit, sorted by how often, plus the shape of the last attempt. The lines look like this (the numbers and room names are examples):

-- Could not find valid layout after 214 tries... --
 - 187x: required room 'boss' couldn't be placed enough times (needs 1)
 - 27x: trunk didn't reach its required size (12 rooms)
Last attempt: 9 rooms placed; missing: boss 0/1

Start from the most frequent reason. "required room X couldn't be placed enough times" almost always means that room's depth range, whitelist or connector set makes it impossible to place where it's needed.

Other failure messages

  • "This dungeon doesn't have enough rooms!" - a procedural dungeon needs at least two unique rooms.
  • "Room 'X' has no connectors! It won't generate!" - exactly what it says. Nothing can attach to that room, though it can still be chosen as the starting room.
  • "This dungeon doesn't have a configured 'TRUNK' branch!" - your generation.yml is missing BranchSettings.TRUNK, so the trunk falls back to defaults (min 8, max 16 rooms).
  • "Failed to generate layout." - the generator threw while picking a start room. The usual cause is that every room with a spawn point has a weight of 0 or a depth minimum above 0, which leaves no eligible start room.
Updated Aug 19, 2026