(:3[kanのメモ帳]

個人ゲーム開発者kan.kikuchiのメモ的技術ブログ。月木更新でUnity関連がメイン。

Resourcesにあるファイルをビルド時にのみ移動する【Unity】


このエントリーをはてなブックマークに追加

この記事でのバージョン
Unity 5.6.0f3


はじめに

UnityではResourcesに入っているファイルは基本的に全て、ビルドに含まれてしまいます。

なので、ビルドしたくないファイルはResourcesに入れてはいけないのですが、

場合によってはResourcesに入れたいけど、ビルドには含めたくない!という場合もあると思います。


という事で今回は、Resourcesにあるファイルをビルド時にのみ移動する方法のご紹介です。


ResourcesAutoEvacuator

実装方法は、

ビルドする前に実行されるOnPreprocessBuildでファイルを移動し、

ビルドした後に実行されるOnPostprocessBuildで移動したファイルを戻すだけです。


なお、OnPreprocessBuildはUnity5.6から機能なので、注意が必要です。


実際にプログラムにしてみると以下のような感じに。



上記のResourcesAutoEvacuator.csをEditor上に作成し、

Resources内にTemporaryというディレクトリを作成すると、

ビルド前にディレクトリごとEditor内に移動するようになります。


f:id:kan_kikuchi:20170421125929p:plain


Unityエディタ上で見ても移動したか分からないので、Finderで確認すると、


f:id:kan_kikuchi:20170422111339g:plain


ばっちり移動していますね……!


参考