Captain's Diary #53: Quality of life, Update 4 release date
- zuff35
- 5 hours ago
- 7 min read
Updated: 3 minutes ago
Welcome everyone to our first diary of 2026! We are bringing exciting information about Update 4 including its release date, so let’s roll!
Update 4 launch date
Let’s cut to the chase, we are launching Update 4 together with the Trains Expansion DLC on 9th of March, 2026! We've been counting the days (and drinking a lot of coffee) and can't wait to get it into your hands.
The Trains Expansion Steam page is already available! You can wishlist it to get notified once it's out!

Quality of life features
Now that we got the boring stuff away we can talk about quality of life improvements. And this time we have packed Update 4 with really nice improvements that would be a shame to skip mentioning.
Global search
The first new feature is the ability to search on the map. Do you want to find your only train depot, or maybe that storage unit holding your last supply of diesel? Now you can!




This search works on translated strings, so if your game is set to another language, it will work as well.
Idle statistics
Often when playing the game, you may wonder how active a particular machine has been lately. We had the same wish and so when there was a gap in our schedule we decided to implement a universal system that collects metrics about in-game entities. We took it and applied it on machines, generators, and even nuclear reactors! We provide histograms for the last 12 months (12 minutes) and then long-term ones for the last 12 years (2.5 hours).


Trains replacement
As we covered recently, Update 4 receives new tier II cargo wagons and locomotives. Plus there is the train DLC coming with even more locomotives! That's a lot of options and to make sure your future upgrade paths are seamless we added a system that allows you to replace your trains automatically!


Train line color picker
Trains can be colored using a product color or one of our preset colors. The presets are tuned to look good and make quick selection easy, but sometimes you want more control. We built the system to support any color, and Update 4 adds the missing piece: a color picker. Now you can color trains to your heart’s desire.

Buildings placement over trees
Sometimes you want to place a building, but a single tree is in the way. Then it turns into busywork: mark the tree for harvesting and wait for a harvester to get around to it. That felt like too much friction, so in Update 4, trees will no longer block building placement. Instead, they’ll be cleared during construction, just like tree stumps and rocks. The tradeoff is that you won’t get any wood from trees removed this way (your construction workers will silently “keep” it).
Truck type filters for storages
As we added amphibious trucks in the upcoming update, we ran into a small problem. Amphibious trucks are slower and need more maintenance, so you usually don’t want them taking inland jobs away from your regular fleet. To give you more control, we’ve added a few new options.
First, logistics zones can now define which truck types are allowed to take regular jobs (delivery, dumping) and which can take construction jobs. For example, you can block amphibious trucks from regular work in a zone, or even prevent haul trucks from doing regular jobs. Trucks count as the same truck type if they’re the same tier and purpose, even if they use different fuel.

Zone-wide rules still aren’t enough on their own. Say you block amphibious trucks in a whole logistics zone (or even the default zone), but you have a few storage silos between islands that you do want amphibious trucks to balance. To support that, each storage silo now has its own truck type filter. You can forbid certain truck types from accessing a storage, or whitelist only the ones you want, like allowing amphibious trucks to service island-to-island silos.

Better mods support
We are continuously investing into mods support. This time we made quite a big improvement in mods management as we felt that area needed quite some love.
Until now, to determine which mods a player has installed, we dynamically load each mod’s DLL, check the information it provides, and display it in the UI. The player would then choose which mods they actually want to include in their game. But that relied on everyone being a good citizen and that unfortunately did not always happen. Some mods decided to hook into the game already during the load phase. This became a massive pain when mods got obsolete, players deselected them, but the mods were still hooking in on load and causing issues. Secondly, we also needed player permission to load mods for safety reasons so we can even understand what mods are available. That was getting a bit convoluted, so we added manifest files: a tiny metadata file that describes the mod (name, version, dependencies, etc.) without requiring us to execute any mod code.
So with that, every mod now has to define a manifest file and all of its metadata will get surfaced in the UI. This is actually important step for CoIHub as this will be necessary to allow mod hosting - now hold your horses, mods on CoIHub won’t still be available for update 4, but with mods running with manifest files, the integration into CoIHub has just become much more likely and might open opportunity for even tighter integrations.


Example of the manifest file:
{ "id": "MetaLavaId", "version": "3.2.1", "authors": [ "JohnDoe" ], "display_name": "MetaLava", "description": "Desc", "min_game_version": "0.8", "primary_dlls": ["Lava.dll"], "optional_mod_dependencies": ["COI-TrainsDlc"], "non_locking_dll_load": true, "can_add_to_saved_game": true } |
Improved backwards compatibility
A few notes on backwards compatibility. It is now possible for mods to add or remove research nodes without breaking saves. Also, it is possible to remove prototypes of unlocked but unused entities. For example, for those of you who were using Captain Marek's mod from Update 2, it is now possible to safely remove it from a save and continue playing without it.
Train pushing penalty rework
Players have freedom to place locomotives anywhere within the train and all trains can go forwards or backwards. To keep things more realistic we introduced a pushing penalty. It worked as follows:
For each locomotive within the train, we computed how many wagons are being pushed by it. Then for locomotives that were pushing some wagons, we introduced a top-speed penalty. This was meant to simulate that pushed wagons are less stable and it is not safe to push them at higher speeds.
However, this had some unwanted side-effects. For example, adding a locomotive at the end of a very long train suddenly decreased its max-speed, as half of the wagons were now technically being pushed. Another issue was that the top speed penalty applied even for situations where the train was going down hill.
For example, a train with 12 wagons pulled by two diesel engines could reach a top speed of 80 km/h. Adding a single diesel locomotive at rear reduced the top speed to just 54 km/h. Adding any amount of additional locomotives at front or rear would not change the max speed.
In Update 4 we have reworked this penalty to reduce locomotive power based on the number of pushed wagons, instead of limiting top speed of the entire train. This solved all the issues we had with this system and allows even more freedom in building long trains.
In our example of a train with 12 wagons, adding a locomotive to the rear does not affect the max speed, but the locomotive at the rear can only contribute around 80% of its max power to the train. This information is now shown in the train designer.

Load performance improvements
We’ve also improved game load speed by 30–50%. If you’re a software engineer, you might find the reason kind of ridiculous. We spotted it while digging into a weird detail: loading from a memory stream was faster than loading directly from a file stream. The culprit was a nasty .NET surprise: calling ReadByte() on a file stream class was allocating a new single-element array on every call! We’ve added a caching layer to keep efficient byte-reading even from a file.
That’s it for today’s diary. We’re excited to see what you build once Update 4 arrives on March 9th. Until then, thank you for playing, and see you in the next Captain’s Diary!
