I am having a hell of a time with child classes in blueprints. So I think I have the wrong idea on how blueprint child classes work.
I have a parent enemy class. It has a ton of events for moving, attacking and things like that. It also has a bunch of exposed variables, like health, hidden, isChasing.
I dont use that parent class ever, but I do make alot of edits to it. I have child classes of that with a shooting type enemy, boss type enemy, swordsman type enemy, all with different default settings to the exposed variables of the parent class.
The parent class also has default animations because most of the enemies use the same mesh.
I place multiple different enemies. I change the different variables that are exposed while placing them on the level, like its health, or is it chasing the player right away.
The problem is, every time I make an edit to the parent class, it changes everything on the child classes. If i compile the parent class one time, sometimes (usually after i restart my engine) all my child classes animations are re-changed to the parent class, all there health is changed back to default 5, every exposed variable I manually inputted while placing the the actor on the level is back to the default of the parent class. Even when I change the variables inside the child class blueprint, they get change back to the parent class.
The only thing I can think of so far, is for every child class, have a constructor with new variables specific to only that child that set the parent variables.