初心者必見!現場レベルの「ゲーム制作講座PDF」を無料プレゼント中!▶

UnityのDebug.Log使い方 | Consoleで値を確認

Unity 入門・始め方

「スクリプトは動いているはずなのに、変数の中身が想定と違う」

「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対応)

Unity6対応・スマホ化対応の最新カリキュラム。「何から始めればいいかわからない」という初心者でも、ステップごとに手を動かすだけでRPGが完成します。

講座を見てみる \ゼロからでもスマホ対応RPGが作れる!/

憧れのアクションゲームに挑戦

Unity 2Dアクションゲーム
の作り方講座(ロックマン風)

★★★★★ (スマホ化・広告実装)

初心者でもロックマン風の横スクロールACTが作れる講座。7ステージ+ラスボスという本格構成で、スマホ化・広告実装まで対応。「自分のゲームをリリースしたい」夢を叶えます。

講座を見てみる \初心者でも本格ACTが完成する!/

3Dゲーム開発の入口はここ

ゼルダ風3Dアクションゲーム
の作り方講座

★★★★★ (スマホ化対応)

「3Dゲームって難しそう…」と感じている初心者向けの講座。全16回でゼルダ風3Dアクションがスマホ対応で作れるようになります。3D開発の基礎がしっかり身につきます。

講座を見てみる \初心者でも全16回で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操作です。

Debug.Logで調査する流れ
  • STEP1
    疑う箇所にLogを入れる

    分岐の前後、代入の直後など、値が変わりそうな行に1行追加します。
  • STEP2
    PlayしてConsoleを確認

    メッセージが出るか、想定どおりの値かを見ます。
    出ない場合はその前で止まっています。
  • STEP3
    Logを移動・追加

    範囲を狭めながら、原因の行まで絞り込みます。
  • STEP4
    修正後にLogを整理

    直ったら不要なLogを削除し、必要ならWarningだけ残します。

エラーメッセージ(赤)とDebug.Log(白・黄)は別物です。
LogErrorは見た目が似ていますが、意図した調査用出力です。
本物の例外と混ざったら、Clearしてから再現手順を踏み直すと整理しやすいです。

管理人
管理人

慣れてきたら、Gizmosで範囲をSceneに描く方法も覚えると、数値以外の「見た目」の確認がしやすくなります。
Logと組み合わせると最強ですよ。

記事を読んで「作ってみたい!」と思ったら!初心者でも1本完成できる講座で実力をつけよう

知識を読むだけで終わらせるのはもったいない。実際に手を動かしてゲームを1本完成させることで、理解が一気に深まります。プログラミング未経験からでも取り組める講座で、ゲーム開発の第一歩を踏み出しましょう。

Unity ノンフィールドRPG+スレスパ風JRPG講座【Unity6対応!初心者でもデッキ構築×JRPGをスマホ向けに作れる!】

Unity ノンフィールドRPGの作り方講座+Slay the Spire風デッキ構築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が作れる!】

Unity 2Dアクションゲームの作り方講座(ロックマン風)

  • ロックマン・マリオ・カービィのような横スクロールACTをゼロから開発
  • 7ステージ+ラスボスステージの本格的なゲーム設計を初心者でも実現
  • スマホ化・AdMob広告実装まで対応してリリースまで見据えた構成
  • 敵AI15体・多彩なマップギミック・武器システムを完全実装
  • 完全オリジナルゲームをアセット不使用で素材提供付きで制作

Unity 2Dアクションゲームの作り方講座(ロックマン風)は、ロックマン・スーパーマリオ・星のカービィのような2D横スクロールアクションゲームを、初心者でもゼロから開発できるようになる講座です。

全16回で当たり判定・物理挙動・敵AIの知識を実際のゲームコードとして実装する体験が詰め込まれています。スマホ化・広告実装まで対応しているため、「作って終わり」ではなくリリースまで見据えた実践スキルが身につきます。

「憧れのアクションゲームを自分の手で作ってみたい」という初心者に強くおすすめの一本です。

スマホ化・広告実装まで対応した本格横スクロールACT
初心者でもロックマン風2Dアクションをリリースまで作り上げよう
→ 2Dアクションゲームの作り方講座を見てみる
初心者でも本格ACTが完成する!広告収益まで視野に入れた実践スキルを手に入れよう!

ゼルダ風3Dアクションゲームの作り方講座【全16回!初心者でも3Dアクションがスマホ対応で作れる!】

ゼルダ風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に出してみてください。

コメント

タイトルとURLをコピーしました