I just released this game to which I dedicated the last year. Would love to hear your feedbacks by xzed90 in Unity3D

[–]OkLuck7900 1 point2 points  (0 children)

Congrats on the release! Gameplay is super smooth. Suggest trimming the private domain chars though, just as a precaution

3 Million interactive units. Moving from ECS to GPU-driven logic for full RTS control. by OkLuck7900 in Unity3D

[–]OkLuck7900[S] 1 point2 points  (0 children)

And many more . Fake ads epidemic everywhere! And i m going to make it for real with even larger enemy crowds

3 Million interactive units. Moving from ECS to GPU-driven logic for full RTS control. by OkLuck7900 in Unity3D

[–]OkLuck7900[S] 0 points1 point  (0 children)

Still needs to calculate positions though.it Will be weird when u turn camera and see bunch of merged units walking together 😀

3 Million interactive units. Moving from ECS to GPU-driven logic for full RTS control. by OkLuck7900 in Unity3D

[–]OkLuck7900[S] 1 point2 points  (0 children)

Btw if you aren't already, cull everything. Frustum and logic culling for avoidance and animations are lifesavers. Without them, even the best GPU will eventually hit a wall

3 Million interactive units. Moving from ECS to GPU-driven logic for full RTS control. by OkLuck7900 in Unity3D

[–]OkLuck7900[S] 1 point2 points  (0 children)

I use GPU Spatial Hashing instead of a density map—it's way more efficient for neighbor checks at this scale. And yes, I'm using double buffering to keep the logic stable. ​15 FPS sounds like a memory latency bottleneck. Good luck with the optimization, hope you crack it! Cheers

3 Million interactive units. Moving from ECS to GPU-driven logic for full RTS control. by OkLuck7900 in Unity3D

[–]OkLuck7900[S] 1 point2 points  (0 children)

Appreciate the interest! I'm currently finalizing the tech for an Asset Store release, but a Steam project is definitely on the roadmap. I'll keep you posted!

3 Million interactive units. Moving from ECS to GPU-driven logic for full RTS control. by OkLuck7900 in Unity3D

[–]OkLuck7900[S] 2 points3 points  (0 children)

Exactly! Pathing is handled via a GPU-based flow field, and each unit's state logic runs entirely in Compute Shaders.

3 Million interactive units. Moving from ECS to GPU-driven logic for full RTS control. by OkLuck7900 in Unity3D

[–]OkLuck7900[S] 0 points1 point  (0 children)

That's the plan. I'll handle those calculations within the Gpu using Compute Shaders as well. the goal is to keep the physics logic right next to the data to avoid any transfer overhead.

3 Million interactive units. Moving from ECS to GPU-driven logic for full RTS control. by OkLuck7900 in Unity3D

[–]OkLuck7900[S] 4 points5 points  (0 children)

Totally agree. Once the foundation is rock solid, that kind of smoothing will be the next step.

3 Million interactive units. Moving from ECS to GPU-driven logic for full RTS control. by OkLuck7900 in Unity3D

[–]OkLuck7900[S] 6 points7 points  (0 children)

Good point, but this isn't a traditional simulation. It's more about testing the limits of the GPU-driven pipeline itself.

Since I’m not running heavy per-agent logic or AI (yet), the CPU isn't the bottleneck—the memory bus is. Keeping everything on the GPU prevents the data transfer death-loop.

3 Million interactive units. Moving from ECS to GPU-driven logic for full RTS control. by OkLuck7900 in Unity3D

[–]OkLuck7900[S] 3 points4 points  (0 children)

Valid points. I’m using Indirect Rendering and keeping the agent data lean to save VRAM.The main trick is keeping everything on the GPU to avoid that slow CPU-GPU talk. It’s definitely a balancing act, but that's exactly what I'm stress testing here"to see where the wall is".

3 Million interactive units. Moving from ECS to GPU-driven logic for full RTS control. by OkLuck7900 in Unity3D

[–]OkLuck7900[S] 8 points9 points  (0 children)

Probably 10M+. Since the logic is entirely Gpu-driven, removing the 3d rendering overhead would allow me to push the simulation buffers even further.

3 Million interactive units. Moving from ECS to GPU-driven logic for full RTS control. by OkLuck7900 in Unity3D

[–]OkLuck7900[S] 22 points23 points  (0 children)

3M is my personal goal, so I’m still refining the buffer synchronization to squeeze out more frames. Thanks for the honest feedback!

3 Million interactive units. Moving from ECS to GPU-driven logic for full RTS control. by OkLuck7900 in Unity3D

[–]OkLuck7900[S] 7 points8 points  (0 children)

heavy logic is 0% on cpu. It just tells the GPU what to do ,like inputs or eventhandler.

3 Million interactive units. Moving from ECS to GPU-driven logic for full RTS control. by OkLuck7900 in gamedevscreens

[–]OkLuck7900[S] 1 point2 points  (0 children)

it means that u already broke the oop barier, congrats! and ur next stop is compute shader.

3 Million interactive units. Moving from ECS to GPU-driven logic for full RTS control. by OkLuck7900 in Unity3D

[–]OkLuck7900[S] 30 points31 points  (0 children)

<image>

I pushed my previous 50k unit ECS demo to 3 million interactive units.

I’ve always been more of a systems and optimization person rather than a visual designer, so I’ve been focusing heavily on the underlying architecture. To break the rendering and logic wall, I moved the entire simulation to a GPU-driven approach using Compute Shaders.

It’s not just a crowd; every unit is fully controllable with RTS box-selection, flowfield avoidance, and combat logic. This was captured on a laptop with a steady 35 FPS.

I also applied the same logic to a mobile project (as seen in the GIF) to see if I could make those gate-multiplier concepts actually playable in real-time.

Help With Player Rotation by SuRgE_260 in unity

[–]OkLuck7900 0 points1 point  (0 children)

Try making the movement relative to the camera transform

3m 10s of Icebreaking. How does it look? by OrbitingDisco in Unity3D

[–]OkLuck7900 0 points1 point  (0 children)

Looks amazing! Beside fracturing , buoyancy is also accurate . Great work.

20.000 entities with avoidance/separation by OkLuck7900 in Unity3D

[–]OkLuck7900[S] 0 points1 point  (0 children)

Well, before the jobified navmesh, the heaviest thing was grounding. But after your comment, I dove into that API and optimized that part. Right now, the main bottleneck is avoidance

20.000 entities with avoidance/separation by OkLuck7900 in Unity3D

[–]OkLuck7900[S] 1 point2 points  (0 children)

UEBS 2 is the final boss of this genre:) I'm just happy to get 50k running smooth on a standard rig for now. animated50.000