Update 4.3 is out now!
Hi Captains,
We are excited to announce that Update 4.3 is live now and, as usual, is packed with new content: full support for mixed materials (storages, conveyors, trains, trucks), info overlays, radiation-shielded trains and stations, train activity tracking, a new sound engine, and more. Check out our trailer below, and if you want to learn more, see Captain’s Diary #57. A full change log is also below and if you’d prefer to read it in your native language, all changelogs in-game are now translated!
If your save won't load due to mods that have not been updated to 4.3 yet, you can switch to the Steam branch v0-8-7d-legacy and either continue playing, or export a recovery save via export_recovery_save console command and load it in 4.3 without unsupported mods.
Happy building and let us know what you think!
Full change log
New feature: Full mixed materials support
- Mixed mined material can now be stored in storages, transported on conveyor belts and trains, and dumped by stackers.
- Ore sorting plants have new conveyor input ports for sorting mixed material delivered by belts.
- Ore sorting plants can output the products they are not set to sort as mixed material, allowing partial sorting.
- Ore sorting plants have a truck input toggle that turns away all trucks, including those of assigned mine towers.
- Storages set to mixed mined material can be assigned to mine towers to receive mixed truck loads (trucks wait while the storage is full instead of going elsewhere).
- Trucks can now take mixed mined material from storages to dumping areas, and dump it only where every product it contains is allowed.
- Storages and train station modules set to mixed mined material can also accept non-mixed products.
- Storage, truck, wagon, and other inspectors show what their mixed material contains.
- The Codex lists the products of each mixed material, and product pages list the mixed materials they belong to.
- Mixed materials are extensible and can support all product types.
- Recyclables are now a mixed material that tracks which products they were made from.
- Sorting recyclables returns the matching scrap instead of a factory-wide average.
- Sandbox product sources now produce recyclables and mixed mined material with a mix of products that sorts into scrap and ores.
- Fixed recyclables collected from settlements ignoring the recycling efficiency.
New feature: Info overlays
- Added info overlays that gray out the world and color buildings, vehicles, conveyors, and pipes by a selected statistic.
- Available overlays: productivity, pollution (including radiation and landfill), priority, electricity, computing (once researched), workers, maintenance, and product flow (producers and consumers of a selected product).
- Electricity, computing, and maintenance overlays can switch between long-term averages and current values.
- The priority overlay shows the priority number of each entity and can switch between general and power generation priority.
New feature: Radiation-shielded trains
- Added a shielded wagon and a shielded station module for moving radioactive products by train without causing radiation.
- Radiation is now calculated daily from the radioactive products that buildings, vehicles, and conveyor belts actually hold, which prevents radiation from products miscounted by bugs (in the game or in mods).
- The nuclear reprocessing plant, enrichment plant, and chemical plant II no longer cause radiation from the radioactive products they hold.
New train features and improvements
- Added train activity statistics to the train inspector (working, idle, refueling, and not working).
- Added train travel statistics that show how trains spend their time between stations (full speed, accelerating & braking, track speed limit, and blocked by trains).
- The Train lines & networks window shows both statistics for the average train of the selected line or network.
- Added a track speed limit overlay to the train and train depot inspectors that shows where curves and slopes limit train speed.
- Train tracks with a 25% grade (including grade transitions) now have an 80 km/h speed limit to make gentler 12% slopes worthwhile on high-speed lines.
- Added track buffers that can be built at the ends of bidirectional tracks with a new tool and set to allow or forbid trains to reverse there (track ends without a buffer always allow trains to reverse).
New feature: Web API
- Added an in-game web API server, started with the web_api_start console command and stopped with web_api_stop.
- Built-in routes include a demo dashboard with examples of every route (/demo-dashboard), a screenshot of the current view (/screenshot), and a list of all routes (/routes).
- Read-only routes under /api/v1 provide game info, the product catalog, product statistics and history, production sources, and product icons.
- Game commands can be sent through the API (cheat commands only in sandbox games).
- Web API routes can return JSON from response models marked [JsonModel] that are serialized automatically.
- The allowOtherOrigins option of web_api_start lets web pages from other origins read from the API, and allowOtherOriginsPost also lets them send commands (both are off by default).
Translations and onboarding
- Patch notes are now machine-translated into all 20 supported languages, with an option to show the English original.
- The game language can now be changed in the main menu (from a new dropdown or in the settings) without a restart, while changing it during a game still requires one.
- The first game launch now asks for a language, display, and window mode.
- Added British English.
- The patch notes window now shows a timeline with release names.
- Fixed some texts never being translated or staying in the language that was loaded at startup.
Key bindings and input
- The Controls tab can search by action, group, or key, show only the base game, a DLC, or a mod, and filter conflicting or customized bindings.
- Each action in the Controls tab has a reset button that shows its default keys.
- Conflict tooltips in the Controls tab name the mod that owns the other binding.
- Ctrl, Shift, Alt, and Cmd now match either side of the keyboard and take one key slot instead of two (except in bindings customized before this update).
- Every toolbar menu and the asteroid management window can now be bound to a key (unbound by default, except Transports, which keeps T).
- Key hints in window titles, toolboxes, and tooltips now update after a rebind.
- The mouse wheel no longer acts when the cursor is outside the game window.
- Fixed build tool modes (e.g. transport no-turn or train track alternative modes) staying on after their key was released.
- Fixed a key pressed and released within one frame never being registered as released.
- Fixed single-key shortcuts (e.g. Z) not working when the same key with a modifier (e.g. Ctrl+Z) was bound to another action.
- Fixed Enter, WASD, and other keys acting behind popups or while typing in the new game screen, save and load windows, blueprints, and the mod and map managers.
- Fixed text fields treating a changed placeholder as typed text.
New sound engine
- Rewrote sound playback to combine sounds of the same kind, which frees sound channels and lets more different sounds play at once in large factories.
- Added ambient sounds based on the surroundings of the camera, such as forest, ocean, wind, and rain.
- Added terrain collapse sounds that differ for soft and hard materials and get louder as more terrain collapses.
- Added a sound quality setting that controls how many sounds can play at once.
- Sounds use about 10x less memory.
Improvements
- Products on conveyor belts now travel half a tile into connected buildings instead of appearing and disappearing abruptly at belt ends, and no longer stick out of unconnected belt ends.
- Global search now starts searching from the first typed character.
- Added an optional real-time clock next to the game speed controls (Settings > Video > User interface, 12-hour or 24-hour).
- The per-recipe breakdown in product statistics now shows totals.
- The Captain's office now shows the monthly Unity provided by enabled edicts, and a tooltip explains what its edicts Unity cost includes.
- Window mode changes now use the same confirmation with automatic revert as display changes.
Performance
- Resource bars shown over the terrain initialize ~10x faster on large maps.
- Ship pathability initializes ~2x faster on load.
- Loading is faster because product textures are no longer recompressed every time.
- Fixed slow unlock checks in inspectors, Codex search, and the toolbar.
- Save file checksums are computed 2-3x faster, which speeds up saving and loading.
- Optimized the internal dictionaries and sets used throughout the game.
- Sound processing is faster, especially while the camera moves.
- Research unlock conditions based on global statistics are now checked less frequently.
Fixes
- Fixed machines with recipe-specific power use (e.g. Arc furnace II) not updating their power demand after a recipe finished, which also made a loaded game diverge from the game that saved it.
- Fixed network trains with leftover cargo and no job (e.g. after their job was cancelled) going to the station with the most free space instead of the highest-priority one with room for the cargo.
- Fixed network trains driving empty to the delivery station when their pickup was at the station they had just unloaded or refueled at.
- Fixed placing a train station or level crossing over partly built tracks making their delivered construction materials disappear.
- Fixed the train go-to tool showing switchbacks incorrectly.
- Fixed several issues with removing train waypoints and track buffers, such as tracks losing their pillars or removed pillars coming back.
- Fixed copying a waypoint leaving the copy cursor active.
- Fixed connectors losing throughput in some setups with fully loaded input belts (e.g. mixing fast and slow belts or splitting one belt into three).
- Fixed trucks leaving a dip along some sides of retaining walls when dumping next to them (existing saves are fixed on load).
- Fixed dumping trucks waiting for the terrain to settle after their dumping area filled up although other areas were ready, or moving to an area that was not ready yet.
- Fixed trucks with cargo left over looking for the dumping area closest to their storage instead of the one closest to them.
- Fixed amphibious vehicles floating above ramps that are below sea level.
- Fixed tree harvesters showing the cut tree far away after loading a save.
- Fixed a false route warning on storages assigned to forestry towers.
- Fixed sliders (e.g. storage thresholds) jumping when dragged and other UI elements drifting from the mouse after the UI scale changed.
- Fixed shadows flickering and looking blurry during dolly camera playback.
- Fixed dolly camera playback stuttering or stopping when photo mode keys or camera shortcuts were pressed.
- Fixed dolly camera settings (field of view, hidden cursor, and game speed) staying active after leaving photo mode or pressing Tab during playback.
- Fixed designation removal starting away from the cursor, and decal removal not matching the outlined area.
- Fixed inverted lighting on 15 loose products (e.g. crops, feed, scrap, waste, quartz) and on dumped waste and slag.
- Fixed slag, titanium slag, crushed slag, crushed gold ore, quartz, and woodchips using flat or mismatched surface detail.
- Fixed large numbers rounding to "1000k" instead of "1M" (and "1000M" instead of "1G").
- Fixed edicts that provide Unity (e.g. Plenty of food) losing the days already earned in a month when switched off and back on within that month.
- Fixed the inertia of idle mechanical shafts getting stuck just above 95% instead of decreasing.
- Fixed water sprinkled by rocket launch pads missing from product statistics.
- Fixed chemical fuel, aluminum scrap smelting in the arc furnace II, and desalination from super pressure steam being available without their research.
- Fixed memory leaks when tree harvesters cut trees, when selecting saves in the save and load windows, and when editing map publishing settings in the map editor.
- Fixed the splash screen background being stretched on displays that are not 16:9.
- Fixed an off-center dropdown arrow.
- ... and many more minor fixes.
Modding
- Mods can ship translations in a Translations folder (one JSON file per language, same as the core game).
- Added the export_mod_translations console command that generates a translation template for a mod.
- Shipping translations requires a mod ID of 4-32 letters, digits, dashes, and underscores without periods (mods with other IDs still load with a warning, but will be rejected in Update 5).
- Mods can add key bindings through IShortcutsRegistry (in IMod.Initialize or in a global dependency's constructor), and the Controls tab lists them under the mod's name.
- KbHandle replaces ShortcutsMap, KbAttribute, and KeyBinding (mods that use key bindings need an update).
- Mods can add info overlays by implementing IInfoOverlay.
- Mods can serve web API routes by marking a method of a global dependency with [WebRoute], or register routes of other objects with RegisterRoute.
- Mods can create their own mixed material categories with MixedMaterialCategory.CreateAndRegister, and modded mineable and recyclable products join the base categories automatically.
- Compactor and shredder recipes are generated from CompressionParam on loose products (modded scrap gets pressing recipes by declaring it).
- Recipes must call EnableRecyclablesOutput() instead of adding recyclables with AddOutput, which is now a proto build error.
- Office building and research lab protos take an OutputProduct instead of a fixed quantity per recipe.
- Product buffers were reworked for mixed materials with new IPlainProductBuffer and IMixedProductBuffer interfaces (mods that use buffers directly may need an update).
- Entity sounds are now bound in sound tables (.tbl files embedded in the mod assembly), and the sound members of protos and builders (e.g. SetMachineSound) are obsolete and ignored.
- Commands marked with [CheatCommand] now fail outside of sandbox games, whether the UI, a mod, or the web API sent them.
- Commands now reject locked protos (e.g. locked vehicles, transports, or recipes) and invalid values.
- IsFree on build commands is obsolete and ignored, and their remaining bool arguments should be passed by name (a positional true after the transform in CreateStaticEntityCmd now sets allowValidationSuppression).
- The default maximum quantity of a loose product per belt pile dropped from 5 to 3 (base game belts already carry at most 3).
- JsonWriter now has a fluent API for nested objects and arrays and replaces WebJsonWriter (the old AppendStartObject and AppendXxxField methods were removed).
- Added a RegisterDataWithInterface overload that takes the mod assembly, which is more reliable than detecting the calling assembly (as with RegisterAllProducts).
- Serialization and dependency resolver errors now show generic type names as written in C#.
- Saves that cannot load correctly after mod changes (e.g. too many proto IDs) now fail to load with an explanation instead of loading with broken data.
- Fixed removing a mod with its own proto types possibly leaving every product without an ID.