クラス設計について質問です

class static ObjectPool {
 public static GameObject Player;
 public static GameObject Camera;
 public static GameObject Perticle[];
 public static Transform _Player;

 public static void SetPlayer(GameObject obj) {
  Player = obj;
  _Player = obj.transform;
 }
}

こんな風な静的クラスでGameObjectのインスタンスを保持して、
各マネージャークラスから取り出して使う設計って何か不味い問題あったりしませんか?

ググって出て来るサンプルソースだと各スクリプトでpublic変数を宣言してインスペクターで設定するようなことしかやっていないのでちょっと不安なんです