Casting to the parent should work for all the children, just to know if it’s harvest-able.
The problem comes when you want to drag from the cast, and call stuff inside the BP.
Two ways around this problem are
-
Put all the common code inside the parent, and only implement the specific stuff in the children. You can have a custom event like ‘harvest’ in the parent, but the instance code is different in each child. You do this with something called ‘overrides’.
-
Use an interface to talk to the BP. Then you don’t get any of these problems.