Guide

Troubleshooting

Most questions can be answered from the game log. Start there, then find your symptom below.

First: read the log

Search for [LateGamePerformance]. These are the messages that matter:

MessageMeaning
0.4.9 loading.The mod started. Normal.
HaulCache: enabled (13/13 patches). and similar for RouteMaps, YielderSearchA feature installed all its hooks. Normal.
Simulation features: HaulCache on, RouteMaps on, YielderSearch on.All three features that affect the simulation are running. Normal, and it should read the same for every player.
Simulation features: … OFF …A feature could not start. What to do.
… required patch '…' failed … Feature disabled; the game runs unmodified for this part.The reason a feature could not start. What to do.
… failed and turned itself off for this session: …A feature hit an unexpected error and switched itself off. Report it.
GC: incremental=True or FalseWhether memory clean-ups are spread out. If False.
Settings: '…' is ignored. It is no longer a setting…An old settings file has a key that no longer exists. Harmless.
Last 1000 ticks. Timing: …, HaulCache: …, RouteMaps: …, YielderSearch: …Stats lines. Normal. What they show.
Save: … ms total = …One line per save, with the time of each stage. Normal.

Find your symptom

The mod isn't in the Mods list
  • Wrong folder depth. The game needs Mods\LateGamePerformance\version-1.1\manifest.json. A doubled LateGamePerformance\LateGamePerformance folder is the usual mistake. See the folder layout.
  • Wrong Mods folder. It must be the folder your other mods are in, normally Documents\Timberborn\Mods.
  • Old game. The mod needs Timberborn 1.1.2.4 or newer.
  • Fully quit and restart the game after copying files.
It won't enable, or the game complains about a missing mod

Late Game Performance needs Harmony (2.4.1 or newer) and Mod Settings, both from the Steam Workshop. Subscribe to them, enable them in the Mods menu, and restart.

It's enabled, but there is no [LateGamePerformance] line in the log
  • Make sure you're reading the right session. The log is overwritten each launch, and the previous one is Player-prev.log.
  • Check the mod list near the top of the log. Late Game Performance should be listed. If it isn't, it wasn't enabled, or you didn't restart after enabling it.
  • If it's listed but the loading. line is missing, check the game didn't fail to load the mod's DLL further down the log, and report it with that log.
The game crashes while loading

Use the latest release. Version 0.4.3 is broken and crashes the game while loading; if that is what you have, replace it. If you are on 0.4.9 and it still crashes, report it with Player.log, and try the game once with only Harmony, Mod Settings and this mod enabled.

The startup line says a feature is OFF

A game method the feature needs was missing or different, most often after a game update, so the feature did not start and this computer runs the game's own code for that part. The lines just above the summary say which patch failed.

  • HaulCache or YielderSearch OFF: nothing is lost except the speed-up. Both give exactly the game's results, so one of them being off on one computer changes nothing about the simulation.
  • RouteMaps OFF on one computer: this is the case worth acting on in multiplayer. Check that every player is on the same game version and the same mod version, then compare everyone's startup line.
  • Either way, report it with the log, so it can be fixed for that game version.
A log line says a feature "failed and turned itself off for this session"

The feature hit an unexpected error, so it switched itself off and the game's own code took over for the rest of the session. Nothing is broken, but it should not happen. Report it with the whole line, including the error text that follows it. In multiplayer, a RouteMaps line on one computer is the one worth noticing: tell the other players and include everyone's log in the report.

I don't notice any difference
  • It targets large colonies. A small one has little repeated work to remove.
  • Open the Timing: line (what it shows). If everything else is most of the main thread's time, that is rendering, animation and Unity itself, which this mod does not touch. A frame rate cap then gives the simulation more of each second, because the per-frame cost is paid less often.
  • If the freezes you see are about once a minute and last most of a second, tick Incremental garbage collection. Check that the startup line says GC: incremental=True.
  • How much the tree search saves depends on your forest: a lot when most marked trees are still growing, nothing when every marked tree is grown.
The startup line says GC: incremental=False
  • You haven't ticked it. It is a setting: Mods > Late Game Performance > Incremental garbage collection. See how.
  • You ticked it but haven't restarted. Unity reads the choice before any mod loads, so it takes effect the next time the game starts.
  • The file could not be written. The log then has a line starting GC: could not change or GC: … was not found. Close the game and add the line gc-max-time-slice=3 to Timberborn_Data\boot.config in the game's install folder by hand (a read-only install folder is the usual cause).
  • A game update or Steam's file check put the original file back. If the box is ticked, the mod puts the line back at the next start and logs Putting it back. Restart once more.
A message about garbage collection appears in the main menu

That is the reminder that incremental collection is off. It appears once per launch and offers Turn it on or Not now. To stop it appearing, untick Warn when garbage collection is not incremental on the mod's settings page.

The log says a setting "is ignored. It is no longer a setting"

Your LateGamePerformance.cfg is from an older version and still has one of the keys HaulCache, HaulCacheFlushEveryTicks, RouteMaps or YielderSearch. They are ignored and harmless: those features are always on, the same for everyone. You can delete those lines from the file. To run without one of them, disable the mod.

The game got slower after I changed a setting
  • HaulCacheVerify = true and YielderSearchVerify = true run the game's own code as well and compare. They are slower than no mod and are for testing only. Set them back to false.
  • Record per-component timings adds two stopwatch calls around every component tick, so the game runs a little slower while it is on. Untick it after a profiling session.
  • Diagnostics = true adds overhead to hot code. Switch it off again after collecting numbers.
Multiplayer: the players' startup lines or versions differ
  • Every player must run the same version of the mod and the same game version. Nothing in the settings file affects the simulation, so there is nothing else to match.
  • Each player's Simulation features: line should read the same. If one says OFF, see above.
  • Garbage collection, thread counts and the timing options may differ between players. They do not affect the simulation.
  • If games go out of step (a desync), keep Player.log from every player and report it with the mod list of each player. Also say whether the fault happens without this mod.

Reporting a problem

Open an issue on GitHub and include: