AIゲーム制作ラボ

ERRORS

出たエラーと直し方

Unity と AI でゲームを作る途中で実際に出たものだけを載せています。メッセージはそのまま、原因と対処、確認した日付つきです。

Refused: this triggers a player build. Pass confirm=true to build, or dry_run=true to validate without building.

Unity CLIUnity CLI 1.0.0-beta.10コマンド build --target WebGL確認 2026年9月18日

原因

時間のかかるビルドを事故で走らせないための安全装置。エラーではない。

対処

本当にビルドするなら --confirm true を付ける。設定だけ確かめたいときは --dry_run true。ビルドは非同期なので、build_statusstatuscompleted になるまで読む。

Path '…' is outside the project root '…'

Unity CLIUnity CLI 1.0.0-beta.10コマンド capture_game_view --save_path確認 2026年9月18日

原因

画面のキャプチャなど、ファイルを書き出すコマンドの保存先はプロジェクトの中に限られている。一時フォルダなど、外のパスを渡すと 400 で拒否される。

対処

プロジェクト内の相対パス(例:Temp/shots/a.png)を渡し、書き出したあとで必要な場所へコピーする。保存先はプロジェクト内の Assets/ 配下になることがあるので、使い終わったら消す(.meta が増える)。

Play 中に再コンパイルすると NullReferenceException が連続して出てエディターが固まる

Unity エディターOS Windows 11Unity 6.6(6000.6.0f1)確認 2026年9月18日

原因

Play モードのまま C# を書き換えると、シリアライズしていないフィールドが null に戻る。毎フレーム動くコードがそれを参照すると、例外がコンソールを埋め尽くしてエディターが応答しなくなる。

対処

毎フレーム動く処理の先頭で、必要なものが null でないかを確かめ、null なら初期化をやり直す。作業としては、Play を止めてから書き換えるのが基本。

PlayMode テストが1件も実行されない(list_tests には出てくるのに 0 件で終わる)

Unity CLIOS Windows 11Unity 6.6(6000.6.0f1)ビルド対象 WebGL確認 2026年9月16日

原因

テスト用の asmdef が古い書き方(optionalUnityReferences だけ)のままだと、ビルド対象が WebGL のときに PlayMode テストが集められない。テストの一覧には出るので、気づきにくい。

対処

asmdef を新しい書き方にする。precompiledReferencesnunit.framework.dlldefineConstraintsUNITY_INCLUDE_TESTSoverrideReferences を true にする。直したら件数が0でないことを必ず確認する。

run_tests true 0/0 件成功 (PlayMode, 0s)

Unity CLIOS Windows 11Unity CLI 1.0.0-beta.10確認 2026年9月18日

原因

PlayMode のテストは非同期で走る。コマンドはテストの開始直後に戻ってくるので、その場の表示は 0/0 になる。失敗ではない。

対処

--async_tests true を付けて実行し、プロジェクトの Temp/pipeline_test_status.jsonstatuscompleted になるまで読む。件数と失敗の内訳はそのファイルに入っている。

mapping values are not allowed here(エージェントのスキルが無言で読み込まれない)

Unity 公式プラグイン(AI エージェント向け)OS Windows 11プラグイン 0.1.2-betaエージェント Claude Code確認 2026年9月18日

原因

SKILL.md の frontmatter で、引用符で囲んでいない description: の中にコロンと空白(: )が入っていると、YAML がそこを新しいキーの区切りと解釈して読み込みに失敗する。失敗しても警告は出ず、そのスキルは無かったことになる。

対処

値を引用符で囲む。自分のスキルなら直せる。配布されているものは、インストール先のフォルダで各 SKILL.md の frontmatter を YAML として読み込んでみると、壊れているものが分かる。

HTTP Response Header "Content-Type" configured incorrectly on the server for file Build/xxx.wasm.br , should be "application/wasm". Startup time performance will suffer.

Unity エディターUnity 6.6(6000.6.0f1)圧縮 Brotli配信 自前のサーバー確認 2026年9月18日

原因

圧縮した Web ビルドは、配信側が正しいヘッダーを付ける前提で動く。.wasm.brContent-Type: application/wasmContent-Encoding: br が付いていないと、この警告が出る(Content-Encoding が無い場合は読み込み自体が失敗する)。

対処

配信するサーバーの設定で、.wasm.brapplication/wasmContent-Encoding: br.js.brapplication/javascriptContent-Encoding: br を付ける。curl -I で実際のヘッダーを確認する。

Uncaught SyntaxError: Invalid or unexpected token

Unity エディターUnity 6.6(6000.6.0f1)場所 自作の WebGL テンプレートビルド対象 WebGL確認 2026年9月18日

原因

テンプレートの index.html に埋め込んだ JavaScript が壊れている。文字列の中に実際の改行が入るとこうなる(シェルのヒアドキュメントで書き換えると起きやすい)。JavaScript が壊れていてもビルドは成功するので、ビルドの結果だけ見ても気づけない。

対処

ソースを機械的に書き換えるときは、シェルのヒアドキュメントではなくスクリプトをファイルに保存してから実行する。公開前に index.html の中の JavaScript を構文検査して、壊れていたら送信を止める。

WebGL ビルドで画面の日本語が表示されない(文字が出ず空白になる)

Unity エディターUI uGUI の Text(LegacyRuntime.ttf)Unity 6.6(6000.6.0f1)ビルド対象 WebGL確認 2026年9月18日

原因

Unity に標準で入っているフォント(LegacyRuntime.ttf)に日本語の字が入っていない。エディターでは別のフォントが使われるため、ビルドして初めて消える

対処

日本語フォントをプロジェクトに入れて使う(ビルドは数MB増える)か、ゲーム内の文字を英数字だけにする。説明文はゲームを埋め込むページ側に書くという逃げ方もある。

それぞれの経緯は 記事 に書いています。用語が分からないときは 用語集 へ。