13
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Unity2017.3bのアセンブリ定義ファイルを使ってみた

Last updated at Posted at 2017-10-01

Unity2017.3bに含まれている機能として下記のアセンブリの分割があります。
こちらの機能が気になったので試してみた内容をメモ。

Editor: Added assembly definition files feature for script compilation pipeline in the editor. Allows you to define your own managed assemblies based upon scripts inside a folder. By splitting your project's scripts into multiple assemblies, script compilation times in the editor can be greatly reduced. Note that the latest version of Visual Studio Tools for Unity is required for this feature to work with solution and project generation for Visual Studio.

  • Unity2017.3.b2で検証
    • ※こちらの記事はβ版で試した物となります。

使い方について

使い方と言った基本的な情報についてはこちらの資料(「Script Compilation - Assembly Definition Files」)に概ね記載されておりますが、実際に試した際にはアセンブリ定義ファイルの拡張子が「.assembly.json」では無く「.asmdef」になっていたり、jsonの設定項目がEditor上から編集可能だったりしたので、今回はEditor上から設定を行う前提でやり方をメモ。
※アセンブリ定義ファイルについて、拡張子は違っても内容自体は資料中にある物と一致している模様。

設定手順

例として、以下の"Assets/Script"以下にある"Test2.cs"を別のアセンブリに分割する手順をメモ。
→現時点では何も設定を行っていないので"Assembly-CSharp.dll"に含まれる形になっている事が確認出来ます。
※含まれるアセンブリについてはソースファイルを選択した際にInspector中の「Assembly Information -> Filename」に表示される様になっている模様。

ss1.png

  • 手順
    • ①. 分割するScriptを入れるフォルダを作成
      • ※例として"Assets/Scripts/TestAsm"を作成
    • ②. ①の手順で作成したフォルダ内にアセンブリ分割ファイルを作成
      • アセンブリ分割ファイルは右クリックメニューの「Create -> Assembly Definition」から作成可能
      • ※例として作成したAssembly Definitionのファイル名を"TestAsm.asmdef"に設定

ss6.png

これで設定は完了。
→分割予定のフォルダ中にあるTest2.csが"TestAsm.dll"に含まれる形に変更されている事が確認出来ます。

ss3.png

アセンブリ定義ファイルについて

アセンブリ定義ファイル(.asmdef)について把握している情報をメモ。

  • Inspector上での表示は下記の様になっており、以下の項目が設定できる模様

ss5.png

見たままではありますが、Referencesは「+」ボタンを押下して項目を増やし、参照させたいアセンブリ定義ファイル(.asmdef)を指定することで設定可能。Platformsは必要な項目に対しチェックを付ける形で設定可能。

その他情報/注意点など

  • Script Compilation - Assembly Definition Files」には上述しているInspector上から設定できる項目以外にも「フォルダ内に複数言語(C#/JavaScript(UnityScript)/Boo)存在する場合の挙動」「下位互換性(コンパイル順、Unityの定義済みアセンブリとの依存関係、etc)」と言った各種情報が記載されているので要チェック。

関連/参考サイト

13
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?