技術と趣味の亜空間

主にゲームプログラミングとその周辺に関する記事を不定期で上げていきます

リリース用ビルドの時だけ不要なResourcesフォルダのデータを取り除くエディタ拡張を作ってみた

概要

Unity開発において、例えばデバッグ用のプレハブデータをResourcesフォルダに入れてたりする場合、リリース用ビルドでは要らないのでビルドに含めたくない、ということがあるかと思います。
本記事ではリリース用ビルドの時だけResourcesフォルダから特定のデータを取り除く方法の一例を紹介します。

Resourcesフォルダにあるデータはロード時間やビルド時間に影響してきますし、メモリ管理も大変になります。
ちょっとした規模のプロジェクトなら全然問題なのですが、大規模なプロジェクトになってくると響いてくるので、なるべく入れたくありません。
(Unity公式さんも使わないのがベストと言ってますし)

私のプロジェクトでは、超便利なデバッグアセット「SRDebugger」を利用していますが、このアセットはデバッグ用のプレハブデータがResoucresフォルダに入っています。
(SRDebuggerの解説はこちらの記事が非常に分かりやすいです)

SRDebuggerだと設定でリリース用ビルドでは表示させないようにすることもできますが、これは別にRescourcesフォルダからプレハブデータが消えるわけでもないので、今回は物理的に取り除くようにしました。

やり方

ビルドする前にResourcesフォルダをEditorフォルダに移動させて、ビルドが終わったらもとに戻すエディタ拡張を作成します。
また、開発用ビルドでは取り除かないようにもしておきます。

ソースコード

動作環境: Unity 2018.1 以降
iOSAndroid 実機動作確認済み
以下のコードをEditorフォルダに置き、必要に応じてディレクトリのパスを修正してください。