| この記事の要点 |
|
Unity のエラーに関する記事の入口ページです。主にスクリプト(C#)まわりのエラーを扱います。個別のエラーメッセージの解説は子ページから選んでください。このページでは、どのエラーにも共通する「読み方」「分類」「切り分け方」をまとめます。
Unity のエラーが出たときの調べ方
Unity のエラーは Console ウィンドウに出力されます。まず Console を開いてエラー文を確認し、メッセージで子ページや Unity 公式ドキュメントを検索するのが基本の流れです。
- Window → General → Console でコンソールを開く(ショートカットは Ctrl+Shift+C、Mac は Cmd+Shift+C)
- 赤いアイコンがエラー、黄色が警告、白が通常ログ。右上のボタンで種類ごとに表示を絞り込める
- エラー行をクリックすると下段にスタックトレースが出る。自分のスクリプト名と行番号が書かれた行を探す
- エラー行をダブルクリックすると、原因となったスクリプトの該当行がエディタで開く
- エラーメッセージの英文部分(変数名やオブジェクト名を除いた部分)で検索する
- コンパイル時に出るのか、Play 中だけ出るのか、特定の操作をしたときだけ出るのかを切り分ける
Console の便利な設定
- Clear on Play: Play 開始ごとにログを消す。前回のエラーと混ざらない
- Collapse: 同じメッセージをまとめて件数表示。毎フレーム出るエラーが見やすくなる
- Error Pause:
Debug.LogErrorや例外が出た瞬間に Play を一時停止。その時点の Hierarchy や Inspector を調べられる
エラーの種類でおおまかに分類する
| 種類 | 見分け方 | 特徴 |
|---|---|---|
| コンパイルエラー | error CS0246 のように「CS + 番号」が付く | スクリプトの構文・型の誤り。直すまで Play できない |
| 実行時エラー(例外) | NullReferenceException など「〜Exception」で終わる | Play 中に発生。その行以降の処理がそのフレームで止まる |
| 物理エンジン関連の警告 | Collider / Rigidbody の名前が含まれる | コンポーネントの組み合わせや設定値が原因(MeshCollider の警告など) |
| スクリプト連携・エディタ | 「script」「Behaviour」「missing」などを含む | イベント関数の引数不一致、スクリプトファイルの欠落、クラス名とファイル名の不一致など |
よく見るエラーと最初に疑う点
| メッセージ(抜粋) | 最初に疑う点 |
|---|---|
NullReferenceException: Object reference not set to an instance of an object | Inspector で変数にオブジェクトを割り当てていない、GetComponent / GameObject.Find が null を返している |
UnassignedReferenceException | public / [SerializeField] の変数が Inspector で未設定(None のまま) |
MissingReferenceException | 参照先の GameObject がすでに Destroy されているのに使っている |
IndexOutOfRangeException / ArgumentOutOfRangeException | 配列・List の要素数を超えた添字。Inspector で Size を設定し忘れていないか |
error CS0246: The type or namespace name '...' could not be found | using の書き忘れ、パッケージ未インストール、クラス名のタイプミス |
error CS1061: '...' does not contain a definition for '...' | メソッド名・プロパティ名の誤り(大文字・小文字も区別される)、古い API の使用 |
All compiler errors have to be fixed before you can enter playmode! | どこかにコンパイルエラーが残っている。Console をエラーだけに絞って確認 |
The referenced script on this Behaviour is missing! | アタッチしていたスクリプトファイルが削除・改名された。Inspector で Missing になったコンポーネントを付け直す |
| スクリプトをアタッチできない(クラスが見つからない旨のダイアログ) | ファイル名と MonoBehaviour を継承したクラス名が一致していない、またはコンパイルエラーが残っている |
共通する基本の対処
- エラーが出ている GameObject を Hierarchy で選択し、Inspector で変数の割り当てやコンポーネントの有無を確認する
- 該当スクリプトの
Awake/Start/Updateのどこで起きているかを切り分ける。AwakeとStartの実行順に依存した初期化は null の原因になりやすい Debug.Logで変数の中身を出力し、「どこまでは正しいか」を確かめる。第 2 引数に GameObject を渡すと、ログをクリックしたときにそのオブジェクトがハイライトされる- Unity のバージョンを確認する。古い記事の API はすでに非推奨・削除されていることがある
- コンパイルエラーは一番上のものから直す。1 つの誤りが後続の大量のエラーを生むことが多い
Console に出ない情報を確認する方法(ログファイル)
エディタが固まった、ビルドしたゲームだけで落ちる、といった場合はログファイルを見ます。
- Editor.log(エディタのログ): Windows は
%LOCALAPPDATA%\Unity\Editor\Editor.log、macOS は~/Library/Logs/Unity/Editor.log。Console 右上のメニューの「Open Editor Log」からも開ける - Player.log(ビルドしたゲームのログ): Windows は
%USERPROFILE%\AppData\LocalLow\会社名\製品名\Player.log。会社名と製品名は Player Settings の値
関連
- Unity Debug.Log 完全ガイド
- Unity の GetComponent 取得とキャッシュ
- Unity の衝突検知(Collision)
- Unity MonoBehaviour 完全ガイド
- Unity Scripting API(公式)
子ページ
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 3Dグラフィックスのソフト一覧|Blender・Metasequoiaと用途別の選び方
- 7 Spring Frameworkのアノテーション一覧
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- Visual Studio「デザイナーを表示できません」エラーの原因と対処 2026-10-28 12:06:00
- SSH 認証に失敗しました。再試行してください の対処 2026-10-28 12:06:00
- SSH2 秘密鍵の読み込みに失敗しました の原因と対処 2026-10-28 12:06:00
- TeraTerm のよくあるエラーと対処法完全ガイド — Connection refused / 2026-10-28 12:06:00
- Visual Studio エラー一覧|コンパイルエラー・警告の確認方法と対処 2026-10-28 11:39:57
- Whitelabel Error Page の原因と消し方|Spring Boot のエラーページ 2026-10-28 11:39:57
- Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法 2026-10-28 11:39:57
- SQL WHERE 句完全ガイド 2026-10-28 11:39:57
- SQL JOIN 完全ガイド (INNER/LEFT/RIGHT/FULL OUTER) 2026-10-28 11:39:57
- tomcat の起動 / 停止ログと catalina.log・catalina.out の違い 2026-10-28 10:24:23
- Tomcat の起動確認方法 5 つ|localhost:8080・ポート・プロセス・ログ 2026-10-28 10:24:23
- Oracle 19c COMMITの使い方: 暗黙コミット・自動確定・応答不明時の確認 2026-10-28 09:59:09
- Oracle 19c DELETE文|削除対象の確認・COMMIT前の判断・ROLLBACKの条件 2026-10-28 09:59:09
- Oracle 19c INSERT文|INSERT ALL・SELECT・RETURNINGとMERGEの使い分け 2026-10-28 09:59:09
- Oracle 19cのトランザクション制御|COMMIT・ROLLBACK・分離レベルと接続設定 2026-10-28 09:59:09