Unity と Visual Studio を使用するためのベスト プラクティスBest practices for working with Unity and Visual Studio

Unity を使用した複合現実のアプリケーションを作成する開発者は、HoloLens や、イマーシブ ヘッドセットに展開されているアプリケーション パッケージを作成するには、Unity と Visual Studio の間で切り替える必要があります。A developer creating a mixed reality application with Unity will need to switch between Unity and Visual Studio to build the application package that is deployed to HoloLens and/or an immersive headset. 既定で Visual Studio の 2 つのインスタンスは必要な (Unity のスクリプトを変更するもの) とデバッグとデバイスに展開する 1 つを使用します。By default two instances of Visual Studio are required (one to modify Unity scripts and one to deploy to the device and debug). 次の手順により、1 つの Visual Studio インスタンスを使用して開発するには、Unity プロジェクトでは、エクスポートの頻度が削減され、デバッグ エクスペリエンスが向上します。The following procedure allows development using single Visual Studio instance, reduces the frequency of exporting Unity projects, and improves the debugging experience.

イテレーションの時間を改善Improving iteration time

Unity と Visual Studio を使用する場合は、一般的なワークフロー問題には、複数の windows の Visual Studio の開いていると継続的に反復処理するには、Visual Studio と Unity の間で切り替える必要が発生しました。A common workflow problem when working with Unity and Visual Studio is having multiple windows of Visual Studio open and the need to constantly switch between Visual Studio and Unity to iterate.

  1. Unity - シーンを変更すると、Visual Studio ソリューションをエクスポートします。Unity - for modifying the scene and exporting a Visual Studio solution
  2. Visual Studio (1) - スクリプトを変更します。Visual Studio (1) - for modifying scripts
  3. Visual Studio (2) - ビルドと展開、Unity は、デバイスに Visual Studio ソリューションをエクスポートするためにVisual Studio (2) - for building and deploying the Unity exported Visual Studio solution to the device

さいわい、Visual Studio の単一のインスタンスを効率化し、Unity から頻繁にエクスポートを削減する方法があります。Luckily, there's a way to streamline to a single instance of Visual Studio and cut down on frequent exports from Unity.

ときにUnity からプロジェクトをエクスポートする、確認、 UnityC#プロジェクト"ファイル > のビルド設定 メニューのチェック ボックスをオンします。When exporting your project from Unity, check the Unity C# Projects checkbox in the "File > Build Settings" menu. ここで、Unity からエクスポートしたプロジェクトを含むすべてのプロジェクトのC#スクリプトし、いくつかの利点があります。Now, the project you export from Unity includes all of your project's C# scripts and has several benefits:

  • Visual Studio の同じインスタンスを使用して、スクリプトを記述すると、プロジェクトのビルド/展開Use the same instance of Visual Studio for writing scripts and building/deploying your project
  • シーンが Unity エディターで変更されたときにのみ、Unity からのエクスポートします。再度エクスポートすることがなく、Visual Studio でしてスクリプトの内容の変更を実行することができます。Export from Unity only when the scene is changed in the Unity Editor; changing the contents of scripts can be done in Visual Studio without re-exporting.

UnityC#プロジェクト有効にすると、各プログラムの 1 つだけのインスタンスを開く必要があります。With Unity C# Projects enabled, only one instance of each program need be opened:

  1. Unity - シーンを変更すると、Visual Studio ソリューションをエクスポートします。Unity - for modifying the scene and exporting a Visual Studio solution
  2. Visual Studio - ビルドと展開、Unity は、デバイスに Visual Studio ソリューションをエクスポートし、スクリプトを変更します。Visual Studio - for modifying scripts then building and deploying the Unity exported Visual Studio solution to the device

Visual Studio Tools for UnityVisual Studio Tools for Unity

ダウンロードVisual Studio Tools for UnityDownload Visual Studio Tools for Unity

Visual Studio Tools for Unity の利点があります。Benefits of Visual Studio Tools for Unity

  • Visual Studio から Unity エディターでの再生モードは、変数や複雑な式を評価するブレークポイントを配置することでデバッグします。Debug Unity in-editor play mode from Visual Studio by putting breakpoints, evaluating variables and complex expressions.
  • Unity プロジェクト エクスプ ローラーを使用すると、Unity を表示する正確な同じ階層に、スクリプトを検索できます。Use the Unity Project Explorer to find your script with the exact same hierarchy that Unity displays.
  • Visual Studio 内から直接、Unity コンソールを取得します。Get the Unity console directly inside Visual Studio.
  • ウィザードを使用して、迅速に作成またはスクリプトに移動します。Use wizards to quickly create or navigate to scripts.

公開C#容易なチューニング用の変数をクラスExpose C# class variables for easy tuning

クラスの変数を公開する 2 つの方法はあります。There are two ways to expose class variables. 推奨される方法では、プライベート変数を [SerializeField] 属性を追加します。The recommended way to do so is to add the [SerializeField] attribute to your private variables. これにより、エディターからのアクセスがないプログラムで公開することができます。This allows them to be accessed from the editor but not programatically exposed. その他のオプションはさせるC#クラス変数を public エディター UI で公開します。The other option is to make C# class variables public to expose them in the editor UI.

両方のアプローチを使用すれば、エディターでの再生中に変数を簡単に調整できます。Both approaches make it possible to easily tweak variables while playing in-editor. これは、チューニング操作メカニック プロパティに特に便利です。This is especially useful for tuning interaction mechanic properties.

Windows SDK または Unity のアップグレード後は、UWP の Visual Studio ソリューションを再生成します。Regenerate UWP Visual Studio solutions after Windows SDK or Unity upgrade

UWP の Visual Studio ソリューションをソース管理にチェックインは、新しい Windows SDK または Unity エンジンへのアップグレード後に古いで取得できます。UWP Visual Studio solutions checked in to source control can get out-of-date after upgrading to a new Windows SDK or Unity engine. アップグレード後、Unity から新しい UWP ソリューションを構築し、チェックイン済みのソリューションに相違点をマージして、これを解決できます。You can resolve this after the upgrade by building a new UWP solution from Unity, then merging any differences into the checked-in solution.

変更内容を比較しやすいテキスト形式の資産を使用します。Use text-format assets for easy comparison of content changes

テキスト形式でアセットを格納すると、Visual Studio での差分をコンテンツの変更を確認しやすきます。Storing assets in text format makes it easier to review content change diffs in Visual Studio. 有効にするこの「> プロジェクトの設定 > エディターの編集」に変更する資産のシリアル化モードForce テキストします。You can enable this in "Edit > Project Settings > Editor" by changing Asset Serialization mode to Force Text. ただし、資産ファイルのテキストの変更をマージすることはエラーを起こしやすいし、ソース管理システムで排他的バイナリ チェック アウトを有効にするを検討、推奨されませんのでします。However, merging text asset file changes is error-prone and not recommended, so consider enabling exclusive binary checkouts in your source control system.