Unity2018.3からIncrimentalCompilerがUWPでも利用できるようになりました。
Incrimental Compilerとは
これは、次世代コンパイラと呼ばれる「Roslyn」を Unity で使用し、 変更があった部分だけをリコンパイルすることで、 スクリプトのコンパイル時間を大幅に短縮する仕組みです また、C# 7.2 の機能も使用できるようになります
準備
PackgeManagerからIncrimental ComppilerをInstallする
Scripting Runtime Versionを,NET 4.xにする
Editorを開きなおす
コンパイル時間の短縮もうれしいですが,何といってもC#7.2が使えるようになるのが大きいですね。
コードの内容は酷いものですが,例えばタプルが使えるようになります。
// Start is called before the first frame update void Start() { var 理解したいもの = "非同期"; var 結果 = 完全に理解する(理解したいもの); Debug.Log($"Q. {理解したいもの}は完全に理解できましたか? A. {(結果.理解できたか ? "はい" : "いいえ")}"); Debug.Log($"Q. 何か少しでも{理解したいもの}を理解できましたか? A. {(結果.分かったこと)}"); ; } private (bool 理解できたか, string 分かったこと) 完全に理解する(string 理解したいもの) => (false, "分からんなんも");
コンソール出力結果
勿論,実機でも動きます
あとは未確認なのですが,C#7が使えるということでUniTaskも使えるようになる気がします
UniTaskも動作します。
async void Start() { var msg = await TestMethod(); Debug.Log(msg); } async UniTask<string> TestMethod() { return await Task.Run(() => "Hello"); }
(他に画像なかったんだろうか…)