I wrote this article while contracting at Microsoft. It covers how to use more modern C# and .NET features enabled by the Unity scripting runtime upgrade that was introduced as “experimental” in Unity 2017. The article includes links to a sample project I created to demonstrate the various new features. The upgraded scripting runtime is planned to be the default in Unity 2018.3.
I decided to write this because, in my experience, many Unity developers don’t know what they’re missing when it comes to the years of C# features that Unity has been lacking until recently.
As a side note, my manager at Microsoft, Craig Dunn, removed my GitHub account from the contributor list once my contract ended, as I was getting a few questions in the public facing GitHub repository that hosts the article, and we agreed it made more sense for them to handle the QA for the document internally once I left.
You can see my my commits in my original GitHub repository.