【Unity】フォルダ構成を考える
大切なのは分かりやすさ。過去4パターン程度経験したので記録しておこうと思いましす。
目次
パターン1 素材の種類を基準とした場合
Resources/
└ Prefab
└ Material
└ Texture
└ Model
└ Shader
メリット
- 最上位のフォルダを見れば、素材の種類が分かる
デメリット
- 異なるリソース間との関連付けが不明
パターン2 使用する場所・物で分けた場合
Resources/
└ UI
└ Battle
└ Prefab
└ Texture
└ Material
└ 3DMap
└ Map0001
└ Prefab
└ Model
└ Texture
└ Material
メリット
- ひとつの階層のフォルダさえ見れば良い
デメリット
- フォルダが増える
パターン3 職業毎に分けた場合
Engineer/
└ Resources
└ Prefab
└ Script
Designer/
└ Resources
└ UI
└ Battle
└ Prefab
└ Texture
Planner/
└ Document
└ Resources
└ Database
└ Battle
メリット
- 職業毎に触って良いファイルが明確
- 常に同じ環境を触ることになるため、職種間の連携が自然に生まれる
デメリット
- 職種問わず、統合開発環境のメリット、環境を理解している必要がある
パターン4 AssetBundleを主軸においた形式
Assets/
└Resources
AssetBundleData/
└ Resources
└ UI
└ Battle
└ Prefab
└ Texture
UnityEditor上ではResourcesからの読み込みを使わない。
メリット
- 最初からAssetBundleに対応出来ていれば、後から分ける必要がない
デメリット
- 開発初期から環境が整っている必要があるため、そうでなければ初期コストが高くなる
まとめ
- 人間の脳は複数のことを処理しようとすると、混乱するため複数箇所を確認するのは辛い
- 複数箇所を確認しようとすると必ずミスが発生するので、シンプルにまとめる
- 人に優しく