Before rewriting a Unity system in ECS.

An entity count is a description of scale. A profiler capture tells you where the time goes.

Make a comparison possible.

Choose a representative scene, a target device and a repeatable sequence. Record the build configuration, workload and behaviour you need to preserve. Keep this baseline while investigating the slow part of the frame.

If rendering or asset loading dominates, rewriting a simulation loop may not address the player’s problem. Inspect the CPU timeline and relevant rendering or memory evidence before choosing a migration.

Look at the work, then the objects.

Ask which data each update reads and writes, how often it needs to run and which results depend on other updates. A large number of similar operations can be a useful candidate for data-oriented organization. A small, irregular workload may not justify the same changes.

Unity Entities groups entities by their component types. Adding or removing a component changes that grouping. Repeated structural changes can therefore be a cost worth measuring, rather than treating every state transition as a free operation. These concepts are described in the linked Entities 1.0 documentation; check the documentation for your installed package before choosing an API.

Keep the first experiment contained.

Pick one workload with clear inputs and outputs. Keep the rest of the game stable while comparing the original implementation and the candidate. Include the cost of moving data across the boundary; measuring only the new loop can hide the cost of integration.

A useful comparison records:

  • Equivalent gameplay results, not just a faster timer.
  • Frame-time distribution across the same sequence, including spikes.
  • Allocations and memory under the same workload.
  • The cost and complexity of authoring, saving and debugging the system.

Leave the team a usable system.

Architecture is also a workflow decision. Decide how designers author the data, how developers inspect it and what happens when a save outlives a schema change. A fast subsystem that is difficult to understand can move the bottleneck into production.

My Grey Eminence contributions include Unity DOTS architecture, procedural globe generation, saves and a globe editor. Its million-plus tile world provides project context, not a promised performance result for a different game.

References and next steps.

See Unity’s archetypes, structural changes and CPU Profiler documentation.

For help with an existing simulation or a new system, see Unity ECS and DOTS development.

Your next world
starts with a conversation.

Share your vision. I’ll bring it to life.

The idea, the challenge, the next milestone. That's a good place to start.