Isn't Unity stuck with C# 2.0 ?
public sealed class ExtensionAttribute : Attribute { }
Even async/await comprises of a convention and an interface - I haven't tried it, but in theory using the CLR 2.0 TPL should bring async/await your project. So far as I know, the feature being used for ref returns has always existed for C++/CLR so this stuff should work on CLR 2.0 (although you will need the C# 7.0 compiler).There's a project out there that swaps the mono compiler with Roslyn and gives some nice edit and continue features for Unity.