Unityプロジェクトのフォルダ構成

半年くらい前に触ったきりのプロジェクトを更新しました。

2018.2.11から2019.1.8へバージョンアップをしたりして。

色々アプリをアップデートしていこうと思い立ったわけですが、フォルダがめちゃくちゃだった。その時は自分なりに整理していたつもりだったんですが。

はっきり言ってやりづらかった。

でもそれだけ成長したのかなとも思えて。

どこが変わったのかをまとめてみました。


導入したアセット

前:アセットストアからインポートしたあとにカテゴリごとに分けていた

今:インポートしたままフォルダを移動させない

絶対守った方が良いと思います。ツール系のアセットは特におかしくなるかも。


シーン(.sceneファイル)

前:Scenesフォルダにまとめて入れてた

今:Assets/_Myfolder/Scenes/シーン名/.sceneファイル

シーンだけで使うアセット、テクスチャをまとめるためにシーン毎にフォルダを作ることにした。

シーンが少なかったりするときは分けてない。共通して使う素材が多い場合も分けてない。


テクスチャ、マテリアル

前:Textureフォルダ、Materialフォルダに入れる。

今:シーン毎に分けている。

シーンで共通して使うものは一つ上の階層のフォルダにいれたりしている。

シーンが増えるとフォルダも増えてしまうけど分けといた方が良い気がする。そもそもプロジェクトが大きくなったら素材も増えてしまうのは仕方ないし。


スクリプト

前:スクリプトファイルをAssets/Scripts以下に入れていた

今:Assets/_MyFolder/Scripts/以下に全て入れる。

シーン毎で分けたりせずに、用途でフォルダを作ったりする。

Assets/_MyFolder/Scripts/Characterのように。

AssemblyDifinationは使わない。設定が手間。導入したアセットの方に入れるようにしたが、Editorフォルダなどで分かれているのは設定が面倒なのでやらないことも多い。

他のプロジェクトに使いまわせそうなスクリプトは、Assets/Scripts/Utilityとかにして、分かるようにしておく。

使いまわせそうなものはAssets/_MyFolder/Utility以下に入れる。アセットと組み合わせて使うスクリプトもありそうだし、その場合にScripts以下には.csファイル以外も入るのは何かきもちわるい気がする。


効果音アセット

前:効果音のアセットを全部インポートしていた

今:適当なプロジェクトに効果音のアセットを全部入れて、Unityを使わずにファイルのエクスプローラから音声を再生して使いたいものだけインポートする

効果音系のアセットは数が多いから全部いれると探すのが面倒だしプロジェクトが重くなる。必要なものだけいれる。

入れるときは、シーン毎に分けたりテクスチャと同じように入れている。

アセットのフォルダはUnityパッケージで入っているため、一度プロジェクトにインポートしないと見れないと思うので、プロジェクトを作る必要がある。


使いまわせそうなもの

前:適当

今:Assets/_MyFolder/Utility/機能毎のフォルダ 以下に入れる。

スクリプトも全て入れておく。アセットが必要なスクリプトがある場合(NewInputSystemとか)もあるのでまとめて入れることにしている。


自分で作ったものは自分のフォルダ以下に入れるようにして、アセットは導入した後にフォルダを変えたりしない。

前と比べてスッキリした気がするけど、やっぱり何かしっくりこない気もしたり。

フォルダ構成ってどうするのが正解なんだろう。