I have a class ``BlinkingBehaviour`` which inherits from ``MonoBehaviour``. Game objects attached to scripts containing classes that inherit from ``BlinkingBehaviour`` should, as the name suggests, blink.

``BlinkingBehaviour`` is a small class so I will share the entirety of its code here:

    public class BlinkingBehaviour : MonoBehaviour
    {
        private Renderer renderer;
    
        public bool BlinkingEnabled;
        public Color BlinkingColour = new Color(1.0f, 127f / 255f, 39f / 255f);
    
        protected float CurrentColourScale;
        protected float ColourScaleIncrementPerUpdate = 0.005f; 
        
        protected const float MaxColourScale = 2f;
    
        protected void Start()
        {
            this.renderer = this.gameObject.GetComponent<Renderer>();
        }
    
        protected void Update()
        {
            if (this.BlinkingEnabled)
            {
                SetBlinkingColour();
            }
            else
            {
                SetColour();
            }
        }
    
        protected void SetColour()
        {
            if (this.CurrentColourScale <= 1f)
            {
                this.renderer.material.SetColor("_EmissionColor", this.BlinkingColour * this.CurrentColourScale);
            }
            else
            {
                this.renderer.material.SetColor("_EmissionColor", this.BlinkingColour * (MaxColourScale - this.CurrentColourScale));
            }
        }
    
        protected virtual void SetBlinkingColour()
        {
            SetColour();
            this.CurrentColourScale += ColourScaleIncrementPerUpdate;
    
            if (this.CurrentColourScale <= MaxColourScale)
            {
                return;
            }
    
            ResetBlinkingColourScale();
        }
    
        protected void ResetBlinkingColourScale()
        {
            this.CurrentColourScale = 0f;
        }
    }

I have a class ``Lamp`` which inherits from ``BlinkingBehaviour``. I attached ``Lamp.cs`` to an object in my scene. In my inspector, I checked the ``BlinkingEnabled`` option, expecting to see the ``Lamp`` game object blinking after I pressed "Play".

However, the object did not blink.

Here is my ``Lamp`` class:

    public class Lamp : BlinkingBehaviour
    {
        private void Start()
        {
            base.Start();
        }
    
        private void Update()
        {
            base.Update();
        }
    }

After setting various breakpoints, I could see that the ``Start()`` method was hit in both ``Lamp`` and ``BlinkingBehaviour``. I could also see that ``this.gameObject.GetComponent<Renderer>();`` returned a valid component.

On the other hand, my breakpoint in the ``Update`` method in ``Lamp`` was never hit.

What can I do to fix this issue?

**UPDATE:**

I deleted the ``Start()`` and ``Update()`` methods from my derived class. I discovered something new: The ``Update()`` method in ``BlinkingBehaviour`` is never called, even though ``Start()`` is.