1. Desynced
  2. News

Desynced News

Just A Regular Update [Main Branch] (And 100k Sales!)

[h2]We just passed a huge milestone: over 100,000 copies of Desynced sold! 🎉[/h2][p]
This is an incredible moment for our small team, and we want to sincerely thank every single one of you for playing, sharing feedback, and being part of this journey. Every review you post helps more people discover the game on Steam and gives new players a reason to give it a try.[/p][p]If you have enjoyed Desynced and have not left a review yet, we would love to hear what you think. It only takes a moment, but it truly means a lot.[/p][p]We are already working hard on the next big update from our roadmap and getting closer to the 1.0 release. In the meantime, we are releasing a major set of improvements to the main version of the game. These changes were first tested in the experimental build, and we are very grateful to everyone who helped us polish them with their feedback.[/p][p]We hope these changes make your experience even smoother and more enjoyable! Let us know what you think in the comments. [/p][p][/p][h2]Here is everything included in this update:[/h2][h2][/h2]
  • [p]Building Relocation
    Buildings can now easily be moved to a new location. To do so, select one or more buildings, right-click on one of the selected buildings and click "Relocate". This will put the building(s) under the mouse cursor to select a new location. You can rotate placement using the R key. Once relocation is confirmed, carrier bots will carry over the packaged building along with any items it contained. All settings, links, and unit references will automatically update. If relocation is aborted (by the player or due to enemy attack), a relocation deployer is dropped on the floor, which you can use to rebuild the structure manually.[/p][p][/p][p][/p][p][/p]
  • [p]Integrated Behavior for All Units
    All robot units (bots and buildings) can now load an integrated behavior without the need to equip a separate Behavior Controller. To add one, either right-click the unit or press the ≡ menu button next to the unit name, then select "Add Integrated Behavior".[/p][p][/p][p][/p]
  • [p]Behavior Instruction Explanations
    When selecting a node in the behavior editor, you can now open an explanation panel by pressing the ? button at the bottom. Most instructions now include detailed descriptions or clarifications, and some even feature a small code example that you can copy directly into your behavior.[/p][p][/p][p][/p]
  • [p]Multiple Store Targets
    The Store target is no longer limited to a single unit. When multiple targets are specified, items are delivered to all of them in the order listed, provided there is free space. For example, a production building can now distribute its output to several storage units without requiring them to be linked together. This also makes resource flow more visually understandable.
    To add a Store target, click the Store register to see the list and press the + button. Right-clicking on an entry will remove it. Holding Ctrl while right-clicking on a unit will set or overwrite the Store. Holding both Ctrl and Shift while right-clicking will add the selected unit to the list of stores.[/p][p][/p][p][/p]
  • [p]Better Transport Routes [/p][p]It is now possible to define multiple sources and destinations for transport routes. Initially there will only be one of each, but clicking on the Store register opens a list where additional targets can be set. Similarly clicking on the Goto register will show the list of sources of the transport route. Furthermore, idle bots assigned to a transport route will now wait next to the target if the target is full and the bot still holds items. If the bot is fully empty it will stand next to the source like it did before.[/p]
  • [p]Goto Queue Improvements [/p][p]Just like before, having a bot selected and holding Shift while right-clicking on locations or things on the map will queue up multiple points to be visited. The list of queued points can now be manipulated by clicking the Goto register where individual entries can be removed by right-clicking them.[/p]
  • [p]Custom Bot Production
    When selecting a bot for production, you can now press “Edit” to customize it directly without needing to create a blueprint first.[/p][p][/p][p][/p]
  • [p]Drag and Drop for Unit References
    You can now drag units (including docked units and garages) onto registers to store a reference to them. Dragging a register onto a unit icon will also assign the reference. Dragging a register onto the unit icon above the health bar assigns the unit itself.[/p]
  • [p]Context Menu for Registers
    When right-clicking a register that contains a unit reference or coordinate, a new context menu allows you to select that unit, move the camera to it, or clear the value.[/p]
  • [p]"Fix Item Slots" Instruction Improvements
    This instruction now includes an option to only operate on item slots that are not already fixed. A detailed explanation is available in the instruction panel.[/p]
  • [p]“Memory Length” Instruction
    New instruction that lets you get the length of a memory array in your behavior.[/p]
  • [p]Enable “Create New Behavior” from Call Node
    When using the “Call” instruction, it is now possible to create a new behavior directly from the subroutine selection dropdown.[/p]
  • [p]Satellite Journey Times and UI Improvements
    Satellites now take time to launch and return. The satellite interface now shows full flight details, including which AMAC launched it.[/p][p][/p][p][/p]
  • [p]Feedback Viewer
    Each feedback submission now has a "View Feedback" button that lets you check its current status.[/p][p][/p]
  • [p]Camera Control Keybinds[/p]
    • [p]Camera Pitch: Page Up / Page Down[/p]
    • [p]Camera Reset: End[/p]
    • [p]Camera Rotate: Insert / Delete. All can be rebound via settings. [/p]
[h2][/h2]
  • [p]Store registers now support docked units and garages as destinations.[/p]
  • [p]Registers in the Link Editor now show up to 5 per row for better readability.[/p]
  • [p]Dragging a register onto the unit icon (above health bar) references that unit.[/p]
  • [p]Idle Item Transporters will always take over orders from bots and never take over orders from other item transporters.[/p]
  • [p]Improved interaction logic with right-click plus Ctrl or Shift on registers and register queues.[/p]
  • [p]"Turn On" behavior instruction no longer resets a unit that is already turned on.[/p]
  • [p]"Attack Move" instruction now correctly passes the number portion to the weapon's target register.[/p]
  • [p]Deployers can no longer acquire damaged or infected units. The same rules now apply as with deconstruction.[/p]
  • [p]Undocks units when their host component is destroyed, instead of destroying the unit.[/p]
  • [p]When upgrading buildings with storage components, all items are retained instead of dropped to the ground.[/p]
  • [p]Docked units are correctly re-docked after building upgrades or edits.[/p]
  • [p]In System Index, selecting a unit while hovering over something in the library or behavior editor no longer causes UI bugs.[/p]
  • [p]Construction and Uplink components now maintain order priority on partial deliveries.[/p]
[h2][/h2]
  • [p]Bot production components set to produce a blueprint now respond properly to changes made to the production register caused by register links or behavior.[/p]
  • [p]AMAC upgrades now store docked satellites as packages instead of losing them.[/p]
  • [p]Fixed behavior breakpoints not triggering correctly after waits or sleeps, on labels, or in for-loops.[/p]
  • [p]Fixed Lua error when selecting multiple units and pressing "Stop All Behaviors" after code was edited.[/p]
  • [p]Fixed crash when a manually docked unit is destroyed.[/p]
  • [p]Fixed WASD scrolling not working when editing a sub-behavior.[/p]
  • [p]Fixed behavior controller stopping unexpectedly caused by AMAC and Satellite PickUp or DropOff combinations.[/p]
  • [p]Fixed misalignment between behavior registers and displayed values in math instructions.[/p]
  • [p]Fixed control group icon to update correctly for construction sites and across unit editing/upgrading[/p]
  • [p]Fixed editing blueprints with behavior controllers directly in Favorites listing behaviors from the Library instead of Favorites[/p]
  • [p]Fixed item slots in the blueprint editor sometimes using a different order of slot types.[/p]
  • [p]Avoid losing unsaved changes when a blueprint gets moved while being edited.[/p]
  • [p]Fixed camera not focusing correctly when using new unit reference drag-and-drop features.[/p][p][/p]
[h2][/h2]
  • [p]New Lua APIs[/p]
    • [p]entity:Undock() now supports optional arguments to avoid placing on map[/p]
    • [p]Add support for register queues and Lua API for manipulation of them [/p]
  • [p]Validation Improvements[/p]
    • [p]CreateProductionRecipe, CreateMiningRecipe, CreateUplinkRecipe, and CreateConstructionRecipe now include validation to prevent common modding mistakes
      [/p]
  • [p]Stability[/p]
    • [p]Prevented potential infinite loop or crash caused by two components activating each other in their on_update callback
      [/p]
[h2]🛰️ Thanks for Your Support![/h2][p][/p][p]This update wouldn’t be possible without the help of players who explored new features early and gave us their thoughts. Your feedback helped us find bugs, polish systems, and improve Desynced for everyone![/p][p][/p][p]Enjoy the game![/p][p] [/p][hr][/hr][p][/p][p][dynamiclink][/dynamiclink][dynamiclink][/dynamiclink][dynamiclink][/dynamiclink][/p][p]
[/p]

Regular Update (experimental)

[h2]Experimental_UE5 0.1.15931[/h2][h3]Additions[/h3]
  • [p]Make an idle transport route bot move to the first route source if its inventory is empty and to the first route target if it still holds items[/p]
  • [p]Avoid transport route drones try moving towards route points that are outside of the drone range[/p]
[h3]Changes[/h3]
  • [p]Make right-click while holding Ctrl on a register always clear the value and skip the new menu on registers holding a reference to a unit[/p]
  • [p]Make handling of right-click, holding Ctrl or Shift on register queue items work the same as clicking on regular registers[/p]
[h3]Fixes[/h3]
  • [p]Avoid logging Lua error if no entities are selected when changing unit interface position in options[/p]
  • [p]Fix logging of Lua errors when dragging a blueprint in the library that is open with unsaved changes[/p]
  • [p]Fix logging of Lua errors when dragging a library item then closing the library by pressing L[/p]
[hr][/hr][p][/p][p][dynamiclink][/dynamiclink][dynamiclink][/dynamiclink][/p]

Regular Update (experimental)

[h2]Experimental_UE5 0.1.15923[/h2][h3]Additions[/h3]
  • [p]Support setting the Store register to a docked unit or to the garage where a unit is docked in and having all items passed to that[/p]
  • [p]Support setting a unit reference or coordinate into a register in the blueprint and unit editor via dragging[/p]
  • [p]Added bindable key for "Camera Pitch", bound by default to Page Up/Page Down keys[/p]
  • [p]Added bindable key for "Camera Reset", bound by default to End key[/p]
  • [p]Make dragging a docked unit onto a register store a reference to it (instead of just setting the register to the dragged unit type)[/p]
  • [p]Make dragging a register onto an icon of a docked unit reference that unit in the register[/p]
  • [p]Make dragging a register onto the unit icon above the health bar reference the unit itself in the register[/p]
  • [p]Add a context menu when right-clicking a writable register that contains a unit reference or coordinate with options to select that unit, move the camera or to clear the value[/p]
[h3]Changes[/h3]
  • [p]Changed default key bindings for "Camera Rotate"to Insert/Delete keys[/p]
[p][/p][h3] Fixes[/h3]
  • [p]Fix game crash when a manually docked (by pressing right-click) unit gets destroyed[/p]
  • [p]Fix moving a blueprint into a folder not applying when it is actively being edited with unsaved changes[/p]
  • [p]Fix bot production component not reacting to its register changing from a bot blueprint to some other unit, when that change is caused by a register link or behavior[/p]
[hr][/hr][p][dynamiclink][/dynamiclink][/p][p][/p]

Regular Update (experimental)

[h2]Experimental_UE5 0.1.15908[/h2][h3]Additions[/h3]
  • [p]Add Integrated Behavior Controller to list of selectable components (usable in Copy to Component and Set Link instruction)[/p]
  • [p]Add support and UI for manipulating Goto queue (similar to Store queue)[/p]
  • [p]Use multiple entries in a Goto queue as multiple sources for Transport Route[/p]
  • [p]Satellite UI now shows flight details according to the AMAC which launched it[/p]
  • [p]Add option to "Fix Item Slots" behavior instruction to only operate on slots that are not fixed yet, add detailed explanation[/p]
  • [p]Make the game remember submitted feedbacks and have a button "View Feedback" for each to see the status of the feedback[/p]
[h3]Changes[/h3]
  • [p]Instead of pushing orders to the end of the list (lowest priority) on a partial delivery, do it only when the target is increasing its ordered amount. A construction site or Uplink component never increases the ordered amount so orders from these will now more likely get fulfilled in order even when only few resources are available (instead of incoming resources getting evenly distributed). On the other hand, a production component set to infinity will re-up the ordered amount after receiving only a small amount so the de-prioritizing continues to happen for them.[/p]
  • [p]Make sure an in-range, idle Item Transporter always takes over an order from a bot[/p]
  • [p]Prevent an idle Item Transporter unnecessarily taking over an order from another Item Transporter[/p]
  • [p]Change usage of repair items in repair components (Human Explorer, Mothership) as item consumption in the item history graph[/p]
[h3]Fixes,[/h3]
  • [p]Fix relocation of buildings with dependencies (set behaviors or active bot blueprint production) not having those dependencies referenced correctly after finishing relocation[/p]
  • [p]Fix behavior math instructions (Add, Subtract, Multiply, Divide, Modulo) updating a parameter without the value being shown in the corresponding register of the behavior controller,[/p]
  • [p]Fix scrolling the instruction graph with WASD when editing a sub-behavior[/p]
  • [p]Avoid behavior controller halting execution when using PickUp/DropOff instruction from an AMAC with an Item Transporter equipped to a Satellite that is currently in space[/p]
  • [p]Satellite Fix: Prevent calling AMAC Launch Satellite multiple times in the same tick[/p]
  • [p]Satellite Fix: Detection for a satellite landing naturally and the Land instruction being called in the same tick[/p]
  • [p]Don't reset a unit when using the "Turn On" behavior instruction if it is already turned on[/p]
  • [p]Fix opening System Index while hovering over something in the library or blueprint editor[/p]
  • [p]Fix "Unit Editor" via bot production showing an empty window when the blueprint library is still empty[/p]
  • [p]Fix difference between item slot ordering shown in blueprint editor vs. actually used by unit user interface (could cause fixed slots to be wrong in blueprint and finished unit)[/p]
  • [p]When editing a blueprint in the Favorites tab, show behaviors from Favorites (not Library) when adding an integrated behavior[/p]
[p] [/p][hr][/hr][p][dynamiclink][/dynamiclink][dynamiclink][/dynamiclink][/p][p][/p]

Regular Update (experimental)

[h2]Experimental_UE5 0.1.15858[/h2][p][/p][h3]Additions[/h3]
  • [p]Add "Edit" button when selecting bot production to customize a unit without needing to create a blueprint in the library first,[/p]
[h3]Fixes[/h3]
  • [p]Fix components requested via "Item Request" not getting automatically equipped anymore since the relocation feature was added,[/p]
  • [p]Fix stuck transport route if the "Transport Route" option was enabled only after the Goto register has already been set and the bot was moving towards that building,[/p]
  • [p]Fix logging Lua error when selecting multiple units and pressing "Stop All Behaviors" while a loaded behavior was already stopped and had its code modified since in the library,[/p]
  • [p]Fix constant values and variables in running behaviors getting cleared at random when loading a save game (due to uninitialized memory bug),[/p]
[h3]Modding[/h3]
  • [p]Avoid theoretical infinite loop or crash if two components were to activate each other in their on_update callback[/p]
[p] [/p][p][dynamiclink][/dynamiclink][dynamiclink][/dynamiclink][/p]