Version 2.0.47 released as stable
Factorio 2.0.47 introduces the Metal graphics backend for Apple devices, significantly buffs Gleba spore absorption, and delivers a massive stability pass with over 100 bug fixes.
Key Changes
- 1Added Metal graphics backend for Apple devices, improving performance on Mac.
- 2Gleba balancing: Wetlands and water tiles now absorb 3x more spores.
- 3Massive stability pass fixing over 100 crashes and logic errors.
- 4Piercing ammo recipe cost reduced.
- 5Atomic bomb now creates planet-specific terrain holes on Aquilo and Vulcanus.
- 6Equipment grid GUIs now support click-and-drag for picking up and replacing items.
- 7Added 'heading' car driving mode for keyboard users.
- 8Burner fuel inventories now support filters.
- 9Cars and tanks now automatically snap to 8 major directions.
- 10Added confirm dialog for achievements when starting a new game.
All Changes
⚖️Balancing(3)
- buffPiercing ammo: Changed piercing ammo recipe to be cheaper.
- buffGleba: Gleba wetlands, lowlands, and water tiles now absorb 3 times as many spores as other tiles.
- changeTrees: Trees no longer take damage from spores nor absorb spores as a result of taking pollution damage.
🖼️Graphics & Performance(10)
- newMetal Graphics Backend: Added Metal graphics backend for Apple devices.
- newFrozen stone path: Added graphics for frozen stone path.
- newGleba: Added new particle effects for mining or destroying Gleba plants and fungi.
- changeMolten metals: Added new recipe icons for molten metals from ore and reworked existing icons related to molten metals and lava.
- newNerve roots: Added some new Gleba decorative variants for Nerve roots.
- changeUI: Changed items to stop drawing health and spoilage bars when the player is zoomed too far out.
- changePipes: Changed the north edge of all pipe graphics to include an arch to prevent tiling issues.
- changeFulgora: Improved visibility and looks of Fulgora cliffs.
- changeGleba: Improved water/land visibility on Gleba by masking decals over water and adding water edge foam effects.
- fixPerformance: Fixed a performance issue with lightning on explored planets.
⚙️Gameplay Systems(8)
- changeAtomic bomb: Atomic bomb now blasts planet-appropriate holes into terrain (Ammoniacal ocean for Aquilo, Lava for Vulcanus) and destroys space platform tiles.
- newVehicles: Added heading car driving option for keyboard input method where vehicles automatically turn and accelerate to the side of the screen pressed.
- newVehicles: Cars and tanks will automatically snap to one of the 8 major directions if within a few degrees.
- newBurner fuel: Added filter support to burner fuel inventories.
- changeSpace platform: Items manually inserted or removed from space platform dump inventory reset drop cooldown to two seconds for better responsiveness.
- changePipette: Changed pipette to always select normal quality items when pipetting a tile.
- changeBlueprints: Included priority and train limit of train stop into blueprint parametrisation.
- changeVehicles: Improved relative vehicle driving with gamepad in multiplayer, especially when shooting.
🖥️User Interface(5)
- newLocomotive: Added equipment grid button to locomotive GUI and removed the popup window.
- newEquipment grid: Equipment grid GUIs now support click-and-drag to pick up, transfer, and fast-replace equipment.
- newAchievements: Added a confirm dialog informing about which achievements will be disabled with current map settings when starting a new game.
- newTooltips: Tall tooltips when attached to the right side of the screen can now be scrolled (Shift + Scroll).
- newMod Portal: Added 'planets' and 'character' tags and Space Age expansion filter to the mod portal explore pane.
🐛Bug Fixes(182)
- fixStability: Fixed a consistency crash when disconnecting rolling stock and modifying the train in the same tick through Lua.
- fixStability: Fixed a crash when a space platform in orbit is teleported to a distant connection by a script.
- fixStability: Fixed a crash when clicking on a new tip popup while being dead.
- fixStability: Fixed a crash when drawing combinator with activity_led_sprites missing.
- fixStability: Fixed a crash when fast-replacing a train stop ghost with mods listening to 'on_entity_color_changed' event.
- fixStability: Fixed a crash when hovering blueprints pasted into chat.
- fixStability: Fixed a crash when migrating some mods with assembling machines that have control behaviors.
- fixStability: Fixed a crash when removing modded cargo pods through mod removal.
- fixStability: Fixed a crash when robot orders are invalidated while finishing another order.
- fixStability: Fixed a crash when trying to open the logistics GUI while dead.
- fixMultiplayer: Fixed a desync related to demolishers.
- fixSpace platform: Fixed asteroids not getting destroyed when colliding with platform at zero relative velocity while platform was moving.
- fixSpidertron: Fixed burner spidertron moving indefinitely after running out of fuel.
- fixInserters: Fixed inserters detaching from valid pickup targets if they have no inventory.
- fixLabs: Fixed labs with drain multiplier taking too long to drain final fraction of science packs.
- fixGleba: Fixed Bioflux and Yumako healing vehicles.
- fixRocket Silo: Fixed frozen rocket silos blocking non-frozen silos from launching.
- fixTurrets: Fixed turrets getting stuck shooting at the wrong location when target-leading fast targets.
- fixBlueprints: Fixed undoing a fast replace not restoring wires.
- fixStability: Fixed a crash when saving when blueprint was made out of a train that contains a non temporary rail target.
- fixStability: Fixed a crash when corpse animations aren't defined correctly.
- fixStability: Fixed a crash when on_player_setup_blueprint errors.
- fixStability: Fixed a crash when preparing undo/redo camera for tiles which are on a deleted chunk.
- fixStability: Fixed a crash when rendering a modded pipe that has multiple connections facing the same direction.
- fixStability: Fixed a crash when reordering empty filters in asteroid collector.
- fixStability: Fixed a crash when script tries to set deconstruction planner's entity filter to contain only quality condition.
- fixStability: Fixed a crash when setting resource_patch_search_radius to 0.
- fixStability: Fixed a crash when some tile sprites end up with zero size due to scaling.
- fixStability: Fixed a crash with rocket flying sound after a failed audio device switch.
- fixAudio: Fixed a potential stutter when stopping a variable music track.
- fixAudio: Fixed a sound instance leak when closing machine GUIs with playing sound accents.
- fixAccumulator: Fixed accumulator charge/discharge emission sprite being misaligned.
- fixAchievements: Fixed achievement GUI progress not being updated after an achievement was completed.
- fixUI: Fixed alert icons could persist after changing surfaces.
- fixAssembler: Fixed assembler insertion margins were not correctly accounting for max inserter hand in some cases.
- fixSpace platform: Fixed asteroids sometimes getting destroyed when platform speed was negative.
- fixGraphics: Fixed black lines on some entities when 'alt-mode' is enabled when using Metal graphics backend.
- fixModding: Fixed blood particle tint being ignored in Lua.
- fixUI: Fixed blueprint library small slots view had extra empty space.
- fixBlueprints: Fixed building preview of blueprint with locomotives could show them in wrong orientation when blueprint is rotated.
- fixModding: Fixed changing deconstruction planner entity and tile filters by script would not replace all filters.
- fixTrains: Fixed clicking a station label in the train GUI would not open map at the expected train stop.
- fixBlueprints: Fixed consistency issue related to importing blueprint strings where assembler is given a recipe it cannot craft.
- fixCombinators: Fixed constant combinators were clamping total values from logistic sections when they should wrap around.
- fixSpace platform: Fixed copying from space platforms did not count and preview platform tiles.
- fixTrains: Fixed count of trains in group was not updating when adding other trains to group by copy settings.
- fixStability: Fixed crash related to boilers when configured to output fluid with lower temperature than default.
- fixStability: Fixed crash that could occur when using the Metal graphics backend with texture streaming enabled.
- fixStability: Fixed crash that could randomly occur when using Metal graphics backend.
- fixUI: Fixed custom minimap widget zoom issues after save-load.
- fixBlueprints: Fixed cutting both tile ghosts and non-tile entities would remove tile ghosts incorrectly.
- fixCombinators: Fixed decider's output constant was not covered by parametrisation.
- fixBlueprints: Fixed deconstruction planner with tile filter would not mark hidden tiles correctly.
- fixDisplay panel: Fixed display panel chart tags having different sprite layering than regular map tags.
- fixDisplay panel: Fixed display panel not updating rendered text after parametrisation.
- fixUI: Fixed edit interrupt GUI closing windows spuriously.
- fixGameplay: Fixed expected resources were rounded down in some cases.
- fixFluids: Fixed fluid box compound was not respecting max pipeline extent value.
- fixUI: Fixed freeplay description changing to space age even if mod was not enabled.
- fixUI: Fixed generator equipment item tooltip ignoring fuel consumption efficiency.
- fixBlueprints: Fixed ghost rotated fast replace of entities with rotation constraints.
- fixBlueprints: Fixed importing upgrade planner string would not preserve fuel mappers.
- fixTrains: Fixed locomotive could be fueled even if train was already on the way but not yet moving.
- fixUI: Fixed inconsistent display of rich text icons in tooltips.
- fixFactoriopedia: Fixed issue with merging fluid/recipe where there are more result products.
- fixInfinity cargo wagon: Fixed it was not possible to configure infinity cargo wagon infinity filters in some cases.
- fixBlueprints: Fixed it was not possible to use more than 6 recipe ingredients in blueprint parametrisation formulas.
- fixMultiplayer: Fixed latency hiding when dragging remote view while server is slow.
- fixUI: Fixed locomotive GUI formatting for trains with many fuel slots.
- fixTrains: Fixed locomotive stop trigger being triggered repeatedly when hitting a disabled gate.
- fixUI: Fixed logistic group multiplier was not visible with long group names.
- fixBlueprints: Fixed manually changing upgrade target of entity was not covered by undo.
- fixAchievements: Fixed missing achievement mentions for the new restrictions in map gen settings.
- fixModding: Fixed mods adding many planets would cause map generator GUI layout issues.
- fixBlueprints: Fixed module slots configured in upgrade planner would not preserve positions when exported.
- fixUI: Fixed not being able to mute sound category by clicking its label.
- fixGraphics: Fixed particles being updated twice when they moved to a new chunk.
- fixUI: Fixed pinned achievement cards stretching when multiplayer infoboxes are present.
- fixSpace platform: Fixed platforms list not updating after platform was renamed.
- fixStability: Fixed potential crash when drawing an entity in the GUI at scale 0.
- fixModding: Fixed pretty print for LuaPlayer was showing wrong index.
- fixModding: Fixed production score script error when encountering 'research-progress' products.
- fixProgrammable speaker: Fixed programmable speaker alert quality and map updates.
- fixFactoriopedia: Fixed rail variants can now be accessed with alt click in factoriopedia.
- fixGleba: Fixed recipe raw for some gleba recipes using unexpected recipes for spoilage.
- fixUI: Fixed recipe tooltips not showing intermediate ingredients as craftable when they create extra products.
- fixLogistics: Fixed renaming all logistic points in a group would delete the old group if new one existed.
- fixUI: Fixed rich text chat tooltips not disappearing when opening menu.
- fixUI: Fixed rocket target GUI showing platforms unsorted.
- fixUI: Fixed schedule GUI station buttons not updating correctly.
- fixUI: Fixed shotgun damage tooltip not showing parenthesis.
- fixGalaxy of Fame: Fixed some icons were not collected for galaxy of fame uploads.
- fixMultiplayer: Fixed space platform schedule logical operator not updating when changed by other players.
- fixUI: Fixed Ctrl+Click on empty equipment grid slot in remote view behaving unexpectedly.
- fixModding: Fixed CustomGuiSlider did not respect discrete slider value when changing min/max.
- fixFactoriopedia: Fixed Factoriopedia relative ordering between different object types.
- fixAudio: Fixed decal walking sound playing even when covered by a tile.
- fixModding: Fixed arriving platforms sending wrong old state to event.
- fixBlueprints: Fixed blueprint parameter item becoming parametrised after export/import incorrectly.
- fixBlueprints: Fixed blueprint parametrisation of recipe + item combination not applying machine limitations.
- fixTrains: Fixed building trains removing train ghosts on other rail elevations.
- fixGameplay: Fixed building underground belts/pipes not showing error flying text.
- fixGameplay: Fixed building walls removing unrelated ghosts in some cases.
- fixGameplay: Fixed canceling cliff deconstruction could break cliff deconstruction.
- fixGameplay: Fixed changing enemy expansion settings didn't update the expansion map.
- fixUI: Fixed changing quality in select-GUIs resetting the count.
- fixUI: Fixed logistic request slider issues when moving maximum slider.
- fixSpace platform: Fixed space platform hub requested item only visually updating max amount.
- fixModding: Fixed choose elem button filters not handling migrations.
- fixLogistics: Fixed combining negative and positive logistic filters.
- fixUI: Fixed save game dialog name editing confirming save instead of icon selection.
- fixUI: Fixed rich text tag cursor movement issues.
- fixRobots: Fixed deconstruction jobs not properly distributing tasks to closer robots.
- fixMap Editor: Fixed deleting items through map editor not clearing request proxies.
- fixGameplay: Fixed drag building underneathies showing flying text over obstacles.
- fixBlueprints: Fixed entity quality conditions rendering behind entities in blueprints.
- fixGalaxy of Fame: Fixed galaxy of fame availability after death.
- fixUI: Fixed highlighting robots in GUI excluding requested robots.
- fixSpace platform: Fixed indestructible entities on space platform consuming asteroid damage before other entities.
- fixInserters: Fixed inserters getting stuck when items spoiled into recipe ingredients.
- fixModules: Fixed installing modules via upgrade planner or fast-transfer when requests already existed.
- fixUI: Fixed instant tooltips blocking game-over screen.
- fixBlueprints: Fixed it was possible to rotate blueprint with thrusters.
- fixBlueprints: Fixed starting another blueprint build while parametrisation was in progress.
- fixGameplay: Fixed linked belt fast-replace not changing direction.
- fixUI: Fixed locale pluralization with SI-prefixed numbers.
- fixLogistics: Fixed logistic section multipliers rounding differently.
- fixAchievements: Fixed lower pollution absorption disabling achievements incorrectly.
- fixRocket Silo: Fixed manually filled rocket silos not launching correctly for multiple platform requests.
- fixGameplay: Fixed manually placing entity on ghost not setting item requests properly.
- fixSpidertron: Fixed modded miniature spidertrons getting stuck on built objects.
- fixLogistics: Fixed modifying logistic requests in groups on planets resetting import-from.
- fixTrains: Fixed modifying group schedule causing trains to switch to automatic mode.
- fixModules: Fixed module upgrade requests being cut short by inventory size.
- fixModules: Fixed module upgrades not being cancellable with upgrade planner.
- fixModules: Fixed module upgrades using wrong 'allowed effects' restrictions.
- fixModules: Fixed module upgrades/removals via planner failing if existing requests existed.
- fixTrains: Fixed overbuilding train with parametrised blueprint not applying schedule.
- fixUI: Fixed rocket parts signal pipette picking item version instead of recipe version.
- fixUI: Fixed pipette on resource entities putting burner drill signal in cursor.
- fixUI: Fixed pipette while in train fuel tab putting ghost item in cursor.
- fixUI: Fixed pipetting parameter in cheat mode generating parameter item.
- fixBlueprints: Fixed alt key confirming blueprint selection.
- fixFluids: Fixed fluid push into double-buffered fluidbox internal buffer.
- fixUI: Fixed quality tooltips showing wrong values in modded crafting machines.
- fixSpace platform: Fixed reading orbital requests generating negative signals.
- fixUI: Fixed rearranging infinity filters causing buttons to edit wrong filters.
- fixUI: Fixed recipe hover highlights not working while driving.
- fixGameplay: Fixed recipe item order changes causing item removal.
- fixGleba: Fixed recipes using result_is_always_fresh starting spoilage at wrong tick.
- fixUI: Fixed remote equipment removal not being cancellable.
- fixUI: Fixed remote view interaction with blueprint books in inventory.
- fixUI: Fixed remote view removal of items from assembling machine dump inventory.
- fixRobots: Fixed robot upgrade jobs not being evenly distributed.
- fixUI: Fixed searching in inventories not searching quality names.
- fixBlueprints: Fixed parameter quality selection discarding choices incorrectly.
- fixBlueprints: Fixed rocket part parametrisation creating incompatible station names.
- fixBlueprints: Fixed self-recycling recipes being generated for parameters.
- fixModding: Fixed setting fluids on FluidBox via Lua giving fluids to ghosts.
- fixUI: Fixed signal pipette not working for fluids.
- fixGameplay: Fixed smart belt dragging not reviving ghost underground belts.
- fixGleba: Fixed some tile types on Gleba not absorbing spores.
- fixBlueprints: Fixed space platform name not being parametrisable.
- fixBlueprints: Fixed space platform schedule not properly affected by parametrisation.
- fixAchievements: Fixed achievement checks of map startup difficulty settings.
- fixTrains: Fixed build preview and rolling stock final position mismatch.
- fixModding: Fixed burner generator prototype reporting wrong max consumption.
- fixMap Editor: Fixed confirm hotkey not working in map editor.
- fixAchievements: Fixed 'Keeping your hands clean' achievement saving on headless servers.
- fixUI: Fixed mod thumbnail persistence in info pane.
- fixMap Editor: Fixed map editor extra-settings GUI for ghosts.
- fixUI: Fixed map view train shortcut info shown when zoomed in.
- fixUI: Fixed missing-equipment message overlap for spidertrons.
- fixUI: Fixed mod manager update table styling.
- fixUI: Fixed recipe productivity locale location.
- fixSpace platform: Fixed space platform hub full alert persistence.
- fixUI: Fixed train control hint window in remote view of other surfaces.
- fixGleba: Fixed trees on Gleba taking damage from spores.
- fixUI: Fixed double-slider GUI elements changing limits incorrectly.
- fixMap Editor: Fixed undo in Map Editor with instant-blueprint-building for elevated rails.
- fixGameplay: Fixed upgrading or fast-replacing clearing pending item requests.
- fixBlueprints: Fixed number parameter formula disabled counting as filled.
📜Modding & Scripting(13)
- newModding: Added AirbornePollutantPrototype::damages_trees.
- newModding: Added CarPrototype::rotation_snap_angle.
- newModding: Added FusionReactorPrototype::target_temperature.
- newModding: Added MiningDrillPrototype::uses_force_mining_productivity_bonus.
- newModding: Added PumpPrototype::flow_scaling.
- newModding: Added RocketSiloPrototype::can_launch_without_landing_pads.
- newModding: Added collision-layer out_of_map for out-of-map tiles.
- newModding: Decals now support draw_as_light and draw_as_glow.
- changeModding: Fluid boxes with diagonal connections now throw a prototype error.
- newScripting: Added LuaControl::open_factoriopedia_gui() and close_factoriopedia_gui().
- newScripting: Added LuaEntity::base_damage_modifiers and bonus_damage_modifiers read/write.
- newScripting: Added LuaPlayer::zoom_limits and made zoom readable.
- newScripting: The remote view controller now supports enabling and disabling flashlight.
Summary
Major Stability & Performance
This stable release focuses heavily on technical refinement, most notably adding a native Metal graphics backend for Apple devices to improve performance on Mac. It also resolves over 100 distinct bugs, including numerous crashes related to Lua scripting, blueprinting, and space platform management.
Balancing & Gameplay
Significant balancing changes have been made to the Gleba planet, where wetlands and water tiles now absorb 3x more spores, making environmental management more viable. Additionally, Piercing Ammo has received a recipe cost reduction, and the Atomic Bomb now creates planet-specific terrain holes on Aquilo and Vulcanus.
Quality of Life
Several user interface improvements have been added, such as drag-and-drop support for equipment grids, burner fuel inventory filters, and a new 'heading' driving mode for keyboard users that simplifies vehicle navigation.
