著者・講師と制作担当
公式PDFの著者・制作協力者欄を確認。制作協力は原資料の「貢献者・寄稿者」を含む。日本語版の翻訳担当者は明記されていない。
担当確認:確認済み / 2026-10-10。名前からプロフィールと関連教材へ進めます。
担当表記の出典
付属サンプルの確認時点の対応表はUnity 6000.0.11f1/URP。Built-inとHDRPは非対応と表示。
言語と日本語への対応
日本語訳PDFの説明本文を確認。コード、API名、Editorの画面名や一部の図・見出しには英語が残る。翻訳品質の全頁校正は未実施。 日英PDFの表紙はUnity 6 Preview版。
Unity公式配布ページから取得した英語PDF『Level up your code with design patterns and SOLID』の表紙・目次・説明本文を確認。日本語PDFのp.6付近にあるデザインパターンの意味とUnity 6 Preview向け改訂の説明が英語版に対応しており、英語原資料の日本語訳と判断。
提供本文の言語:日本語
- Unity公式英語版の配布ページ(確認 2026-10-09)
- 公式英語PDF:表紙・目次・説明本文を確認(確認 2026-10-09)
- 公式日本語PDF:説明本文と英語版との対応を確認(確認 2026-10-09)
具体的に何を学び、何を作るか
公式の公開目次・概要をもとに、制作の流れを要約しています。
SOLIDを変更前後のコードで読む
PDF 13〜17ページは入力・移動・衝突音を持つPlayerをPlayerInput/PlayerMovement/PlayerAudioなどに分割。36〜42ページはSwitchとDoorの間にISwitchableを置き、Trapにも同じ操作を適用する。
Unityでインターフェースを渡す
PDF 34〜35ページはInspectorでインターフェースを直接扱う制約を説明し、MonoBehaviour参照をシリアル化して実行時にIInteractableか確認する例を示す。抽象化の図だけでなくUnityでの参照設定までつなぐ。
生成・再利用・寿命を比較する
Factory、Singletonに加え、PDF 58〜65ページでStack<PooledObject>による手作りプールからUnityEngine.PoolのObjectPoolへ進む。生成・取得・返却・破棄のコールバック、容量、二重返却のチェックを読む。
操作を命令にし、履歴を持たせる
PDF 75〜79ページはPlayerMoverと移動量をMoveCommandに持たせ、Execute/UndoをCommandInvokerから呼ぶ。Undo/Redoの2スタック、新規操作時のRedo消去、QueueやListという別の履歴構造も検討する。
状態と通知を分離する
Stateでキャラクターやゲーム進行の状態を表し、ObserverでC#イベント/UnityEventによる通知を扱う。入力と処理の切替を、一つの長い条件分岐だけに集めない方法を比較する。
同じHP表示でMVPとMVVMを比較する
PDF 104〜112、117〜120ページ。MVPはHealthPresenterがHealthChangedを受けて表示を更新。MVVMは同じUXML/USSにDataBindingとコンバーターを設定し、HPを色や表示値へつなぐ。
共有するデータと各個体の状態を分ける
Strategyではアビリティを差し替える。Flyweightの船団例(PDF 132〜135ページ)は速度・攻撃性能などをShipDataで共有し、各ShipのHPを個別に持つ。前後のメモリを比較する読み方も案内する。
高コストな更新を必要時に限る
PDF 137〜143ページのDirty Flagは、プレイヤーとSectorの距離に応じたシーンのロード/アンロードを例にする。更新の削減だけでなく、依存関係の増加や状態が古いままになるリスクも扱う。
ほかの教材と比べるポイント
編集上の案内:4冊の中で、責務・依存関係・生成・履歴・状態・UI更新を横断して設計の候補を比較する役割。ScriptableObject本はその候補の一部をアセット中心に掘り下げ、C#スタイル本は表記の一貫性、VCS本は共同作業の履歴と素材管理を扱う。
目指す成果
- 変更しにくいクラスの責務や依存関係をSOLIDの観点で整理する。
- 生成・状態遷移・イベント通知・UIの問題に対応するパターンを比較する。
- パターンを採用する利点と複雑さの増加を、具体例で判断する。
- 同じHP画面のMVP/MVVMや、手動/組み込みプールを比較し、責務・データの置き場と導入コストの違いを説明できる。
- Undo用スタック、共有設定アセット、Dirty Flagなど、目的に合わせた保持データを考えられる。
必要な知識・準備
- 本文はC#の基礎知識が必要と明記。
- 編集上の案内:クラス、継承、インターフェース、イベントとMonoBehaviourの基本を学んでから進む。
- 編集上の目安:Stack、List、ジェネリックの基本があるとプールとCommandを追いやすい。MVP/MVVM節を実習する場合はUI ToolkitのUXML・USSとUnity 6のランタイムデータバインディングの基礎も必要。
収録範囲と注意点
- 本文は説明用に一部コードを簡略化しており、付属プロジェクトと異なる場合があると明記している。
- 配布PDFはPreview期の表記を残す。付属アセットの現行対応表はURPのみで、Built-in/HDRPは非対応。
- MVVM例はUnity 6のUI Toolkitランタイムデータバインディングを利用する。同じ図やAPIを旧Editorでそのまま試せるとは扱わない。
- 本文はクラス数を過度に増やすことや、必要性に見合わないパターン導入にも注意する。プール・Flyweight・Dirty Flagの効果は自分の対象機で測定する必要があり、本調査で高速化を実証していない。
内容確認に使った公式資料
- Unity公式の日本語紹介・配布ページ(確認 2026-10-09)
- 公式日本語PDFの目次・導入・該当項目(確認 2026-10-09)
- 2026-10-10再確認:版1.1・6000.0.11f1/URP・Built-in/HDRP非対応・Standard Asset Store EULA(確認 2026-10-10)
- 公式日本語PDF 13〜17ページ:Playerの入力・移動・音・FXへの責務分離と過剰な分割への注意(確認 2026-10-10)
- 公式日本語PDF 34〜42ページ:インターフェース参照のシリアル化、ISwitchableとドア・トラップ(確認 2026-10-10)
- 公式日本語PDF 58〜65ページ:Stackによるプール、ManualExample、UnityEngine.Poolのコールバック(確認 2026-10-10)
- 公式日本語PDF 75〜79ページ:MoveCommandとCommandInvoker、Undo/Redoスタック、Queue/List(確認 2026-10-10)
- 公式日本語PDF 104〜112ページ:同じHP画面をMVP/MVVMで構成(確認 2026-10-10)
- 公式日本語PDF 117〜120ページ:DataBinding、ToTarget、コンバーター、MVP/MVVM比較表(確認 2026-10-10)
- 公式日本語PDF 132〜135ページ:ShipDataの共有値とShipの個別HP、Memory Profiler比較の案内(確認 2026-10-10)
- 公式日本語PDF 137〜143ページ:SectorのDirty Flagとシーンの選択的ロード、利点と注意(確認 2026-10-10)
この教材が合いそうな人
編集上の案内:動くC#コードは書けるが、新しい機能の追加が既存クラスの修正に広がる人、設計パターンを名前だけでなく変更前後のコードで理解したい人に。
学べる範囲と選ぶときの注意
旧版をUnity 6 Preview向けに改訂した、SOLIDと11パターンの例題集。今回の深掘りはPDF 13〜17、34〜42、58〜65、75〜79、104〜112、117〜120、132〜135、137〜143ページの本文・コードを中心とする。全編読了、付属プロジェクトの起動・テスト・性能計測は未実施。ページはPDFの先頭から数える。
サポート・付属データ
PDFは登録なしで取得。2026-10-10確認のUnity公式サンプルは無料、版1.1/6000.0.11f1/URPで、標準Asset Store EULAが適用される。原則・パターン別の個別デモを備え、本文は手作りプールのManualExampleとUnityEngine.Pool版、同じHP画面のMVPとMVVMを比較先に挙げる。取得・インポートと個別質問の対応範囲は未検証。
学んだ後の小さな練習
編集上の案内:責務が混ざるなら13〜17ページ、具体クラスへの依存が強いなら34〜42ページから読む。Undoなら75〜79ページ、UI同期なら104〜118ページを対応サンプルと照合し、必要な一箇所だけに導入する。
出典と確認範囲
内容確認:2026-10-10。各出典に確認日を記載しています。受講・通読レビューではありません。向く人や学習後の練習は編集部の提案です。
Unity Technologies/Unity Japanの公式掲載ページ価格は確認時点の参考表示です。セール、提供条件、サポートや対応版は変わる場合があります。未確認は「提供なし」を意味しません。