Anim Blueprints - push new blueprint on the fly?

Hello all,
I’m wondering if anyone has experimented with pushing new anim blueprints on a character on the fly? Ideally what I’d like to do is detect in the player controller when something has changed (say maybe a wounded state, or changing weapons), and then swap out all of the animations to reflect the new player state.

I know I could probably do this easily through branching in one giant anim blueprint but that sounds like a maintenance nightmare and I’m wondering if there’s a more elegant way to fix the problem. Ideally I would like to prototype this in blueprint only… I experimented with deriving child blueprints but the anim graph is not exposed on children so I don’t seem to have a way to override the objects within the graph on their children.

Thanks for any tips

You can derive child blueprint, and you can expose those animations from parent and override in child blueprint. You can’t change graph, but you can override the animations. With new build coming up, you shouldn’t even have to expose that.

You can replace the Anim blueprint of the character using by calling SetAnimBlueprintGeneratedClass, but you’re likely to see the pop. There is no elegant smooth transition between two different anim blueprint.

I’d think having one anim blueprint is better to avoid pop. Once we have macro support in anim blueprint, this will be a lot nicer. You can have macro that can be reused by multiple part of the graph, which will reduce the maintenance headache.

Thanks,

–Lina,

Thanks for the answer Lina…
Is SetAnimBlueprintGeneratedClass listed in the blueprint editor as Set Anim Class?

Also, am I right in assuming that if I attempted to do one big anim blueprint that we would incur the memory cost for every anim referenced in the graph? i.e. if I had 4 weapons but only 2 of them were used in a level I’d still have to accept the memory cost for all 4 weapons because they are referenced within the blueprint?

Lastly, is macro support in anim blueprints a longer term goal or is that something we’ll see soon?

Is SetAnimBlueprintGeneratedClass listed in the blueprint editor as Set Anim Class?

Actually yes it is named to be that.

if I attempted to do one big anim blueprint that we would incur the memory cost for every anim referenced in the graph?

Yes, that is true. It will load all referenced assets from the blueprint.

Lastly, is macro support in anim blueprints a longer term goal or is that something we’ll see soon?

This is longer term plan. I see what your concern is, when you have multiple weapons, you’d like to only load the animations that matter.

If you can design your weapon system, so they can share most of animations, would that be possible?

The long term plan is to support macro and sub tree system, but this isn’t anytime soon.

Thanks,

–Lina,

Yeah certainly designing weapons systems to share anim content could be a constaint to consider… I was able to get something up and running really quickly with BlendListByEnum. I’m not sure but I think I may have witnessed the power of blueprints for a second there =). Thanks for your help!

Old thread, but Lina, would you be able to say how you would go about doing this?

You can derive child blueprint, and
you can expose those animations from
parent and override in child
blueprint. You can’t change graph, but
you can override the animations.