ニュース

Top  >   15. C#とMonoBehaviour  >   Q, スクリプトから別のオブジェクトのスクリプトを呼び出したい

Q, スクリプトから別のオブジェクトのスクリプトを呼び出したい

2026/03/18

メインコンテンツへスキップ
< すべてのカテゴリに戻る

A,結論

GetComponent で参照を取得します。

原因 / 背景

オブジェクト同士が繋がっていないと、別の場所にある関数は実行できないためです。

実装 / 手順

GetComponent<相手のクラス名>() で取得してから関数を呼びます。

サンプルコード

using UnityEngine;

public class DoorController : MonoBehaviour
{
    public void OpenDoor()
    {
        Debug.Log("Door opened.");
    }
}

public class DoorSwitch : MonoBehaviour
{
    [SerializeField] private DoorController targetDoor;

    public void Activate()
    {
        if (targetDoor == null)
        {
            Debug.LogWarning("DoorController is not assigned.");
            return;
        }

        targetDoor.OpenDoor();
    }
}

※ 実機確認が必要な項目は、Editor だけで判断せず対象デバイスでも必ず動作確認してください。

難易度:Level 2(初心者)
対象プラットフォーム:Visual Studio,Unity
関連キーワード:コンポーネント

Level 1-2 向けバナー