Unityscript is the Js clone they have/had (they’ve been pushing for C# to be the main language).
You can use null coalescing.
You can use all of Reflection bar platform restrictions on AOT ie. iOS (don’t recommend it in a game though...)
You can use a async/await.
You’re writing “real” C# with Unity, either with a custom Mono runtime or IL2CPP, neither of which turns your C# into “fake” C#
And Unity3D is “terrible” enough to serve 700 million players.
Then learn the settings and limitations for your target platform.
Just because you don’t know how to use Unity doesn’t make it doesn’t have features it does.
Look, just because I abhor Unity doesn't mean you have to take it personally.
Now you’re waving your hands and saying “So what I was wrong, Unreal has code, it has the best code”?
I think we’re done here.
It's terrible. Not being able to write native code is a tremendous weakness of the engine. Not to mention that since you're writing a "fake" C#, you don't get the full runtime (can't use reflection, can't use coalescing null features, etc).