1. Universe Sandbox
  2. News
  3. Pale Blue DOTS Preview Now Available | Physics Simulation Overhaul

Pale Blue DOTS Preview Now Available | Physics Simulation Overhaul

[p][/p][p]For the last four years, we’ve been working on a major overhaul of Universe Sandbox to utilize the Data-Oriented Technology Stack (DOTS) from Unity, the game engine we use to build Universe Sandbox, to[/p]
  • [p]Improve performance now and in the future.[/p]
  • [p]Add new physics simulation, like visually deformed objects and atmospheric drag to simulate meteors.[/p]
  • [p]Make our game code easier to maintain and build on.[/p]
  • [p]Provide a foundation for big features in the future, like building and flying spacecraft, and constructing megastructures like Dyson spheres.[/p]
[p]For this preview version we’ve only overhauled our physics simulation architecture, but we also plan to convert surface simulation, temperature and composition simulation, graphics simulation, and more over to DOTS in the future.

This physics update, like our graphics overhaul from March 2025, is part of our plan to rewrite Universe Sandbox piece by piece with cutting-edge systems so we can continue to improve it for years to come. It’s like we’re gradually replacing every part of a spaceship out from under you while you’re actively piloting it.[/p][p][/p][p]You can learn more about all the additions and improvements that are part of this preview version in our preview What’s New.[/p][p][/p][h3]Try the preview of Pale Blue DOTS | Update 36 right now![/h3][p]Learn how to opt-in to this preview version on Steam, now available for testing and feedback on the !preview-version Steam beta branch.[/p][p]https://universesandbox.com/support/previewversion[/p][p] [/p][h2]How does this make Universe Sandbox better?[/h2][p][/p][h3]New Features[/h3][p]Most of this update focuses on rewriting existing features, like gravity and Roche fragmentation, so you may not notice any immediate differences at first glance. But don’t worry, we’ve added a few new things to check out.
[/p][p]Simulate Meteors
Objects now burn up as they travel through planet atmospheres with our new drag force. Check it out in our new Meteor Shower from Earth’s Surface simulation.
[/p][p][/p][p]Improved Lasers!
Blast multiple objects at once with the updated laser! Objects will now block the beam from hitting hidden objects. Increase the force from radiation pressure to push planets and their rings.[/p][p][/p][p][/p][p][/p][p]Objects Stretching & Squishing
The stretching and flattening of fast-rotating objects and extreme gravitational forces are now simulated. Until we release our planned collision shape update, surface simulation and collisions will continue to simulate all objects as spheres, even if they do not appear spherical.[/p][p][/p][p][/p][p]Non-spherical Gravitational Fields
Similar to visually flattening objects, we’re now fully simulating how an object's gravitational field changes when it's no longer a sphere by simulating its oblateness factor (also called J2). Previously, these factors, used to simulate the orbits of sun-synchronous satellites, had to be manually entered.
[/p][p][/p][p]Tidal Locking
Gravitational interactions that change an orbiting object’s rotational period until the same side of one object always faces the other, as the Earth has done to the Moon, are now simulated. Visualize tidal locking by turning on Tidal Lag in the View panel to see the difference between the object’s orbital and rotational periods.
[/p][p][/p][p]Predicted Paths
See the path an object will follow as we project its motion into the future. Checking for collisions along the way, this path will turn from yellow to red, showing the amount of predicted overlap. Turn on predicted paths under
View > Overlays > Predicted Paths
[/p][p][/p][p]Lagrange Points
Mark the location of Lagrange points, points where the gravitational forces between all objects in the system are equal, with the press of a button. You can also quickly place objects at a Lagrange point with the Place Object at Lagrange Point option.
[/p][p][/p][h3]Future Plans[/h3][p]There are many more features we’re planning to build on top of this new framework, including[/p][p][/p][p]Gravity Simulation Optimizations[/p][p]We’re looking into an alternative method of gravity simulation, called Barnes-Hut simulation, that can improve performance and allow more simulated objects, at the cost of slightly reduced accuracy. This will improve our ability to simulate rock fragments and dust clouds attracting and merging to form planets & moons.
[/p][p][/p][p]Everyday Object Collisions
From dice to spacecraft, non-celestial objects will eventually collide according to their true shapes instead of simplified spheres, using rigid-body physics.[/p][p][/p][h3]Maintenance & Performance[/h3][p]The structure of Unity’s Data-Oriented Technology Stack (DOTS) simplifies our code by breaking it into smaller parts while maintaining the complexity required to simulate the universe. This restructuring makes it easier to maintain, build on, and identify and address issues as we add new features.[/p][p][/p][p]Moving as much of our simulation as possible to this new structure will let your computer perform calculations faster. Eventually, these performance improvements will allow us to simulate more objects, collisions, and fragments at once on desktop computers and mobile devices alike.
[/p][p][/p][p]The code we previously used to determine the phases of a material on an object in Universe Sandbox. It utilized references to other functions and determined output based on multiple “if” statements.
[/p][p][/p][p]The new method for determining the phases of a material on an object in Universe Sandbox. This code is streamlined with half as many lines and is easier to maintain and follow with no “if” statements.
[/p][h2]What is DOTS?[/h2][p][/p][p]DOTS (Data-Oriented Technology Stack) is essentially Unity’s version of a data-oriented design for game development within the Unity game engine. Okay, so what’s a data-oriented game design?[/p][p][/p][p]A data-oriented design means focusing on operating directly on the data within the game. This optimizes the main thing a game does: take some input data, do something to it, and then output the transformed data.[/p][p][/p][p]This might sound obvious, but it’s different from traditional object-oriented game design, which is what Universe Sandbox previously used.[/p][p][/p][p]Object-oriented game design focuses on game objects, like Earth in Universe Sandbox. With an object-oriented approach, you take data from an object, like Earth, do something with it, like determine its position and velocity as it orbits the Sun in the next frame, and then apply the data to the object. Typically, this approach works on one object at a time and takes longer when there are more objects.[/p][p][/p][p]In contrast, data-oriented design focuses on how we transform the data on each object. For example, we know that all objects in the Solar System have a position and velocity, and they’re all influenced by gravity. Each object has different properties, but the math used to find each object's position and velocity is the same. 
[/p][p]Since the math is the same, instead of computing the position and velocity of each object in the Solar System one at a time every frame, our data-oriented design lets us compute them all at once. Then we apply that transformed data back to each object whenever the data is requested. This design optimizes the data calculations and uses fewer computational resources.[/p][p][/p][h3]How Does DOTS Work?[/h3][p]DOTS is really made up of three pieces: the Entity Component System, the Burst compiler, and the Job system. The most important things to know are[/p]
  • [p]Unity’s Entity Component System makes us strictly structure our code so that all of our data is laid out in a specific way in the computer memory.[/p]
  • [p]Because data is stored in a fixed layout in the computer memory, we don’t waste any computing time finding it since we know where it all is.[/p]
  • [p]Unity’s Burst compiler optimizes how our code accesses and processes data after we make a new version of Universe Sandbox, since we know where it is in memory, making our computations faster.[/p]
  • [p]With all our data laid out in a specific way, Unity’s Job system determines which computations can run simultaneously, enabling us to perform more computations in less time.[/p]
[h3]How is DOTS Different?[/h3][p]Previously, there was no specified layout for where data was stored in computer memory, so it took extra computation power to locate the data before we could use it for our computations. The Entity Component System forces us to structure our code in a specific way so that data is stored in a specific layout in computer memory. Rewriting our simulation code in this format took a lot of time and effort, but it not only allows us to improve computation performance but also makes our code more uniform, easier to maintain, fix, and build on. [/p][p][/p][p]DOTS also makes it easier to run our simulation across all available CPU cores. Unity’s Job system determines which computations can run simultaneously so we can perform the most computations in the least time without introducing errors in the simulation. And the Burst compiler enables these computations to be run in the most efficient way, leading to more performance gains.[/p][p][/p][h3]Why Move to DOTS Now?[/h3][p]In short, the technology is now ready and mature enough to use.[/p][p][/p][p]Unity didn’t start working on DOTS until 2019, 8 years after we started development on Universe Sandbox, so building Universe Sandbox with this technology wasn’t even an option. Unity also didn’t officially release the last pieces of the DOTS until June 2023 (though we’d been looking into making this transition since 2021). With that last release, we were finally able to begin our restructuring of Universe Sandbox in earnest.[/p][p][/p][h2]What’s Next?[/h2][p][/p][p]Our core physics simulation has now been migrated to the DOTS framework, including our gravity simulation, collision physics, and spin and Roche fragmentation. This transition really is a complete restructure of our entire physics simulation, and we’re in the final stages of testing and bug fixes.[/p][p][/p][p]And this is just the beginning. So far, we’ve only moved our physics simulation to take advantage of all that DOTS has to offer. We’re also planning to move our other simulation systems, including our surface simulation, material composition system, and graphics rendering, over to Unity’s DOTS system. With each piece, Universe Sandbox will get more and more efficient so that you can simulate more with the same computational power.[/p][p][/p][p]For now, we want to do a thorough job testing our physics simulation. After all, we simulate the universe, and it would be bad if we broke physics.[/p][p][/p][p]And, like any new feature, there may be issues we haven't yet found or fixed – and you can help![/p][p][/p][h3]Try the preview of Pale Blue DOTS | Update 36 right now![/h3][p]Learn how to opt-in to this preview version on Steam, now available for testing and feedback on the !preview-version Steam beta branch.[/p][p]https://universesandbox.com/support/previewversion[/p][p][/p][h2]And Beyond…[/h2][p]Future updates will unify our collision simulation to allow for more realistic collisions of celestial objects like planets and everyday objects like pigeons, colliding according to their unique forms instead of as spheres, also called rigid-body physics.[/p][p][/p][p]This transition also lays the groundwork for us to eventually allow you to build and fly spacecraft, and construct megastructures like Dyson spheres. We’re excited for what’s already here and for what this will let us bring to Universe Sandbox in the years to come![/p][p][/p][p]Join our community discussions on our Steam Forum and our official Discord community.[/p]