Unityで個人開発をしていると、実装できることがどんどん増えてきて、気づけば「盛りすぎた構成」になっていた──そんな経験はないでしょうか? この記事では、私自身がUnityでゲーム・アプリを開発する中で「複雑にしすぎたことで逆に回らなくなった」失敗談と、そこから得た"引き算"の設計視点について紹介します。 実装できる≠実装すべき、という罠 Unityの機能やアセットは非常に強力です。以下のような「やろうと思えばできる」ことが山ほどあります: 複数の機能や状態を組み合わせて"網羅的に対応できる構成"にする UIやデータ構造に多くの変数・例外パターンを含めて"柔軟性重視"にする セーブデータの構造に汎用性を持たせすぎる 最初は「拡張性のあるシステムにしよう」「どんな仕様でも耐えられるようにしよう」と意識して設計していたはずが、気づけばコードもデータ構造も複雑化。 結果:変更が怖くなる/デバッ