How to start character animation at specific point

Hey Delta1,

(Here’s a gdrive [link to the project][1] where is working)

I think should work for you. One (afaik the only) way to do it is using an animation montage:

Note: I made the Skeletal Mesh an Actor, and put that Actor BP in the level.


First Right click on your animation for the skeletal mesh, then Create > Create AnimMontage.

You can leave all the montage settings at default if you want. If it’s just one single animation for the skeletal mesh, I suggest you do. Just to be sure though, verify what the slot name is on the Animation in the montage. Do that by double-clicking the montage to open it up and then look at the Slot name (it should be DefaultGroup.DefaultSlot):


If you don’t have an AnimBP for the skeletal mesh in question, you will need to create one.
(sorry no screenshot, but it’s easy, just right click anywhere in the content browser > select Animation > Animation Blueprint, then create one for the skeleton of the skeletal mesh you want to do on)

Now open up that AnimBP, and in the Event Graph create a Custom Event (by right-clicking anywhere in the blackness of the event graph and typing in “Custom Event” and then clicking it when it comes up. Connect the custom event to a Montage Play node.

Then add a Float Input on the custom event. ( way you can pass in the exact time you want the Montage to play from when you call the custom event on the skeletal mesh from the level blueprint.) And connect that float into the In Time To Start Montage At on the Montage Play. Lastly, set Montage to Play to the montage you created in Step ①.


Now go into the Anim Graph of same AnimBP, click anywhere in the blackness and type Default Slot (you don’t need caps though), and select the node that appears, Slot Default Slot. You want to make sure the Name of the slot specified on Node is the same as that of the montage (the one in Step ①). I left all the Animation Montage settings at default, so assuming you did the same, just connect SlotDefaultSlot node into the Final Animation Pose (if you had a State machine or whatever you could pop it into the left of the Slot Node if you wanted, but I don’t think you need to for your setup). There’s nothing else you need to do here. Also, you can ignore the Source was invisible but ignored warning.

④ (Final Step)
tl;dr
Go to your level blueprint, find the actors you want to play montage on and call the event on their Anim Instance
Find your Actor references, get the skeletal mesh of it and then pull off of that to get the anim instance, cast anim instance to the AnimBP of the skeletal mesh containing the event (of your skeletal mesh that contains the Event), THEN you call the event.

I have 2 methods set up, the one on the top just sets it up to get a reference to one specific Actor’s Anim Instance, and then calls the event we set up in the AnimBP event graph on it. (To get a reference to a specific one, select it in the actual level, then right-click in the Level BP event graph and at the top you’ll see Get Reference to XXXXActor, or whatever you named the actor)

The other method, the one that is currently hooked up, and the one that I believe is similar to your current setup, finds all actors and calls the Event in each of their AnimBP Event Graphs.

Almost forgot, here in the Level BP you specify the time you want the Animation to start from, by entering the time on the event.

jsyk, since I don’t know when you want to play, I set it up so the montage plays on S button press.