How to use inherited value stored in variable, not the value from the parent?

It depends what you’re doing in that parent function “Shoot”, if you’re just using the value directly from the Output connection then it should work, but if you’re using a variable node for Bullet Hole Decal without setting the value from the Output connection, it’ll just be the parent’s value.

Here’s how I would do it since it doesn’t require Blueprint scripting in each child function of passing back and forth values:

  1. In Parent Actor have variables for everything you’d want to be tweakable, in this example Fire Delay, which I set to default 0 seconds.

  1. Then in a Child Actor derived from the Parent, you only have to set variable values and override any component values you wish. I set Fire Delay in this derived Actor to be 2 seconds, so the Print String when I fire a weapon will be delayed by two seconds only in that derived Actor class.

Hopefully this helps minimize the maintenance you’d constantly need to do too for each derived class.