FAQ

新規ユーザーが実際にぶつかる疑問への回答を、遭遇しやすい順に並べています。

よくある質問を、新規ユーザーがぶつかりがちな順に並べています。ここに載っていない問題は、サービスリファレンスを確認するか — すべてのサービスページに「Gotchas」セクションがあります — お問い合わせください。

「パッケージをインポートしたのに、シーンに何も現れない」

それは仕様です。CGS はヘッドレスなコードフレームワークです — 配置するプレハブも、設定するマネージャーもなく、シーンに何かを追加しようともしません。Play を押した瞬間に自分で起動します。

Welcome ウィンドウが入り口です。インポート後に一度だけ自動で開きます。Tools > Common Game System > Welcome または Window > Common Game System > Welcome から、いつでも再度開けます。そこから:

  • Open Demo Scene をクリックして Play を押してください。Motion Lab デモが、トゥイーン、タイマー、ポーズに影響されないクロックシステムを、セットアップなしでその場で見せてくれます。
  • あるいはどのシーンでも Play を押し、Console に bootstrap complete (v2.1.0, 23 services) という行が出ているか確認してください — あなたのシーンが実行される前に 23 のサービスすべてが起動した証拠です。

完全な手順は Getting Started にあります。

「デモやサンプルがマウスとキーボードを無視する」(コマンドコンソールで Enter を押しても何も起きない)

プロジェクトがまだ「旧」入力バックエンドで動いています。Input System パッケージをインストールしてもバックエンドは切り替わりません — 新規プロジェクトでは Active Input Handling が "Input Manager (Old)" のままなので、デモシーン、UI サンプル、コマンドコンソールは、何のエラーも出さずに入力を一切受け取れなくなります。

修正はワンクリックです: この状態のとき、Welcome ウィンドウには Enable the new Input System (restarts the editor) ボタンつきの黄色い警告が表示されます。クリックして、エディタを再起動させてください。

この再起動は形式的なものではなく、必須です。 入力バックエンドはエディタの再起動時にしか切り替わりません — 設定を変更した後でも、実行中のセッションは旧バックエンドのままである可能性があります。あなた(またはチームメイト)が手動で設定を変更して再起動をスキップした場合、エディタを再起動するまで入力は死んだままです。

手動で変更する場合は: Edit > Project Settings > Player > Other Settings > Active Input Handling → "Input System Package (New)" または "Both" を選び、エディタを再起動してからもう一度 Play を押してください。

「新しい Input System のためにエディタが再起動を求めてきた」

「はい」と答えてください。Unity は、プロジェクトが初めて Input System パッケージを有効化するときにこのプロンプトを表示します — 入力バックエンドは再起動時にしか切り替えられないためです(前の回答を参照)。再起動でプロジェクトとパッケージが影響を受けることはありません。再起動後も Welcome ウィンドウは上記の 2 つのメニューから開けますし、すべては中断したところから続きます。

「デモシーンが見つからない」

Motion Lab デモは、ボタンとスライダーのために Unity 組み込みの uGUI パッケージ(com.unity.ugui)を必要とします。このパッケージがプロジェクトから削除されていると、デモのスクリプトは自らコンパイル対象から外れるため、シーンは実行できません。Package Manager から uGUI を再インストールすればデモは戻ってきます。どちらの場合でもフレームワーク本体は影響を受けません — uGUI がなくてもすべてのサービスが起動して動作します(マニュアル第 7.2 章を参照)。

「URP、HDRP、ビルトインレンダラーで動きますか?」

はい、3 つすべてで動きます。このフレームワークは何も描画せず、シェーダーもマテリアルもレンダーパイプラインのコードも一切含みません。提供するのはロジックです: セーブ、時間管理、イベント、入力ルーティング、オーディオミキシングなどのサービスです。ゲームを何が描画していようとフレームワークからは見えないので、パイプラインのアップグレードがフレームワークに触れることはありません。

「2,600 以上の自動テストはどこにありますか?」

意図的に隠してあります。テストスイートは Unity がインポートしないフォルダの中に同梱されており、プロジェクトのコンパイル時間を増やすことも散らかすこともありません。自分で実行するには: Welcome ウィンドウを開き、フッターの Import framework tests をクリックしてください。テストは Unity の Test Runner に現れます(Window > General > Test RunnerEditMode タブ — Run All をクリックすれば、失敗ゼロで完走するはずです)。これは完全に任意です — スイートはリリース前にすでに全件パスしています。詳細はマニュアル第 3.4 章を参照してください。

「コンソールに Unknown action map 'ui.panel' と出る」

UI パネルスタックがメニュー用の入力マップを有効化しようとしましたが、あなたの入力アクションアセットにそれらが定義されていません。.inputactions アセットに、正確に ui.panelui.modal という名前(小文字、ドットつき)のアクションマップを 2 つ追加し、マニュアル第 6.2 章の手順どおりにアセットを接続してください。

「エディタではセーブできるのに、IL2CPP ビルドではセーブが消える」

セーブ用のクラスがビルドからストリップされています。IL2CPP は未使用に見えるクラスを除去しますが、シリアライズのためだけに存在するクラスは、まさに未使用に見えてしまいます。Assets/ 配下に、セーブデータクラスを列挙した link.xml ファイルを追加してください — コピー&ペーストできるファイルつきの完全なレシピはマニュアル第 6.3 章にあります。カスタム設定グループにも同じ修正が有効です。

ヘルプを利用する(Getting Help)

  • メール: yoop80075@gmail.com — Unity のバージョンと、あれば bootstrap complete で始まる Console の行を添えてください。
  • マニュアル: このサイトの第 1 章から始まり、パッケージ内には Documentation/CGS-Manual.pdf として同梱されています。
  • サービスリファレンス: サービスごとに平易な言葉で書かれた 1 ページがドキュメント索引にあります(プロジェクト内の Documentation/Modules/ にも同じものがあります)。それぞれに完全な API、動作するサンプル、既知の注意点を掲載しています。
  • 変更履歴: パッケージルートの CHANGELOG.md に各バージョンの変更点が記載されています。
  • クイックリンク: Welcome ウィンドウのリンク列(Manual、Documentation、Changelog、Module Reference)から上記のすべてを直接開けます。