コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】Unity 上で作成した C# スクリプトを DLL 化する方法

はじめに

詳しくはこちらのサイト様に記載されていますが、
備忘録として自分のブログにも手順まとめておきます

手順

「build.bat」という名前のファイルを Unity プロジェクトの Assets フォルダ直下に作成する

この「build.bat」に下記のようなコードを記述する

SET UNITY_PATH=【Unity がインストールされているパス】
SET DLL_FILENAME=【DLL のファイル名(拡張子付き)】
"%UNITY_PATH%\Editor\Data\Mono\bin\smcs.bat" ^
    -r:"%UNITY_PATH%\Editor\Data\Managed\UnityEngine.dll" ^
    -r:"%UNITY_PATH%\Editor\Data\Managed\UnityEditor.dll" ^
    -target:library ^
    -out:%DLL_FILENAME% ^
    *.cs

例えば、Unity が「C:\Program Files\Unity 2017.1.1f1」フォルダにインストールされており、 「test.dll」という名前で DLL 化する場合のコードは下記のようになります

SET UNITY_PATH=C:\Program Files\Unity 2017.1.1f1
SET DLL_FILENAME=test.dll
"%UNITY_PATH%\Editor\Data\Mono\bin\smcs.bat" ^
    -r:"%UNITY_PATH%\Editor\Data\Managed\UnityEngine.dll" ^
    -r:"%UNITY_PATH%\Editor\Data\Managed\UnityEditor.dll" ^
    -target:library ^
    -out:%DLL_FILENAME% ^
    *.cs

あとは、この「build.bat」を実行すると、
Assets フォルダ以下のすべての C# ファイルが指定した名前で DLL 化されます