【完全保存版】Unityイベント関数まとめ

【完全保存版】Unityイベント関数まとめ_アイキャッチ

Unityでゲーム開発をしていると必ず登場するのが「イベント関数(ライフサイクル関数)」です。
しかし数が多く、「どれをいつ使うのか分からない…」という状態になりがちです。

この記事では、Unityのイベント関数を用途別に整理しつつ、実務で重要なポイントまで分かりやすく解説します。

目次

Unityイベント関数とは?

Unityのイベント関数とは、特定のタイミングで自動的に呼び出される関数のことです。

例えば:

  • ゲーム開始時
  • 毎フレーム
  • 衝突した瞬間
  • オブジェクトが破壊された時

など、開発者が呼ばなくてもUnityが実行してくれます。

初期化系(Awake / Start)

Awake()

  • オブジェクト生成時に呼ばれる
  • 最も早いタイミング
void Awake()
{
    Debug.Log("Awake");
}

Start()

  • 最初のUpdateの前に1回だけ呼ばれる
void Start() { Debug.Log("Start"); }

実行順(超重要)

Awake → OnEnable → Start

毎フレーム更新(Update系)

Update()

  • 毎フレーム呼ばれる
  • 基本の処理はここ
void Update() { Move(); }

LateUpdate()

  • Updateの後に呼ばれる
  • カメラ追従などに最適
void Update() { Move(); }

FixedUpdate()

  • 一定時間ごとに実行(物理用)

実行順

FixedUpdate → Update → LateUpdate

オブジェクト状態変更

OnDisable()

  • 無効化された時

OnDestroy()

  • 削除された時

物理イベント(当たり判定)

衝突(Collider)

  • OnCollisionEnter
  • OnCollisionStay
  • OnCollisionExit など

Trigger

  • OnTriggerEnter
  • OnTriggerStay
  • OnTriggerExit など

2D版

  • OnCollisionEnter2D
  • OnTriggerEnter2D など

描画イベント

  • OnBecameVisible(カメラに映った)
  • OnBecameInvisible(見えなくなった)
  • OnWillRenderObject(描画直前)

Gizmos(デバッグ描画)

  • OnDrawGizmos
  • OnDrawGizmosSelected

マウスイベント

※ Collider必須

  • OnMouseDown
  • OnMouseUp
  • OnMouseDrag
  • OnMouseEnter
  • OnMouseExit

アプリケーションイベント

  • OnApplicationFocus
  • OnApplicationPause
  • OnApplicationQuit

エディタ用イベント

OnValidate()

  • Inspectorの値変更時に呼ばれる

Reset()

  • コンポーネント追加時

その他イベント

アニメーション

  • OnAnimatorMove
  • OnAnimatorIK

Transform変更

  • OnTransformParentChanged
  • OnTransformChildrenChanged

パーティクル

  • OnParticleCollision

Audio

  • OnAudioFilterRead

まとめ

Unityのイベント関数は多いですが、本質はシンプルです。

「いつ呼ばれるか」を理解するだけ。特に重要なのはこの流れです。

Awake → Start → Update → LateUpdate → Destroy

これを理解すると、

  • バグが減る
  • 設計が綺麗になる
  • 処理の順序ミスがなくなる

など、開発効率が一気に上がります。実行順を意識してバグが出にくい開発をしましょう。

よかったらシェアしてね!
目次