The Unity core is not written in C#, it’s in C/C++, they exposed the API via a C# wrapper. I don’t have the latest benchmarks on just how much slower C# is than C++ these days, but with anything but a toy engine the performance hit you’d take by writing your entire engine core in C# is not going to be acceptable.