結論
Assets/
└─ ProjectName/ # クライアントサイドのアセット群
├─ Scripts/ # プログラマーのみが触る
│ ├─ EditorOnly/Editor/
│ │ ├─ EditTime/
│ │ │ ├─ Pipelines/
│ │ │ ├─ Extensions/
│ │ │ └─ Tests/
│ │ └─ RunTime/
│ └─ ...
├─ Integrations/ # プログラマーとデザイナーの両方が触る
│ ├─ Prefabs/
│ ├─ Shaders/
│ │ └─ Textures/
│ └─ ...
├─ Arts/ # デザイナーのみが触る
│ ├─ Original/
│ │ ├─ Materials/
│ │ ├─ Models/
│ │ ├─ Textures/
│ │ ├─ Animations/
│ │ ├─ Sprites/
│ │ │ ├─ UiSpace/
│ │ │ └─ WorldSpace/
│ │ ├─ Audios/
│ │ │ ├─ Monaural/
│ │ │ └─ Stereo/
│ │ └─ ...
│ └─ ThirdParty/
├─ Scenes/
│ └─ Profiles/
└─ Datas/
└─ GameConfigs/
大事にしたこと
- 職種の垣根を超えてアセットをいじらない
- 最終的にPrefabにする。テクスチャとかを直接ロードしない
- (プログラムは)アセンブリ構造と揃える