Unity 3Dの.NETバージョンが謎すぎるので調査中
HoloLensの開発にUnityを使っていますが、UWPであるにもかかわらず、nugetが使えなかったり、UWP固有の呼び出しができなかったりして謎すぎるので調べています。
現時点では全てが明確に判明したわけではないです。気づいた点があればコメントいただけると嬉しいです。
使用している環境
- Unity 5.6.1f1
- Visual Studio 2017(15.2)
ビルドと実行環境のタイミング
UnityのScriptのビルドと実行環境は、次のものがあります。
- UnityからScriptの編集
- Unityで実行
- Visual StudioからUnityにプロセスアタッチしてデバッグ
- UnityからBuild
- Build出力のビルドと実行
さらに、Unityからリモート実行とか、HoloLensエミュレータで実行とかあるようですが未確認。
それぞれについて、フレームワークに何が使われているか調べてみました。
UnityからScriptの編集
UnityからScriptをOpenした状態。 プロジェクトフォルダ直下にある.sln, .csprojを開いたVisual Studio。
Unityで実行
Unityで再生マークを押して実行している状態。
Visual StudioからUnityにプロセスアタッチしてデバッグ
UnityからScriptの編集で立ち上がったVisual Studioを実行すると、Unityにプロセスアタッチします。 なので、Visual Studioで実行してから、Unityで実行すると、Unityで実行している状態をVisual Studioでデバッグすることができます。
UnityからBuild
UnityのBuild SettingsでBuildボタンをクリックしてビルドすること。
Build出力のビルドと実行
UnityからBuild時に指定したフォルダに作成された、.slnを開いたVisual Studio。 (Unity C# Projectsをチェックしている場合は編集できたり、)ビルドしてHoloLensにデブロイ、リモート実行すること。
調べ方
(そのうち書く!m(__)m)
結果
状況 | フレームワーク |
---|---|
UnityからScriptの編集 | .NET3.5 / .NET4.6 |
Unityで実行 | mono(.NET2系)っぽい |
Visual StudioからUnityにプロセスアタッチしてデバッグ | mono(.NET2系) |
UnityからBuild | UWP(UAP)っぽい |
Build出力のビルドと実行 | UWP(UAP) |