- APIs to introspect type system properties / reflection
Swift very much has all these. And so does .NET.
As for Unity, it has diverged and lags behind "vanilla" .NET in features, language versions and performance significantly, so the experience of using it won't translate to what is expected to be "normal" C#/.NET of today.
- Automatic or semi-automatic memory management
- Threadpool and, optionally, async abstraction implementation
- APIs to introspect type system properties / reflection
Swift very much has all these. And so does .NET.
As for Unity, it has diverged and lags behind "vanilla" .NET in features, language versions and performance significantly, so the experience of using it won't translate to what is expected to be "normal" C#/.NET of today.