Child Anim Instance: Animation Blueprint Override vs Variable

I’m playing with different ways of setting up animation blueprints and inheriting them.

Is there any benefit to using overrides (Animation Blueprint Override in Unreal Engine | Unreal Engine 5.0 Documentation) instead of variables?

The upsides:

  • No need to modify your blueprints, it just works when inheriting.
  • The Asset Override pane allows you to view where the animation is located in the Anim Graph.

But I also see some downsides with the overrides:

  • The Asset Override pane doesn’t properly scroll (known bug, but very annoying).
  • All overrides have the name of the initially assigned animation, this is not always as clear.

When I would use variables I don’t have the scroll issue (as it all nicely part of the Details-pane) and I can actually give the variabel a proper recognizable name and put it in a group of my choosing.

So is there any other benefit of using one over the other, eg. from a performance perspective?

I could think at an example.

If you have a character that walks normally but you need it one time to walk like a drunk, instead of having this huge main animation blueprint that keeps track of the drunk animation all the time and other special cases animations, you create this animation override where you change the walk normally, to walk like a drunk, and use this animation override blueprint only that single time in the game when needed.

you don’t even need some variable inside the main animation blueprint to check if he is drunk or not.