【感動】UnityでC# 6.0 が使えた!!
追記:朗報
Unity 2017 からは、デフォルトで C# 6.0 および .NET 4.6 が使用可能なようです!
この記事では Unity 5 での場合を紹介しています。
こんにちはー!!
Unityでも、最新の C# 6.0 を使って、
async、await とかカッコよくコードを書きたいんだ ლ(´ڡ`ლ)
そんなことできないかなーと思って、調べてみました。
そしたら、なんと、ありました!!ので紹介します。
1. リポジトリをダウンロード
C# 6.0関係のいろいろが入ったリポジトリをBitbucketからダウンロードします。
https://bitbucket.org/alexzzzz/unity-c-5.0-and-6.0-integration/downloads
ダウンロードしたファイルは、Zip形式で圧縮されているので、展開します。
2. プロジェクトにインポート
Unityのプロジェクトのフォルダーを開き、
「CSharp60Support」をコピーします。
CSharp60Support内の、「CSharp60Support for Unity 5.unitypackage」
(Unity 4だったらUnity 4の方)を開き、
プロジェクトにインポートします。
大量にエラーが出ますが、気にせず、
「CSharp60Support」ディレクトリを右クリックし、「Reimport All」をクリック。
ダイアログが出てくるので、「Reimport」を選択すると、Unityが再起動し、エラーがすべて消えます。
3. 試す
新しいスクリプトを適当に作って、C# 6.0を試してみましょう。
試す機能は、String interpolationです。
1 | // 略 |
新しく空のゲームオブジェクト(Hierarchy右クリック「Create Empty」とか)を作成し、
作ったスクリプトをアタッチしましょう。
できました~~!!
4. Visual Studio、MonoBehaviourでエラーが出るときは
Unityではエラーが出なくても、
「◯◯という機能はC# 6.0で使えて、C# 4では使えないよー」的なエラーが、
Visual Studio、MonoBehaviour側で出るときは、IDEを再起動しましょう。
まとめ
これでのびのびとUnityが使える!
自分的には、C# 6.0で一番便利な機能は、↑の、$"{変数}"
で、string.Formatっぽいのが使える機能です(名前忘れた -> 追記: String interpolation らしい)
これが使えるのは本当に嬉しい!
(え、async 、await 使ってみないの)→試してみます!