Help with "Attach this script to a GameObject"

I am new to Unity and trying to rotate an object. I found the example script (below) that indicates I should attach it to a GameObject. I tried to drag and drop the C# script to the object (Cube) but that generates an error, “Can’t add script behavior CallbackExecutor. The script needs to derive from MonoBehaviour.”

The object in question is Cube, the C# script is “Rotator” and the class name is “Rotator”, so how do you attach the script to a GameObject named Cube?

//Attach this script to a GameObject
//This example shows the difference between using Space.world and Space.self.
//Enable or disable the checkbox in the Inspector before starting (depending on if you want world or self)
//Press play to see the GameObject rotating appropriately. Press space to switch between world and self.

using UnityEngine;

public class Rotator : MonoBehaviour
{
    float m_Speed;
    bool m_WorldSpace;

    void Start()
    {
        //Set the speed of the rotation
        m_Speed = 20.0f;
        //Start off in World.Space
        m_WorldSpace = true;
        //Rotate the GameObject a little at the start to show the difference between Space and Local
        transform.Rotate(60, 0, 60);
    }

    void Update()
    {
        //Rotate the GameObject in World Space if in the m_WorldSpace state
        if (m_WorldSpace)
            transform.Rotate(Vector3.up * m_Speed * Time.deltaTime, Space.World);
        //Otherwise, rotate the GameObject in local space
        else
            transform.Rotate(Vector3.up * m_Speed * Time.deltaTime, Space.Self);

        //Press the Space button to switch between world and local space states
        if (Input.GetKeyDown(KeyCode.Space))
        {
            //Make the current state switch to the other state
            m_WorldSpace = !m_WorldSpace;
            //Output the Current state to the console
            Debug.Log("World Space : " + m_WorldSpace.ToString());
        }
    }
}

Most likely that error is being shown because you have script compilation errors. If you open the console window and hit clear, you should be left with only compiler errors; what are they?

2 Likes

You were correct sir. There was a naming error because there was another item already named Rotator. I fixed that and now it is working.

Thanks for the help.

1 Like