この内容は古いバージョンです。最新バージョンを表示するには、戻るボタンを押してください。
バージョン:4
ページ更新者:guest
更新日時:2026-05-15 08:48:35

タイトル: ゲームの実行/一時停止/コマ送り
SEOタイトル: Unity ゲーム実行/一時停止/コマ送り|Play / Pause / Step とショートカット

この記事の要点
  • Unity Editor のゲーム実行 / 一時停止 / コマ送り操作
  • Play ボタン (Ctrl+P): Editor 上でゲームを実行
  • Pause ボタン (Ctrl+Shift+P): 一時停止。Inspector で状態確認や値編集が可能
  • Step ボタン (Ctrl+Alt+P): 1 フレームずつ進行(物理挙動・1f だけの不具合のデバッグに必須)
  • Play 中の変更は停止すると消える — 永続化したい変更は事前に

Play / Pause / Step ボタン

Unity Editor のツールバー中央には 3 つのボタンが並んでいます:

ボタン機能Windows ショートカットMac ショートカット
▶ Playゲームを実行(Game ビューに切替)Ctrl + PCmd + P
⏸ Pause実行中に一時停止 / 再開Ctrl + Shift + PCmd + Shift + P
⏭ Step1 フレームだけ進めるCtrl + Alt + PCmd + Option + P

Play モードの特徴

  • Editor のタブカラーが青色(デフォルト)に変化して、Play 中であることを示す
  • Hierarchy / Inspector で値を編集できる — リアルタイム挙動確認に最適
  • Play 中の変更は停止すると元に戻る — 設定値を永続化したいなら停止後に再度同じ値を入れる
  • Play 中に Scene を切り替えても OK(SceneManager.LoadScene で遷移確認)

Pause モードの活用

一時停止中はゲームロジックや物理演算が止まる一方で、Editor 操作は可能。デバッグに非常に便利:

  • Inspector で変数の値を確認(実行時の状態を可視化)
  • Scene ビューでオブジェクトの位置・向きを確認
  • Hierarchy で動的生成されたオブジェクトを確認
  • Console でDebug.Log の出力を確認

Step モード(コマ送り)の使い所

1 フレームずつ進めるので、以下のシーンで重宝します:

  • 当たり判定の検証: 衝突した瞬間のフレームを観察
  • 物理挙動の確認: Rigidbody が想定通り動いているか
  • アニメーションの特定フレームでの状態確認
  • 1 フレームだけの不具合(チラつき・テクスチャ表示遅延など)の再現

「Play On Awake」の挙動

Audio Source / Animator など一部コンポーネントには「Play On Awake」プロパティがあり、シーン読み込み直後に自動再生されます。Play ボタンを押した瞬間に音が鳴ったりアニメーションが動いたりするのはこの設定です。

Play モード時の自動切替

Edit → Preferences → General で以下が設定可能:

  • Auto Save Scenes Before Building: Play 前に自動保存
  • Enter Play Mode Options: Reload Domain / Reload Scene のスキップ(高速 Play へ)
  • Play Mode Tint: Play 中の Editor 色を変更(青以外も可)

Enter Play Mode Options(高速 Play)

大規模プロジェクトでは Play ボタンを押してから実行開始まで数秒かかります。これを大幅短縮:

  1. Edit → Project Settings → Editor
  2. Enter Play Mode Options にチェック
  3. Reload Domain: スクリプトの再ロードをスキップ(static 変数がリセットされなくなる点に注意)
  4. Reload Scene: シーンの再ロードをスキップ

static フィールドを使っているコードは Reload Domain OFF だと前回値が残るので、コードを RuntimeInitializeOnLoadMethod で初期化する必要があります。

スクリプトから Pause を制御

using UnityEditor;
using UnityEngine;

public class PauseHelper : MonoBehaviour {
    void Update() {
        if (Input.GetKeyDown(KeyCode.P)) {
            // Editor 上でのみ動作(ビルド版では EditorApplication 使えない)
            #if UNITY_EDITOR
            EditorApplication.isPaused = !EditorApplication.isPaused;
            #endif
        }
    }
}

// ゲーム時間の停止(リリース版でも使える)
// Time.timeScale = 0f; → 全ての Update / FixedUpdate が停止扱い
// Time.timeScale = 1f; → 通常速度に戻す

Time.timeScale との違い

Editor の PauseTime.timeScale = 0
対象Editor のみEditor / ビルド版両方
停止範囲すべて(Update / 物理 / アニメ)Time.deltaTime を使う処理(Update / 物理)
UI / 入力停止動く(unscaledDeltaTime を使う UI / 入力は動く)
用途開発中のデバッグゲーム内ポーズメニュー実装

関連

  • Game ビューの解像度切替: Game タブ左上のドロップダウンで Free Aspect / 16:9 / 9:16 など
  • Maximize On Play: Game タブ右上のボタンで Play 時に Game ビューを最大化
  • Stats: Game ビュー右上の「Stats」ボタンで FPS / Draw Call / Triangle 数を表示