Skip to content
Enter Submit to view all results. Ctrl+Enter View and filter in instant search.
Close ×
Search powered by Algolia
Update notes via Steam Community

Hey Prospectors,

While one half of our team was in Cologne for Gamescom showcasing Dawn Apart to potentially over 300,000 gamers from 128 countries (huge thanks to everyone who visited our booth!), our core devs were back at work focusing on performance and stability.

We’ve heard your feedback on Discord and the Steam forum: expanding your factory, especially in the late game or on older machines, could get pretty laggy. So we made performance our top priority, working hard to boost frame rates and squash as many crash issues as possible.

Our original plan was to focus on quality-of-life improvements (like refining the UX) and adding new content, especially around combat and factory defense. But your input convinced us that Dawn Apart first needed a serious performance upgrade.

We’ll continue working on optimizations over the course of development, but for now here’s how we achieved noticeably faster FPS and improved stability:

Optimizing just about always starts in the profiler which gives us a view into what is taking the most time during the frames. Wherever we see systems taking suspicious amounts of time we target them for a deep dive. Usually there are easy ways to boost performance, but sometimes it requires larger refactoring to use different algorithms and structures. Since our project uses Unity DOTS one of the easiest ways we can boost performance, essentially for free, is to Burst Compile our game logic. The trade off is our data needs to be in a very specific format with no managed memory to be able to be Bursted which usually means wacky workarounds with lots of “boilerplate” code. We went through and updated just about every system we have to use Bursted Jobs and updated their update ordering to avoid sync points which force all Jobs running on Worker Threads to complete their work before doing anything else.

We also updated various UI Controllers which were doing slightly inefficient stuff which normally isn’t a big deal, but once the game simulation starts to get fairly complex any performance we can squeeze out makes a big difference. We have plans for another large optimization pass for the physics aspects of the game which is currently the next biggest item in the profiler.

On average we managed to shave off 10ms per frame in the mid to late game. That means if the game ran for you at a measly 40 FPS it would now run with more than 60 FPS!

As this lays a foundation, we can turn our attention back to gameplay improvements and new content. However, we will revisit performance as a topic from time to time. Expect a more detailed Early Access roadmap in the coming weeks.

In the meantime, check out the updated build - and if you haven’t yet, please consider leaving us an honest review on Steam.

Changes: 

  • Added basic delete functionality to the save/load menu

  • Fixed agents trying to craft something they cant craft after finishing or dequeuing an item

  • Updated sensor logic to make agents respond quicker to workstation queue updates

  • Fixed agents not properly clearing their craft interactions

  • Fixed empty stock interaction not properly being deregistered from stockpile groups

  • Fixed crash if an invalid smart object is used during EmptyStockAction

  • Added logic to disable view modes when pressing their respective button if they are the currently selected mode

  • Added various new translations to the settings menu

  • Fixed alphabet signs being almost completely dark

  • Fixed base-concrete-ramps broken TargetVoxelObject and add some safety checks

  • Fixed connection buffer lookup being marked as readonly in the PlaceBlueprintSystem

  • Fixed small english quest text capitalization issues

  • Fixed agents taking items from feeders

  • Updated jungle tiles to be lighter

  • Updated all ItemConversionSystem to be bursted

  • Added new recipe and converter data tables for un-managed data access

  • Updated various prototypes to use burst friendly types

  • Updated WorkstationRecipeSatisfactionSensorJob to be bursted

  • Updated feeder want item update system to use non-managed data objects to allow the job to be bursted

  • Moved around RequestSystemGroup and FixedBlueprintSystemGroup to avoid premature physics job completions

  • Updated various controllers to use a cached main cam transform

  • Disabled TVE as it's not being used

  • Updated PathValidationSystem to be a bursted parallel job

  • Disabled colliders on building supports

  • Added ItemFacade component to avoid performing certain tasks on visual only items (EX: stockpile stack items)

  • Fixed tooltip manager causing an error on exit

  • Fixed moonlight tower spotlight updating shadow map every frame

  • Updated various goap actions to use RecipeDataTable directly instead of prototypes

  • Updated ConverterFeedingSensorJob to be bursted

  • Updated various system update ordering to group sync points better

  • Slightly optimized transformation of an aabb if it has an identity rotation

  • Slightly optimized the updating of the global stockpile

  • Fixed tooltip still running position update logic in certain cases when it was hidden

  • Fixed object speech bubbles needing to force rebuild layout on update

  • Disabled autoscroll text in extended buttons by default

  • Added GetItem interaction to chopped wood and mined resources

See you soon on Sirius B 3,

The IT&W Team


Windows Depot 1866301
  • Loading history…
Ad-free Steam data for everyone since 2012
Support SteamDB • Donate or contribute
Open link