child class specific variables and functions?

hi,
I have a base class,and 2 children class.
The base class has a base attack function that left as empty.

Child 1 overwrite the base attack.

child 2 overwrite it as well.but child 2 has an additional and different type of attack function.

what do you deal with this sort of situation?
create the additional function to base class?what if I have a lot child classes and they all need different functions?create different functions all within the base class makes it messy.

if I add new functions to the children.the base class becomes meaningless.(because referencing to base class is not gonna find children specific functions).

when different child class needs different specific functions,specific variables that totally can’t share with other children class .and don’t want to put in base class.what is the best practice?

Interface looks the same.only referencing base class doesn’t suit the request.

a workaround I’m thinking is that creating a bunch of base classes for each child,holding all empty specific variables,functions.so that I can freely casting to each little base class.

this question recently haunts me a lot.I seem to familiar with blueprint,but still tbh lack of base knowledges sometimes.

thank you a lot!