GAME DEVELOPMENT WITH UNITY

Call a method from other Behaviour Scripts in Unity 3D

In this tutorial we will learn how we can call a public method defined in one script from any other script attached to different gameObject.

One way to do so is by using the static method which we saw and used in our last tutorial, but that is not the right way.


Unity 3D: Call a method from other Script

Lets define a new behaviour class with name FirstScript

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class FirstScript : MonoBehaviour
{
    
    void Start()
    {
        // some code
    }
    
    void Update() 
    {
        // some code
    }
    
    public void SayHello()
    {
        Debug.Log("Hey there!");
    }

}

Now lets define our second class with name SecondScript and call the method doSomething() defined in the first script in the second.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class SecondScript : MonoBehaviour
{
    public FirstScript first;
    
    void Start()
    {
        // some code
    }
    
    void Update() 
    {
        // calling SayHello() method every frame
        first.SayHello();
    }

}

Hey there! Hey there! Hey there! ...

It will keep on printing Hey there! in the console until the game is in play mode.