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:
- 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.
- 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.