I think this is quite an interesting video. Would love to have source code to compare. IMO it's not really a Godot vs Unity performance comparison, but more of a Microsoft CoreCLR C# (what Godot uses) vs Unity Mono C#.

I feel many who theorized about C# performance in Godot really forgot how much better the Microsoft version is, to the point you have to use ECS in Unity to match regular C# code in Godot.

https://www.youtube.com/watch?v=8v5SrgkC_dI

Godot C# vs Unity C# and ECS - Comparing Game Engine Performance

YouTube

For those who want it a bit more technical, IMO the memory needed for 5000 bees fits happily in the L3 cache, for which ECS in itself should not be much of an improvement, and neither Godot nor Unity should have much issue drawing those many sprites, so to me this is more of an C++ <-> C# API glue and C# runtime benchmark.

Being Unity is literally a C# engine, I don't think it has worse glue code than Godot, so IMO this is more about the C# runtime.

@reduz unity is a c++ engine with a c# frontend
@morten_skaaning Right, this is why I think their glue code must be very efficient and the problem reside at the C# level.
@reduz i think they mostly generate the glue code so the memory layout of c# and c++ is the same, so you can just reinterpret_cast. Unity had some focus on not doing managed allocs in glue code, but I don't know if they kept it up after DOTS.