Animations with c++ NOT BLUEPRINTS

When I have an animation state machine with just idle, it does play the idle, but that idle is overwritten by Montage_Play. When Montage_Play is done, it’ll go back to that Idle. At least that’s what happened when I tried it.

If you don’t want any animation to play unless you call it in C++, then you can try leaving the AnimBP blank for the character or derive from Pawn instead. I haven’t tried these options though.

Can you share the code where you are checking for a key press? Did you set a breakpoint on the Montage_Play function to make sure it’s being called? Is the keypress set up as an event or are you checking on a Tick?