NUnity講座おすすめナビLEARNING MATERIALS CATALOG
ScriptableObject を使って Unity でモジュラーゲーム アーキテクチャを作成する (Unity 6 対応):教材案内カード(書影ではありません)

MATERIAL / 書籍

ScriptableObject を使って Unity でモジュラーゲーム アーキテクチャを作成する (Unity 6 対応)

NPCの共有設定、レベル配置、通知、実行中のオブジェクト一覧をScriptableObjectへ切り出す実装を読み、Inspectorで差し替えられる構成と通常のC#クラスの使い分けを考える。

公式の掲載情報を見る ↗

著者・講師と制作担当

Unity 6版日本語PDFの制作・提供元を確認。個人著者と日本語翻訳者は未確認。巻末に登場するChristo Nobbsは別教材・関連記事の寄稿者紹介であり、本書の執筆者クレジットとして扱っていない。

担当確認:一部確認 / 2026-10-10。名前からプロフィールと関連教材へ進めます。

担当表記の出典
著者・講師一覧を見る →

言語と日本語への対応

日本語訳PDFの説明本文を確認。コード、API名、Editorの画面名や一部の図・見出しには英語が残る。翻訳品質の全頁校正は未実施。

Unity公式配布ページから取得した英語PDF『Create modular game architecture in Unity with ScriptableObjects』の表紙・目次・説明本文を確認。日本語PDFのp.5付近にあるデータコンテナ以上の用途、データとロジックの分離の説明が英語版に対応しており、英語原資料の日本語訳と判断。

提供本文の言語:日本語

具体的に何を学び、何を作るか

公式の公開目次・概要をもとに、制作の流れを要約しています。

  1. MonoBehaviourとの違いを先に確認

    PDF 10〜16ページはアセットとしての保存とライフサイクルの説明。Updateなどを自動で受けるコンポーネントとは異なり、ビルド中の値変更が次回起動まで保存されるわけでもない。

  2. NPCの固定設定と現在の状態を分ける

    PDF 20〜24ページではMaxHealthとHealthThresholdをNPCConfigSOへ移し、CurrentHealthは各NPCHealthに残す。多数の個体が同じ設定アセットを参照するFlyweightの具体例として読む。

  3. 配置データをInspectorとJSONで扱う

    PDF 29〜33ページは単一値のIntVariableSOとデュアルシリアル化。LevelLayoutは壁・プレイヤー・ゴールのVector3配列とボール位置を保持し、JsonUtilityとCreateInstanceで外部編集データを読み戻す。

  4. カテゴリと差し替え動作をアセット化する

    拡張可能なenumとデリゲートオブジェクトを扱う。Paddle Ballの用途説明(PDF 71ページ)ではプレイヤー分類、衝突音のランダム化、勝敗条件の差し替えに対応する。

  5. 通知の配線とデバッグを分ける

    PDF 49〜54ページのVoidEventChannelSO/VoidEventListenerは通知元と応答先をアセット経由で接続し、InspectorからUnityEventを設定する。Raise Eventボタンで通知を手動発火するEditor拡張も掲載。

  6. 入力の中継と購読解除を読む

    PDF 55〜58ページではInputReaderがInputActionsとパドル側の処理を仲介する。静的イベントも紹介するが、OnDisableでの購読解除と、静的イベントはInspectorでシリアル化できない点を注意事項として扱う。

  7. 命令と実行中の一覧を管理する

    Commandは移動命令の取り消しに使用。PDF 64〜69ページのランタイムセットはList<T>とAdd/Remove、OnEnable/OnDisableの登録・解除を使い、シーン内の敵や対象物を追跡する。

  8. 小さな完成例で用途を照合する

    PDF 70〜71ページのPaddle Ballでは設定・レベル配置、プレイヤー分類、音、UI・得点通知をまとめて使う。短いゲームを最小コードで作ることより、調整しやすい部品への分割を学ぶための例。

ほかの教材と比べるポイント

編集上の案内:SOLID本で責務・依存関係を分ける理由を知った後、共有データやイベントをUnityのアセットとしてどう実装するかを掘り下げる本。命名・整形はC#スタイル本、複数人でのファイル共有と履歴はVCS本を参照する。

目指す成果

  • 共有設定と個体ごとの可変状態を区別し、データの重複を減らす設計を説明できる。
  • 通知元と応答先を直接参照させず、Inspectorでイベントの接続を調整する方法を知る。
  • ScriptableObjectアセット、JSONによる保存、実行中だけのコレクションの役割を分けて考えられる。

必要な知識・準備

  • 編集上の目安:C#、MonoBehaviour、PrefabやInspectorでの参照設定を理解している人。
  • 設計を比較するため、複数のスクリプトが連携する小作品があると取り組みやすい。
  • 編集上の目安:イベント購読と解除、List<T>、ジェネリックを読めること。InputReader節はInput SystemのAction/Action Map、JSON節はファイル読み書きの基礎があると追いやすい。

収録範囲と注意点

  • スタンドアロンビルドの実行中の変更は自動保存されないと説明される。セーブ機能と同一視しない。
  • すべての処理をScriptableObject化すればよいという教材ではなく、通常のC#クラスとの選択も扱う。
  • PDF 24ページは説明用コードの簡略化を明記。本番コードのカプセル化や命名規則は別途整える。
  • PDF 68〜69ページは、ランタイムセットが機能していてもシーンオブジェクトを標準Inspectorで表示するとType mismatchになる場合を説明。非表示化やカスタムInspectorが必要になる。
  • InputReaderは小規模ゲームには過剰になり得ると本文が注意する。Paddle Ballも構成例であり、少ない行数で同じゲームを作る最短手順ではない。
  • PDFと現行サンプルの公開時期・対応Editorは同一とは限らない。サンプル配布の条件はPDFの無料閲覧とは別で、Unity実行・互換性は今回未検証。

内容確認に使った公式資料

この教材が合いそうな人

編集上の案内:設定を変えるたびにコード修正が必要、UI・音・得点処理が直接参照でつながる、シーン内の対象を毎回検索している、といった具体的な課題がある人に。

学べる範囲と選ぶときの注意

Unity 6対応の設計ガイド。今回の深掘りは公式日本語PDFの20〜24ページ(共有・個別データ)、29〜33ページ(変数とJSON)、49〜58ページ(通知・入力)、63〜71ページ(選択・ランタイムセット・Paddle Ball)を中心とする。全編読了・サンプルの取得、起動、性能測定はしていない。ページはPDFの先頭から数える。

サポート・付属データ

日本語PDFへ登録なしで直接アクセスできる。Paddle Ballは本書のパターンを一つの小作品で照合する別配布サンプル。2026-10-10確認の公式Asset Storeは版1.2、対応表6000.5.10f1/URP、Built-in・HDRP非対応、Standard Unity Asset Store EULAを表示。本文のJSON配置データや衝突音・得点通知の用途を確認したが、現行パッケージの中身との一致やインポートは未検証。

学んだ後の小さな練習

編集上の案内:まずPDF 23〜24ページのNPC例で「種類ごとの固定設定」と「個体ごとの現在値」を分ける。通知が課題なら49〜54ページ、実行中の一覧管理なら64〜69ページへ進み、最後に70〜71ページのPaddle Ballで複数の仕組みがつながる用途を確認する。

出典と確認範囲

内容確認:2026-10-10。各出典に確認日を記載しています。受講・通読レビューではありません。向く人や学習後の練習は編集部の提案です。

Unity Technologies/Unity Japanの公式掲載ページ

価格は確認時点の参考表示です。セール、提供条件、サポートや対応版は変わる場合があります。未確認は「提供なし」を意味しません。

次に見るページ

教材の選び方 対応版を確認する 別の教材と比べる

選んだ教材を比較