Level Config¶
Each level is associated with an optional Config.json
file. These files were originally added to make it easy to provide extra information about the level on the main menus, but grew over time to include gameplay parameters as well. In the future some of these might be moved to a more appropriate file like a level asset.
Main Menus¶
Creators string[]: Names in credits.
Collaborators string[]: Names in credits.
Thanks string[]: Names in credits.
Associated_Stockpile_Items int[]: Economy itemdefids to feature on map screens. One is chosen at random each time the map is shown. Used by curated maps to link their items which have payment splits.
Feedback string: URL to discussions. If not explicitly set, defaults to the workshop item's discussions page.
Visible_In_Matchmaking bool: Should this map be listed in the matchmaking menu? Used to filter out test and demo maps.
Version string: X.Y.Z.W style version number. Vanilla version numbers use 3.Year.Update.Patch, but that's optional. Servers will reject clients with different map versions.
Tips int: Number of Tip_# keys defined in level's localization files, if any. Overrides vanilla tip messages on the loading screen.
Arena Mode¶
Use_Arena_Compactor bool: Should circles be randomized periodically?
Arena_Loadouts: Array of items to grant when spawning into arena. Each entry has a Table_ID spawn table to generate from, and an Amount number of times to grant from spawn table. For example:
"Arena_Loadouts":
[
{
"Table_ID": 28007,
"Amount": 1
},
{
"Table_ID": 28008,
"Amount": 1
}
]
General¶
Asset: Object with GUID of a Level Asset to instantiate on this map. For example:
"Asset": { "GUID": "12dc9fdbe9974022afd21158ad54b76a" }
"Asset":
{
"GUID": "537278c5f6eb45198994ff2915d3107b"
}
Trains: Array of train vehicles to spawn. Only one of each train asset can exist at a given time because the vehicle ID is used to match saved trains to tracks. Road index can be seen by selecting a road in the level editor. Placement is normalized between the start and end of the track length. For example:
"Trains":
[
{
"VehicleID": 187,
"RoadIndex": 0,
"Min_Spawn_Placement": 0.1,
"Max_Spawn_Placement": 0.9
}
]
Mode_Config_Overrides: Pairs of server config properties and values to override them. For example:
"Mode_Config_Overrides":
{
"Zombies.Min_Drops": 5,
"Zombies.Max_Drops": 10,
"Vehicles.Armor_Multiplier": 0.1,
"Gameplay.Allow_Shoulder_Camera": false
}
Allow_Underwater_Features bool: Should legacy details and navigation bounds be restricted underwater?
Terrain_Snow_Sparkle bool: Should IS_SNOWING shader keyword be enabled?
Use_Legacy_Clip_Borders bool: Should invisible walls matching map size be created? Defaults to true.
Use_Vanilla_Bubbles bool: Should vanilla water bubble effects be enabled? Defaults to true.
Use_Legacy_Snow_Height bool: Should travelling vertically past snow height threshold enable snow effects? Defaults to true.
Use_Legacy_Oxygen_Height bool: Should travelling vertically past a certain point deplete oxygen? Defaults to true.
Use_Rain_Volumes bool: Should rain flag in ambiance volume be used?
Use_Snow_Volumes bool: Should snow flag in ambiance volume be used?
Use_Underground_Whitelist bool: Should underground players not inside a whitelist volume be teleported to the terrain surface? Useful to curb out-of-bounds exploits.
Is_Aurora_Borealis_Visible bool: Should aurora borealis effects be enabled?
Snow_Affects_Temperature bool: Should snow inflict cold damage?
Weather_Override ELevelWeatherOverride: Can be set to rain or snow to lock weather type.
Has_Atmosphere bool: If false, disable stars in skybox.
Should_Verify_Objects_Hash bool: Should server verify client level files match? Not recommended for maps with tons of required downloads because loading mismatch will break hash. Maps with one or two dependencies should be fine.
Can_Use_Bundles bool: Should assets in the map's Bundles directory be usable from the level editor? Was disabled for older curated maps to prevent breaking after transitioning to the workshop.
Has_Global_Electricity bool: Should all powerable items and objects have power by default?
Gravity float: Acceleration of gravity. Defaults to -9.81.
Blimp_Altitude float: Height override for blimp buoyancy. Defaults to 150.
Max_Walkable_Slope float: Steepest ground angle players can walk without sliding. Defaults to 59.
Prevent_Building_Near_Spawnpoint_Radius float: Closest distance players can build to spawn points. Useful to override for close-quarters maps. Defaults to 16.
Spawn_Loadouts Array of items to grant when spawning in any mode. Refer to Arena_Loadouts.
Allow_Holiday_Redirects bool: Whether certain assets like objects, trees and landscapes should load alternative versions during holiday events.
HUD¶
Disable various elements of the heads-up display.
PlayerUI_HealthVisible bool
PlayerUI_FoodVisible bool
PlayerUI_WaterVisible bool
PlayerUI_VirusVisible bool
PlayerUI_StaminaVisible bool
PlayerUI_OxygenVisible bool
PlayerUI_GunVisible bool
Allow_Crafting bool
Allow_Skills bool
Allow_Information bool
Deprecated¶
Category ESingleplayerMapCategory
: Mostly automated now. Can be set to Misc to explicitly show in the miscellaneous map category.
Load_From_Resources bool: Used in the past for curated maps with assets in the vanilla Resources/Bundles/* directory. Master Bundles completely replaced this.
Item int: Kept for backwards compatibility. Ignored if Associated_Stockpile_Items are set.
Has_Discord_Rich_Presence bool: Only valid for official maps. If discord integration is enabled and this flag is true discord will check for a map icon configured in their partner page.
Use_Legacy_Ground bool: Should default terrain be created? Alternative is to use devkit landscape tiles. Defaults to true.
Use_Legacy_Water bool: Should global water plane be enabled? Alternative is to use water volumes in devkit. Defaults to true.
Use_Legacy_Objects bool: Should objects be loaded from Objects.dat file? Using devkit objects is not as well supported, so safest to leave at true.
Use_Legacy_Fog_Height bool: Should default terrain height be used for fog falloff? If false, devkit landscape tile limits are used instead. Defaults to true.