- laying out instances of the same Component next to each other in memory
- Burst.Compiling their Update() functions
- adding backwards compatible APIs to do parallel loops etc over multiple components
Given the culture of constant rewrites Unity has displayed (and I'm sure they have lots of techdebt to make rewrites feel appealing), its seems far from certain that they explored avenues like this sufficiently.
Or maybe they felt their earlier modification of Mono, which kept them on an old version of .NET for so long, was too painful to even consider touching the runtime ever again.