AutogenRundown
Rundown generation mod for GTFO. New rundowns generated daily, weekly, monthly, and each season.
| Last updated | 5 days ago |
| Total downloads | 19629 |
| Total rating | 9 |
| Categories | Rundowns Rundown Mods |
| Dependency string | the_tavern-AutogenRundown-0.83.6 |
| Dependants | 0 other packages depend on this package |
This mod requires the following mods to function
BepInEx-BepInExPack_GTFO
BepInEx pack for GTFO. Preconfigured and includes Unity Base DLLs.
Preferred version: 3.2.2Amorously-ExcellentObjectiveSetup
A fork of Inas07's ExtraObjectiveSetup (EOS)
Preferred version: 1.0.0Dinorush-ItemSpawnFix
[Required by All] Fixes items and resources failing to spawn.
Preferred version: 1.2.3TheDoggyDoge-DogsTilePack
Custom tiles from RundownX modified to work normally, and other tiles I have made
Preferred version: 1.3.0donan3967-donan3967_geo_pack_2
Another pack of custom tiles for your rundowns
Preferred version: 1.3.2ProjectZaero-ZaeroGeos
A pack of geomorphs for custom tilesets. Currently contains 7 tiles + 2 variants.
Preferred version: 0.6.0Red_Leicester_Cheese-CheeseGeos
Containing 11 custom geos and 3 modified geos (Lab rework done)
Preferred version: 0.5.5hirnukuono-AdvancedWardenObjective
A modern fork of Flowaria's AdvancedWardenObjective (AWO). Now with 50+ warden events!
Preferred version: 2.5.1hirnukuono-EEC_H
A modern fork of Flowaria's ExtraEnemyCustomization (EEC), with a few fixes, tweaks, and additions
Preferred version: 1.8.24README
Autogen Rundown 🎲
Automatic Rundown generation, using procedural seed based generation. Four active rundowns to choose from: the daily, weekly, monthly, and each season. Play with friends with zero configuration of seeds.
Track your progression in each rundown separately from the base game and other modded rundowns, see if you can clear them "Unaugmented"! (Without boosters)

Levels and rundowns are designed to be similar and in the spirit of vanilla GTFO. The largest difference is in the addition of new tilesets (geomorphs) to add more variety to the existing games set of tiles.
Peer mod support
AutogenRundown supports the following 3rd party peer mods. You can install them along side AutogenRundown and play with modified weapons etc in the random rundowns.
Customizing Autogen Datablocks
You can override any generated datablock or custom JSON file by placing partial files in the GameData-Custom folder in the BepInEx folder for your mod profile. Your changes are merged deeply into the generated datablocks. You only need to specify the properties you want to change. Everything else is preserved.
Custom overrides are applied last, after all rundown generation and copied peer mod configuration files.
Setup
Create the folder:
BepInEx/GameData-Custom/
This folder mirrors the structure of BepInEx/GameData/{revision}/. Place your override files using the same relative paths. For example:
BepInEx/
GameData-Custom/
GameData_EnemyBalancingDataBlock_bin.json
GameData_FogSettingsDataBlock_bin.json
Custom/
ExtraEnemyCustomization/
Property.json
Modifying Datablocks (persistentID matching)
Datablock files (GameData_*DataBlock_bin.json) contain a Blocks array where each block has a persistentID. Your override file only needs the blocks you want to change, with only the properties you want to modify.
Example: Make Strikers have 999 health and add a custom enemy:
// GameData-Custom/GameData_EnemyBalancingDataBlock_bin.json
{
"Blocks": [
{ "persistentID": 13, "Health": { "HealthMax": 999 } },
{
"persistentID": 50000,
"name": "Custom",
"internalEnabled": true,
"Health": { "HealthMax": 100 }
}
]
}
- Block 13 (Striker): Only
HealthMaxis changed. All other Striker properties (armor, name, etc.) are preserved. - Block 50000: New block, appended to the array since no existing block has this ID.
LastPersistentIDis automatically recalculated.
Modifying Arrays by Index (__index)
For JSON files where array elements don't have a persistentID (such as files in Custom/), you can target specific array positions using __index. The __index property is stripped from the final output.
Example: Increase Mega-Mother children spawns to 50 max and 20 min in ExtraEnemyCustomization:
// GameData-Custom/Custom/ExtraEnemyCustomization/Ability.json
{
"BirthingCustom": [
{ "__index": 0, "ChildrenPerBirthMin": 20, "ChildrenMax": 50 }
]
}
This merges into the object at position 0 of the BirthingCustom array, changing ChildrenPerBirthMin and ChildrenMax while preserving all other properties at that index.
Appending to Arrays (__existing)
To add items to an array while keeping the original contents, use the "__existing" string marker. It expands to the full original array at that position. Items before it are prepended, items after are appended.
Example: Append a new enemy to an existing list:
{
"enemies": ["__existing", { "name": "CustomBoss", "hp": 500 }]
}
Example: Prepend and append:
{
"enemies": [{ "name": "First" }, "__existing", { "name": "Last" }]
}
If "__existing" is omitted, the array is replaced entirely (see below).
Replacing Arrays
If your override array contains elements without persistentID, __index, or __existing, the entire target array is replaced.
{
"tags": ["new_tag_a", "new_tag_b"]
}
Non-JSON Files
Non-JSON files (images, icons, etc.) are copied directly into the target directory, overwriting any existing file. New files with no matching target are also copied as-is.
Merge Rules Summary
| Scenario | Behavior |
|---|---|
| Object property exists in both | Deep-merged recursively |
| Object property only in override | Added |
| Object property only in generated | Preserved |
Array elements have persistentID |
Matched by ID, deep-merged; new IDs appended |
Array elements have __index |
Merged at specified position; __index stripped |
Array contains __existing marker |
Original items placed at marker; new items around |
| Array elements have neither | Entire array replaced |
| Scalar values | Override replaces generated |
| JSON file with no existing target | Copied as new file |
| Non-JSON file | Copied with overwrite |
See Github for more details.