Inherited class doesn't run it own Update function.

It’s probably some very basic mistake but I have a base class that has a child class which doesn’t call it’s own Update method:

Base class:

public class Unidades : MonoBehaviour {
//...
protected virtual void Update () {
        Debug.Log("Parent Update"); //This is being called
    }
//...
}

Inherited class:

    public class Grupos : Unidades {
//...
    protected override void Update()
        {
            base.Update();
    Debug.Log("Child Update"); //This isn't being called
//...
    }
//...
}

I’ve tried to search for an answer in other questions already but my case seems to be different, I’m new to programming despite know some basics. Does anyone knows where I messed up?

Are you sure you attached the “Grupos” component to your gameobject? Keep in mind that the class name has to match the file name in order to attach it to a gameobject. So you should have a file named “Grupos.cs” which you attach to your gameobject.

I guess this is a simplified version of your actual code? Keep in mind since you call base.Update in the beginning if the base Update class throws an exception your derived update would terminate immediately.

Oh boy, such a stupid mistake. The problem was in the final function of the chain, on it’s Update(), I was using “base.Awake” instead of “base.Update”. Thanks for the answer @Bunny83, but it was only my amateurism that caused this one.