If you want to do things from code, I’d recommend setting up a Full Body slot and create a series of Anim Montages
you can customize the blend in and blend out times per montage , as assets in the editor
then in code, have a static or dynamic array of UAnimMontage* that are linked to each of your Anim Montage assets in the editor
then you can play that anim montage!
see shootergame C++ if you dont yet have the play anim montage function.
You can easily set all your UAnimMontage* as a dynamic array that is UPROPERTY(), in defaults of character class
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Yippee!")
PS: make sure your montages are set to go to the FullBodySlot!
PSS: This would not be hard to make as your own Anim Node, the only part that might take a bit of work is the arbitrary number of inputs
Making Your Own Anim Nodes Wiki