Anim BP Templates and State Machine updates in child BPs

Hi!

I am just seeking advice here.

I have an Animation BP Template that I use to drive 90% of my characters. (Image 1)

The other 10% would need custom bespoke extra functionality. Each of them could have a varying upgrade to their behavior. I made a simple example here of a character that could revive itself. I added an extra state of “Revive” that can be triggered from death, and that sends the character back into the idle node. (image 2)

My issue is that I don’t want to bloat the template with all of those bespoke things because there will be a lot. But I don’t know of a way to modify the state machine in a child of an animation BP template.

So I’m just seeking advice on what would be the best way to achieve this customizability of behavior, based on a template.

I’m not sure state machines is the best way to achieve this so if you have another completely different suggestion, I am also open to that.

Thanks!

Hey there,

There are a couple of strategies you could take, each has limitations or some piece that might become non-starters for the approach you’re taking.

The first is that template anim bps can be used as linked animgraph targets inside of state machines. So a strategy you could take would be something like this:

  1. Create your very generic base animgraph as a template with the things that you want every character to do.
  2. Create the animbp that you’ll have your character use.
    1. In this anim bp you add a state that will contain a linked animgraph. This points to your template bp. Making sure to expose the pins for all of the data you want to drive.

[Image Removed]

  1. Add in your new state.

The primary issue with this workflow is that you really can’t define your transitions well. It would be every possible state can transition to the appended state.

The other option would be to go state machine-less. This would be a similar approach to what is in the gameplay animation motion matching setup with a blendstack, choosers, and blueprint to handle driving what animation is playing next and why. With this, you still wouldn’t be able to override functions within a template, but you could add hooks for data to pass into your system to determine state and blend times. It isn’t relegated to motion matching.

Dustin

Hi [mention removed]​ !

The Linked Anim Graph solution looks very promising for the issue I am trying to tackle!

Thank you very much for your suggestion!

MatDuf