---
title: イベント機能
product: Unity Editor
version: '6000.0'
latest_version: '7000.0'
status: This page documents version 6000.0. The latest version is 7000.0.
canonical: https://docs.unity.com/ja-jp/engine/6000.0/manual/scripting/object-oriented-development/managing-update-order/event-functions
latest_url: https://docs.unity.com/ja-jp/engine/7000.0/manual/scripting/object-oriented-development/managing-update-order/event-functions.md
generated_at: 2026-11-14T04:52:34.954Z
locale: ja-jp
---

# イベント機能

> イベント関数は、物理演算演算、レンダリング、入力、シーンのロード、オブジェクトのライフサイクルに関連するコアエンジンイベントに応答するために、MonoBehaviour から派生ビルトインコールバックです。

イベント関数は、すべての [MonoBehaviour](/engine/6000.0/manual/scripting/object-oriented-development/fundamental-unity-types/class-mono-behaviour.md) スクリプトコンポーネントが受信できる、事前定義されたコールバックのセットです。コールバックは、以下のようなさまざまな Unity エディターおよびエンジンイベントによってトリガーされます。

* [定期的なフレームおよび物理演算の更新](#regular-updates)
* シーンとオブジェクトの[ライフサイクルイベント](#initialization-events)。シーン内のオブジェクトの初期化や破棄など。
* [UI イベント](#gui-events)
* [入力イベント](#input-events)
* [物理演算イベント](#physics-events)

`MonoBehaviour`派生クラスに適切なメソッドシグネチャを実装して、ゲームオブジェクトがソースイベントに反応できるようにします。

使用可能なコールバックの完全なリストについては、[`MonoBehaviour`](/engine/6000.0/script-reference/unityengine/monobehaviour.md) API リファレンスの **Messages** を参照してください。このセクションの残りの部分では、イベント関数のキーグループの概要を説明します。

## 定期更新イベント##regular-update-events

プレイ中のゲームは連続的に一連のフレームをレンダリングします。ゲームプログラミングのキー概念は、各フレームがレンダリングされる直前にオブジェクトの位置、ステート、および動作を変更することです。[`Update`](/engine/6000.0/script-reference/unityengine/monobehaviour/update.md) 関数は、Unity におけるこの種のコードの主な場所です。`Update`は、フレームがレンダリングされる前と、アニメーションが計算される前に呼び出されます。

物理演算システムも、フレームレンダリングと同様の方法で離散時間ステップで更新されます。[`FixedUpdate`](/engine/6000.0/script-reference/unityengine/monobehaviour/fixedupdate.md) と呼ばれる別のイベント関数は、各物理演算更新の直前に呼び出されます。物理演算の更新とフレームの更新は、同じ頻度で発生するわけではないため、物理演算コードを`Update`ではなく`FixedUpdate`機能に配置すると、より正確な結果が得られます。

また、シーン内のすべてのオブジェクトに対して `Update` 関数と `FixedUpdate` 関数が呼び出された後、かつすべてのアニメーションが計算された後のある時点で、追加の変更を行うことも役立つ場合があります。このシナリオの例としては、

* カメラがターゲット オブジェクトでトレーニングされ続ける必要があるとき。カメラの向きの調整は、ターゲット オブジェクトが移動した後に行う必要があります。
* スクリプトコードがアニメーションのエフェクトをオーバーライドするとき。例えば、キャラクターの頭部をシーン内のターゲットオブジェクトに外観を合わせる。

[`LateUpdate`](/engine/6000.0/script-reference/unityengine/monobehaviour/lateupdate.md) 機能は、このような状況で使用できます。

フレームおよび物理演算の更新が全体的なイベント機能更新シーケンスにどのように組み込まれるかの概要については、[イベント機能実行順](/engine/6000.0/manual/scripting/object-oriented-development/managing-update-order/execution-order.md)を参照してください。

## 初期化イベント##initialization-events

多くの場合、ゲーム中に更新が発生する前に初期化コードをコールできると便利です。[`Start`](/engine/6000.0/script-reference/unityengine/monobehaviour/start.md) 機能は、 オブジェクトの最初のフレームまたは物理演算更新の前に呼び出されます 。[`Awake`](/engine/6000.0/script-reference/unityengine/monobehaviour/awake.md) 関数は、シーンがロードされたときにシーン内の各オブジェクトに対して呼び出されます。さまざまなオブジェクトの`Start`と`Awake`関数は任意の順序で呼び出されますが、最初の`Start`が呼び出される前にすべての`Awake`インスタンスが終了します。つまり、`Start` 関数のコードは、`Awake` フェーズで以前に実行された他の初期化を使用できます。

初期化関数が全体的なイベント機能更新シーケンスにどのように組み込まれるかの概要については、[イベント機能実行順](/engine/6000.0/manual/scripting/object-oriented-development/managing-update-order/execution-order.md)を参照してください。

## GUI イベント##gui-events

古い機能の [IMGUI UI システム](/engine/6000.0/manual/uitoolkits/uielements/ui-imgui/gui-basics.md)を使用するプロジェクトでは、UI 要素の描画と管理のために [`MonoBehavior.OnGUI`](/engine/6000.0/script-reference/unityengine/monobehaviour/ongui.md) コールバックが定期的に呼び出されます。

> **Note:**
>
> `OnGUI` コールバックをシーン内の任意のオブジェクトに追加すると、フレーム処理プロセスに IMGUI 処理も追加され、余分なオーバーヘッドが発生します。`OnGUI` は、プロジェクトで [IMGUI UI システム](/engine/6000.0/manual/uitoolkits/uielements/ui-imgui/gui-basics.md) が使用されている場合にのみ使用してください。これは推奨されません。

詳細については、[UI システム](/engine/6000.0/manual/uitoolkits.md) を参照してください。

## 入力イベント##input-events

`MonoBehaviour` クラスには、マウスでユーザーアクションに反応するためのプレフィックス`OnMouse` （例： [`OnMouseOver`](/engine/6000.0/script-reference/unityengine/monobehaviour/onmouseover.md) 、 [`OnMouseDown`](/engine/6000.0/script-reference/unityengine/monobehaviour/onmousedown.md) ） を持つ一連のイベント関数もあります。これらのコールバックは、推奨されなくなった古い機能の[入力マネージャー](/engine/6000.0/manual/input/legacy/class-input-manager.md)を使用するプロジェクトでのみサポートされます。

詳細については、[入力](/engine/6000.0/manual/input.md) を参照してください。

## 物理演算イベント##physics-events

物理演算システムは、オブジェクトのスクリプトコンポーネントでイベント関数を呼び出すことによって、そのオブジェクトに対する衝突を報告します。

[`OnCollisionEnter`](/engine/6000.0/script-reference/unityengine/monobehaviour/oncollisionenter.md)、[`OnCollisionStay`](/engine/6000.0/script-reference/unityengine/monobehaviour/oncollisionstay.md)、および[`OnCollisionExit`](/engine/6000.0/script-reference/unityengine/monobehaviour/oncollisionexit.md)関数は、接触、保持、および破損が発生したときに呼び出されます。対応する[`OnTriggerEnter`](/engine/6000.0/script-reference/unityengine/monobehaviour/ontriggerenter.md)、[`OnTriggerStay`](/engine/6000.0/script-reference/unityengine/monobehaviour/ontriggerstay.md)、および[`OnTriggerExit`](/engine/6000.0/script-reference/unityengine/monobehaviour/ontriggerexit.md)関数は、オブジェクトのコライダーがトリガーコライダーとして設定されるときに呼び出されます。

物理演算イベント関数の詳細は、[コライダー相互作用](/engine/6000.0/manual/physics-section/physics-overview/collision-section/collider-interactions.md) を参照してください。

## 追加リソース##additional-resources

* [MonoBehaviour](/engine/6000.0/manual/scripting/object-oriented-development/fundamental-unity-types/class-mono-behaviour.md)
* [イベント機能実行順序](/engine/6000.0/manual/scripting/object-oriented-development/managing-update-order/execution-order.md)
* API リファレンス
