I have a few Animation Blueprints (ABP) one for each combat style. There’s one for melee combat, archery, and magic. The ABPs have all the AnimNotifs for all the abilities where they just make a call to the player character to cast abilities. I’m currently copy and pasting the AnimNotifs between all the ABPs. Is there a better way to do this?
I know ABPs don’t have inheritance so I cant put all the common logic in a parent class.
Yeah, that’s pretty much how it goes, unfortunately. I mean you COULD duplicate the original but I think making sure you remove the remnants of the original that would cause conflict would be far more work.
OR you could use a single ABP and have your combat styles function as an enum sent from the player to more or less switch between three graphs, though that is more complicated it IS more efficient in the long, long run. It would save some resources performance-wise.
Thank you for your response. Is it a good idea to circumvent the Animation Blueprint all together by making an AnimNotifState that would send an interface message to the character? I would move all the AnimNotif identifiers into an AnimationNotifyState and have it pass in the data table row the animation completed (for a spell, or item, or interaction, etc).
I have a third person and first person Animation Blueprint as well now.
Well, you can’t circumvent the Animation Blueprint. That’s where the animation code is! You can’t send an animNotify of any kind elsewhere- it’s used to trigger something on the ABP it’s attached to- then through events or states you can tell it to do things involving the self or things elsewhere- and I don’t think an AnimNotifyState is the answer here- and you definitely do not need a dataTable for this. Simply an Enumerator with a different enum for each weapon set and “SwitchOnEnum” nodes will suffice.