Regarding Animation Templates, Layer Interfaces, Slots, Montages

TLDR

  • We want a way to get Montage Slot Poses to be used in AnimBP Templates.
  • We want to be able to override Animation Graphs/Layers/Cached Poses of the parent/template Animation BP in the child.

This is also regarding UE-147316.

We’ve been working in UE5 with Animation Templates, and they seem really cool, yet unnecessarily limited, and aren’t taking advantage of them right now because of the increased complexity.
Just to play a montage and sample the slot poses for use in the template is really convoluted.

If we missed something and there is an easy fix, please let me know! We searched high and wide and experimented a lot to try to figure out a good workflow using animation templates.

Currently you cannot override a AnimBP Template’s layers in a child class. Why not? We want to!

  • Functionally you can override the Animation Layer Interface Outputs by creating a new class and giving it the interface, then calling Character-Mesh-LinkAnimClassLayers(separateAnimBP)
    But this forces us to separate even more functionality that could be contained in the same Anim Blueprint.

Using this method you have:

  • Animation Template: With Animation Layer Interface
    • Main Animation Blueprint (child of Animation Template) now with skeleton: Can override some animations, but not layers or any part of the anim graph.
  • Separate Animation Blueprint (not child of template): Also Implements the Animation Layer Interface, and can evaluate Slots.
  • Character links the Separate Animation Blueprint to override the layers on the Main Animation Blueprint with LinkAnimClassLayers. Now we can play montages on the Separate Animation Blueprint and its slots are being used in the layer which the template evaluates for the final animation graph output.