Hello there. I am making a space sim with some level of NPC economy simulation and I want to ask about how to best utilize unity ECS architecture in my specific case.

There will be 200 star systems with est. 20 AI entities per celestial object that will amount to est. 25 000 Vector2 2D entities. Ideally, I would like to have that running at all times in the background and displayed on a 2D map in form of simple 2D objects moving around the systems with no collision or physics. Instead, there will be economy calculations and warfare which will be much simplified but still, it will be observable on the map live.

Then, I will have another layer of the star system where the player is located in. It will be 3D AI layer that will be streamed in addition to assets and materials and translated from 2D simulation running in the background when the player enters a system. It will consist of around 200 3D AI objects with reasonably detailed 3D models and textures at close to camera distance.

If there is some combat happening in the system I want to take the 2D data and extrapolate it to 3D during star system load based on some kind of simple, random algorithm but with a time sensitive seed somehow so that it will appear similar if player decides to reenter the system immediately. Other ships will just make a bounding box check at spawning in the location of 2d coordinates and if they are on top of each other they will go either up or down in the vertical. I guess it could also be used with warfare groupings but I think I would want something more special here.

When the player leaves a system it returns to the 2D entities simulation layer.

I am not really convinced to use ECS on the whole project. I would want to just use it for the background simulation I think. So I would need to pass the entities data then during the streaming in and the current system would be pure game objects I guess.

So my question is: Is it feasible and what are the possible obstacles and methods. Is this a good approach to this problem? Thanks for any input.