Unity と Visual Studio を使用するためのベスト プラクティス

Unity で Mixed Reality アプリケーションを作成する場合は、Unity と Visual Studio を切り替えて、アプリ パッケージをビルドして HoloLens またはイマーシブ ヘッドセットにデプロイする必要があります。 既定では、Unity スクリプトを変更するインスタンスと、デバイスに展開してデバッグするインスタンスの 2 つの Visual Studio インスタンスが必要です。 次の手順では、1 つの Visual Studio インスタンスを使用して開発でき、Unity プロジェクトをエクスポートする頻度が減り、デバッグ エクスペリエンスが向上します。

イテレーション時間の向上

Unity での .NET スクリプト バックエンドのサポートは、Unity 2018 では非推奨となり、Unity 2019+ では削除されました。そのため、IL2CPP に切り替えることをお勧めします。 ただし、Unity から Visual Studio へのビルド時間が長くなる場合があります。 より高速なイテレーションを実現するには、最適なコンパイル結果が得られるように環境を設定します。

  1. 毎回同じディレクトリにプロジェクトをビルドすることで、インクリメンタル ビルドを活用し、ビルド済みのファイルを再利用する
  2. プロジェクト & ビルド フォルダーのマルウェア対策ソフトウェア スキャンを無効にする
    • Windows 10設定アプリでウイルス & 脅威保護を開く
    • [ウイルス & 脅威保護の設定] で [設定の管理] を選択します
    • [除外] セクションで、[除外の追加または削除] を選択します。
    • [除外の追加] を選択し、Unity プロジェクト コードとビルド出力を含むフォルダーを選択します。
  3. SSD を使用してビルドする

詳細については、「IL2CPP のビルド時間の最適化」をご覧ください。 また、IL2CPP スクリプト のバックエンドでのデバッグに関するページをご覧ください。

UnityScriptAnalyzer Visual Studio 拡張機能のインストールを検討してください。 このツールは、Unity C# スクリプトを分析して、より最適化された方法で作成できるコードを探します。

Visual Studio Tools for Unity

Visual Studio Tools for Unity をダウンロードする

Visual Studio Tools for Unity の利点

  • ブレークポイントを設定し、変数と複雑な式を評価して、Visual Studio から Unity のエディター内再生モードをデバッグします。
  • Unity Project Explorer を使用して、Unity で表示される階層とまったく同じスクリプトを見つけます。
  • Unity コンソールを直接 Visual Studio 内に取り込みます。
  • ウィザードを使用して、スクリプトをすばやく作成したり、スクリプトに移動したりします。

チューニングを容易にするための C# クラス変数を公開する

クラス変数を公開するには、2 つの方法があります。 推奨される方法は、プライベート変数に [SerializeField] 属性を追加する方法です。 シリアル化されたフィールドにはエディターからアクセスできますが、プログラムで公開することはできません。 もう 1 つのオプションは、C# クラス変数をパブリックにしてエディター UI で公開する方法です。

どちらの方法でも、エディター内での再生中に変数を簡単に調整できます。これは、相互作用メカニズムのプロパティのチューニングに特に役立ちます。

Windows SDK または Unity アップグレードの後に UWP Visual Studio ソリューションを再生成する

ソース管理にチェックインされた UWP Visual Studio ソリューションは、新しい Windows SDK または Unity エンジンにアップグレードすると古いバージョンになることがあります。 Unity から新しい UWP ソリューションをビルドし、差分をチェックイン ソリューションにマージすることで、後から古いソリューションを解決できます。

テキスト形式のアセットを使用してコンテンツの変更を簡単に比較する

アセットをテキスト形式で格納すると、Visual Studio でコンテンツの変更の相違点を簡単に確認できます。 [編集] > [プロジェクト設定] > [エディター] を選択し、[アセットのシリアル化] モードを [強制テキスト] に変更することで、アセットをテキスト形式で格納することができます。 ただし、テキスト アセット ファイルの変更をマージするとエラーが発生しやすくなるため、推奨しません。ソース管理で排他的バイナリ チェックアウトを有効にすることを検討してください。

関連項目