コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】「Unity初心者が全財産200万投じて、チーム開発に挑戦してみた。」感想

Unity初心者が全財産200万投じて、チーム開発に挑戦してみた。【Prefab2D開発ノウハウ】 - NAVER まとめ
http://matome.naver.jp/odai/2139014619023230301

私的まとめ

  1. Prefab毎にテスト用のシーンを用意する
    本番用のシーンにPrefabを置いておく必要がなくなるため
  2. Prefabの階層は2階層までに留める
    3階層目以降が必要な場合は別のPrefabを用意して動的に作成する
  3. Prefabの親のTransformは初期値にする
    動的に生成された場合に変な座標とサイズで表示されるのを防ぐため
  4. 親オブジェクトにUI系のコンポーネントをアタッチしない
  5. PlayMakerは弱小チームでは使うべきではない
    デバッグやリファクタリングが難しい、メソッドの使用箇所を抽出できない
  6. SendMessageなどの文字列指定によるメソッドの呼び出しは極力控える
    コンパイルエラーが発生しないため

感想

Unityの個人開発におけるノウハウはいろいろなブログやサイトさんで見かけるのですが
チーム開発におけるノウハウは意外と見かけないのでスゴく参考になりました!

特に下記の項目はスゴく共感しました

アジャイルな開発をするには、全てC#のコードで出来るだけ、直接コードを叩くべきだ。
(SendMessageやInvoke等の文字列によるメソッドの呼び出しは極力控えるべきだ。)

UnityはSendMessageもLoadLevelも文字列指定ができてしまうので
呼び出す関数やシーンの名前を変更した場合にコンパイルエラーにならないんです

なので僕はSendMessageは使用しないように、LoadLevelに関しては
シーン名を定数で管理するクラスを自動で作成するエディタの拡張機能を用意して
シーン名が変わった時にコンパイルエラーが発生するようにしています

詳しくはこちらの記事が参考になります

けいごのなんとか • スクリプトでシーン名を扱うのをタイプセーフにしてみた
http://anchan828.tumblr.com/post/37544410340