Abstract method not working

I’m getting confused. we I call abstract method in Update its work correctly but when I call it directly from another method it’s not working

  public abstract class NetworkShotAction : MonoBehaviour
    {
        protected abstract void NetworkPrimaryFirePointless();
         void Update(){
      //NetworkPrimaryFirePointless;
}
          protected virtual void FirePointless(){
               Debug.log("in ");
               NetworkPrimaryFirePointless();
            }
    }

overwrite in this class

    public class NetworkAssultRifle : NetworkShotAction

{

     protected override void NetworkPrimaryFire(Vector3 hitpoint)
        {
    		
        }
        protected override void NetworkPrimaryFirePointless()
        {
    		print("Fire");
        }
}

I call FirePointless() in another script and in console I see in but NetworkPrimaryFirePointless() never run

public class NetworkWeapon : NetworkShotAction {

	protected override void NetworkPrimaryFire(Vector3 hitpoint){ 
		
	}
	protected override void NetworkPrimaryFirePointless(){
		
	}
	public void SimulationFire(Vector3 hitpoint){
		Fire(hitpoint);
	}
	public void SimulationFirePointless(){
		FirePointless();
	}
}

but when I use it like this

void Update(){
NetworkFirePointless() 
}

it’s work

Since you want to access method from your parent class use base reference in that case.

base.FirePointless()

should works for you