「スクリプトは動いているはずなのに、変数の中身が想定と違う」
「Consoleを開いたら白い文字が溢れていて、どれが重要か分からない」
こんなとき、最初に試すべき道具がDebug.Logです。
ブレークポイントほどの準備は不要で、数行足すだけで「今この変数はいくつか」「この処理は通ったか」を目で確認できます。
この記事では、Debug.Logの基本出力からLogWarning・LogErrorの使い分け、変数の見せ方、ログが増えすぎないコツまでを説明します。
Visual Studio連携など広いデバッグ手法は別記事で扱い、ここではConsoleへの出力に絞ります。
- Debug.Logを入れたのに、Consoleに何も出てこない…
- Update内で毎フレーム出力して、Consoleが埋もれて読めない。
- Log・Warning・Errorの違いが分からず、使い分けができない。
✨ この記事でわかること
- Debug.Logの基本書き方とConsoleでの見方
- LogWarning・LogErrorの使い分け
- 変数やオブジェクト名をログに出す方法
- 文字列結合と文字列補間($””)の例
- ログだらけを防ぐ条件付き出力のコツ
- 初心者でも理解できる解説
\プログラミング未経験でも大丈夫!まずは1本作り切ろう/
初心者が最初に選ぶならコレ
Unity ノンフィールドRPG
+スレスパ風JRPG講座
Unity6対応・スマホ化対応の最新カリキュラム。「何から始めればいいかわからない」という初心者でも、ステップごとに手を動かすだけでRPGが完成します。
憧れのアクションゲームに挑戦
Unity 2Dアクションゲーム
の作り方講座(ロックマン風)
初心者でもロックマン風の横スクロールACTが作れる講座。7ステージ+ラスボスという本格構成で、スマホ化・広告実装まで対応。「自分のゲームをリリースしたい」夢を叶えます。
3Dゲーム開発の入口はここ
ゼルダ風3Dアクションゲーム
の作り方講座
「3Dゲームって難しそう…」と感じている初心者向けの講座。全16回でゼルダ風3Dアクションがスマホ対応で作れるようになります。3D開発の基礎がしっかり身につきます。
Debug.Logの基本|Consoleに文字を出す
Debug.Logは、実行中にConsoleへメッセージを送るメソッドです。
スクリプトの先頭にusing UnityEngine;があることを確認し、疑わしい箇所に次のように書きます。
void Start
{
Debug.Log("ゲーム開始");
Debug.Log("初期HP: " + hp);
}
Playボタンを押すと、Consoleウィンドウ(Window → General → Console)に白い文字で表示されます。
メッセージをクリックすると、出力元のスクリプト行がハイライトされるので、「どのLogがどこから来たか」を追いやすくなります。
Consoleが見えないときは、ウィンドウが閉じているか、フィルタでLogが非表示になっていないか確認してください。
右上のアイコンで、Error・Warning・Logの表示を切り替えられます。
LogWarningとLogErrorの使い分け
同じDebugクラスに、色付きで出せるメソッドがあります。
| メソッド | 表示色 | 向いている場面 |
|---|---|---|
| Debug.Log | 白(通常) | 変数の値確認、処理の通過確認など日常的な調査 |
| Debug.LogWarning | 黄 | 動くが想定外の状態(参照が近いうちに設定すべき、残り時間が少ない等) |
| Debug.LogError | 赤 | 明らかな不具合の可能性(必須参照がNone、設定漏れの疑い) |
if (enemy == null)
{
Debug.LogError("enemyが未設定です: " + gameObject.name);
}
else if (hp < 10)
{
Debug.LogWarning("HPが残りわずか: " + hp);
}
else
{
Debug.Log("通常状態 HP: " + hp);
}
調査中はLogErrorを多用すると、本物のエラーと区別しづらくなります。
本番に近い段階では、不要なDebug.Logは削除するか、開発用のフラグで囲む習慣を付けましょう。

「動かない」ときは、まずStartやAwakeの先頭にDebug.Log(“ここまで来た”)を入れて、処理がどこまで進んでいるか区切ってみましょう。
意外と早く原因にたどり着けますよ。
変数やオブジェクト名をログに出す
文字列と変数をつなげる方法は主に3つです。
- + で連結 → Debug.Log(“速度: ” + speed);
- 文字列補間 → Debug.Log($”速度: {speed}, 名前: {gameObject.name}”);
- 複数引数 → Debug.Log(“位置”, transform.position);(Consoleでオブジェクトとして展開可能)
参照型(GameObjectやComponent)をそのまま渡すと、Console上で中身を展開して確認できます。
Nullのときは「null」と表示されるので、未設定の参照を見つけるのに便利です。
void Update
{
if (Input.GetKeyDown(KeyCode.Space))
{
Debug.Log($"ジャンプ実行 現在Y: {transform.position.y}");
Debug.Log("Rigidbody参照", rb);
}
}
リストや配列の中身を見たいときは、ループで1要素ずつ出すか、string.Joinでまとめて1行にする方法があります。
要素数が多いときは、先頭数件だけに絞るとConsoleが読みやすくなります。
ログだらけを防ぐコツ
Update内で無条件にDebug.Logを書くと、毎フレーム出力され、Consoleが一瞬で溢れます。
次の工夫を使いましょう。
- 値が変わったときだけ出す → 前回の値と比較して違うときだけLog
- キー入力やイベントのときだけ出す → ボタン押下・衝突時など、回数が限られるタイミング
- 開発用フラグで囲む → bool debugMode が true のときだけ出力
- 調査が終わったら削除 → コメントアウトでも可。
本番ビルド前に必ず整理
private int lastHp = -1;
void Update
{
if (hp != lastHp)
{
Debug.Log($"HP変化: {lastHp} → {hp}");
lastHp = hp;
}
}
Console右上の「Clear」で表示を消せますが、根本原因は「出しすぎない」ことです。
調査用のLogには、先頭に [DEBUG] などの目印を付けると、あとから検索しやすくなります。

Debug.Logは「目」です。
調査が終わったら、付けた目は外しましょう。
残したままだと、本当に重要なエラーメッセージが埋もれてしまいます。
Console操作と実践の流れ
Logを効率よく使うためのConsole操作です。
- STEP1疑う箇所にLogを入れる
分岐の前後、代入の直後など、値が変わりそうな行に1行追加します。
- STEP2PlayしてConsoleを確認
メッセージが出るか、想定どおりの値かを見ます。
出ない場合はその前で止まっています。
- STEP3Logを移動・追加
範囲を狭めながら、原因の行まで絞り込みます。
- STEP4修正後にLogを整理
直ったら不要なLogを削除し、必要ならWarningだけ残します。
エラーメッセージ(赤)とDebug.Log(白・黄)は別物です。
LogErrorは見た目が似ていますが、意図した調査用出力です。
本物の例外と混ざったら、Clearしてから再現手順を踏み直すと整理しやすいです。

慣れてきたら、Gizmosで範囲をSceneに描く方法も覚えると、数値以外の「見た目」の確認がしやすくなります。
Logと組み合わせると最強ですよ。
記事を読んで「作ってみたい!」と思ったら!初心者でも1本完成できる講座で実力をつけよう
知識を読むだけで終わらせるのはもったいない。実際に手を動かしてゲームを1本完成させることで、理解が一気に深まります。プログラミング未経験からでも取り組める講座で、ゲーム開発の第一歩を踏み出しましょう。
Unity ノンフィールドRPG+スレスパ風JRPG講座【Unity6対応!初心者でもデッキ構築×JRPGをスマホ向けに作れる!】

- Unity6対応・スマホ化対応で最新環境のゲーム開発が学べる
- Slay the Spire風のデッキ構築システム×JRPGの組み合わせを実装
- 初心者でも迷わず進められる丁寧な解説構成
- ノンフィールドRPGとデッキ構築JRPGの2つをまとめて学べるセット講座
Unity ノンフィールドRPGの作り方講座+Slay the Spire風デッキ構築JRPGの作り方講座は、プログラミング未経験の初心者でも取り組みやすい、ステップバイステップ形式の講座です。
Unity6対応・スマホ化対応の最新カリキュラムで、読んで「なるほど」と思った知識を、実際に動くゲームとして形にする体験ができます。
「何から始めればいいかわからない…」という初心者が最初に選ぶ一本として最適な講座です。
Unity6対応・スマホ化対応の最新カリキュラム
ゼロからでもRPGを完成させよう
→ スレスパ風デッキ構築JRPG講座を見てみる
初心者でもスマホ対応のRPGが作れる!まずは1本完成を目指そう!
Unity 2Dアクションゲームの作り方講座(ロックマン風)【全16回!初心者でもスマホ化・広告実装まで対応した本格横スクロールACTが作れる!】

- ロックマン・マリオ・カービィのような横スクロールACTをゼロから開発
- 7ステージ+ラスボスステージの本格的なゲーム設計を初心者でも実現
- スマホ化・AdMob広告実装まで対応してリリースまで見据えた構成
- 敵AI15体・多彩なマップギミック・武器システムを完全実装
- 完全オリジナルゲームをアセット不使用で素材提供付きで制作
Unity 2Dアクションゲームの作り方講座(ロックマン風)は、ロックマン・スーパーマリオ・星のカービィのような2D横スクロールアクションゲームを、初心者でもゼロから開発できるようになる講座です。
全16回で当たり判定・物理挙動・敵AIの知識を実際のゲームコードとして実装する体験が詰め込まれています。スマホ化・広告実装まで対応しているため、「作って終わり」ではなくリリースまで見据えた実践スキルが身につきます。
「憧れのアクションゲームを自分の手で作ってみたい」という初心者に強くおすすめの一本です。
スマホ化・広告実装まで対応した本格横スクロールACT
初心者でもロックマン風2Dアクションをリリースまで作り上げよう
→ 2Dアクションゲームの作り方講座を見てみる
初心者でも本格ACTが完成する!広告収益まで視野に入れた実践スキルを手に入れよう!
ゼルダ風3Dアクションゲームの作り方講座【全16回!初心者でも3Dアクションがスマホ対応で作れる!】

- ゼルダの伝説・モンハン・原神のような3Dアクションをゼロから開発
- 「3Dは難しそう」と感じている初心者でも取り組みやすい丁寧な解説構成
- スマホ化対応で実機で動かせるゲームが完成
- アセットを使った実践的なゲーム開発手法が身につく
- 画像・動画・全ソースコード公開の充実したサポート
ゼルダ風3Dアクションゲームの作り方講座は、「3Dゲームは難しそう…」と感じている初心者こそおすすめの入門講座です。
全16回の丁寧な解説で、ゼルダの伝説・モンハン・原神のような本格的な3Dアクションゲームを確実に完成まで導きます。スマホ化対応で実機で動かせるため、初めて3Dゲームを作り上げた達成感がひときわ大きい講座です。
「3Dゲームを自分でも作れるか試してみたい」という初心者の最初の一歩として最適です。
初心者でも3Dアクションがスマホ対応で完成する
ゼルダ風3Dアクションゲームで3D開発の壁を一気に突破しよう
→ ゼルダ風3Dアクションゲームの作り方講座を見てみる
全16回でスマホで動くオリジナル3Dゲームを完成させよう!
まとめ
Debug.Logは、Unityで変数や処理の流れをConsoleに出力するための基本ツールです。
Log・LogWarning・LogErrorを使い分け、文字列補間で値を見やすく表示し、Update内の出しすぎには条件を付ける——この3点を押さえれば、多くの「なぜ動かない?」が解けます。
最初の一歩は、動かないスクリプトのStartにDebug.Log(“開始”)を1行足し、PlayしてConsoleに出るか確認することです。
出ればその先を、出なければその手前を、と範囲を狭めていきましょう。
デバッグを含めてUnityを体系的に学びたい方は、Unity入門の森の講座も選択肢のひとつです。
実践プロジェクトの中で、Logの使い方を自然に身につけられます。
今日は1つ、気になる変数をConsoleに出してみてください。



コメント