What is the best method for combining my dodge animations based on a 2D vector input and playing the result as an like an animation montage?

I have created Dodge animations for moving in different directions (left, back, right, forward) and also have a 2D vector of the current direction of the player’s input (Y for forward/backward and X for left/right) with values ranging from -1 to 1. I have also created a blend space that blends these 4 animations seamlessly based on the 2D vector input, providing an appropriate animation regardless of the direction. Even if the player were to use a controller and point in any angle, this blend space would work perfectly.

However, my goal is to play this blended animation as an animation montage, using the X and Y values of the 2D vector as inputs. The “Play Montage” node only allows me to use animation montages, not blend spaces.

I have been searching for a tutorial or discussion that can help me achieve my desired outcome, but most people only use one animation for a dodge, regardless of direction, or use 4 separate animations (forward, backwards, right, left) or even 8 for corner cases such as back-left.

I understand that blend spaces are typically used for longer states such as running, strafing, and swimming, and should be used in animation blueprint, not the character blueprint when I play montages, but I have been working on my project for two weeks and I fear I may be missing something. Perhaps there is a different way to achieve an omni-directional roll animation.

So, to sum it up
I have:
- 4 dodge animation for each direction
- 2d vector of desired direction

I want:
- play blended animation once for any direction based on any 2d vector

(I’m using third person character template)

Character blueprint (for now only with roll forward animation montage):

Blend space, which might be helpful to understand what I have in mind:

If you want to use blendspace, you ll have to use it from animation blueprint. Create a state for dodging, transition rules into it and from it. There is no way to play montage on blendspace as its not montage.

Or you could play 1 of 4 different montsges based on last input vector proximity to 4 different vectors.

I understand now that I should take a different approach. I was initially worried that I shouldn’t use the states for this, as every source I found suggested that those should be used for something constant. Thank you for your help!