【Unity】フォルダ構成を考える

DEVELOP, 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に対応出来ていれば、後から分ける必要がない

デメリット

  • 開発初期から環境が整っている必要があるため、そうでなければ初期コストが高くなる

まとめ

  • 人間の脳は複数のことを処理しようとすると、混乱するため複数箇所を確認するのは辛い
  • 複数箇所を確認しようとすると必ずミスが発生するので、シンプルにまとめる
  • 人に優しく

Posted by kazupon