Workflow Routes
Track 1: JSON Content Mod
Use this when:
- the task is an existing Blueprint value change
- the mod should stay content-only
- no new model or UI is required
Main flow:
- Start from
Empty. - Patch only the keys you need.
- Keep the original Blueprint path.
- Restart the game and verify the change.
Track 2: JSON Adjustment Pack
Use this when:
- many Blueprint patches belong together
- the mod should stay data-driven
- a repeatable generation flow would help
Main flow:
- Start from
Empty. - Gather the target Blueprint paths up front.
- Generate or organize the patches coherently.
- Verify every output path before shipping.
Track 3: New Building Asset
Use this when:
- the user wants a new placeable building
.timbermesh, icon, localization, orTemplateCollectionare involved
New Building Asset Flow
Use this diagram when you want the full Route A versus Route B split in one glance before editing files.

Source files:
- View SVG
- draw.io source
- The canonical diagram exports live under
assets/, and the docs-site copies indocs/public/are synced withnode scripts/sync_docs_diagram_assets.mjs.
Route A: Built-in Timberborn Materials
Use Route A when:
- Timberborn-style materials are acceptable
- the mesh can look correct without custom textures
- the project should avoid Unity unless necessary
Main flow:
- Start from
Example building. - Export
.timbermeshfrom Blender CLI. - Wire the building Blueprint.
- Register the building in
TemplateCollection. - Test placement in game.
Route B: Custom Textures with AssetBundles
Use Route B when:
- the source
GLBis texture-baked - the original look matters
- Route A already produced broken or noisy visuals
Main flow:
- Export
.timbermeshand extract the texture from Blender CLI. - Create a Unity
Material. - Place bundle assets under
AssetBundles/Resources/.... - Add
MaterialCollection. - Build the bundle with Unity CLI.
- Fully restart Timberborn and retest.
Track 4: C# DLL or UI Mod
Use this when:
- the user wants an in-game settings panel
- JSON should be generated from UI
- code-driven behavior is required
Main flow:
- Inspect the existing project and references.
- Add the needed starter, services, and UI layers.
- Decide whether the mod writes JSON for next launch, changes behavior live, or both.
- Build and verify the DLL load path.
Track 5: BepInEx or Harmony Runtime Patch
Use this when:
- the value or behavior is not exposed in Blueprint or normal mod APIs
- the request targets hidden or runtime-only logic
Main flow:
- Prove that Blueprint and normal code-mod APIs are insufficient.
- Inspect the target game type or method carefully.
- Patch only the smallest necessary surface.
- Document the higher verification burden.
Key Guardrails
- Start from
Emptyfor JSON work andExample buildingfor new structures. - Do not assume
.timbermeshpreserves the original texture look by itself. - Keep
.matand.pngbasenames distinct. - Prefer lower-case normalized keys in
MaterialCollection. - If a value is not visible in Blueprint, be ready to move to C# or BepInEx.
- Restart Timberborn after material-side, JSON, or DLL changes.