How to start character animation at specific point

How do you get a character animation (skeletal mesh) to play from a specific point from the level bp?

I can’t get the set position function to work, or even if is the right way to do ?

Would appreciate some help guys

Does the skeletal mesh have an AnimBP? Or do you just want to play one single animation on it?

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.

Thanks for that, I’ll give it a shot!

It Really is much appreciated!

Hey no problem. One thing I messed up on on the info here is that I keep saying “the montage you created in step ②”. I meant to say “step ①”.

Also, just to be clear, in your level blueprint you have to get the skeletal mesh of your actor and then pull off of that to get the anim instance, then cast that to the AnimBP (of your skeletal mesh that contains the Event), then you call the event.

Let me know if you got any probs with . It’ll definitely work they way I’ve explained it (but some things may be a little unclear). jsyk, the project I uploaded on gdrive is using UE4 version 4.15.2 or 3.

Thanks again, I just REALLYA appreciate the help, but please give me a couple of days to try out, as I’ve been given a load of deadlines at work to deal with!

Thanks again, I really appreciate your very kind help!

I REALLY appreciate that, thanks again!

Hey, is that script Japanese? Very cool!

I’m having a few problems unfortunately:

the BPs all compile and run, but the animation isn’t being triggered, here is my setup after your very kind help:

My Character reference is AndromedaBPX a blueprint created from the character skeletal mesh and newAnimBP is the new animation blueprint created.

There also seems to be an existing andromeda_blueprint I think may be for the skeletal mesh component and appears as an option in the drop down menu of the “Get All Actors of class” node with a man icon, i’ve tried setting it to but it throws up an error.

I think may just be down to some incorrect labelling I’ve done somewhere.

What am I doing wrong, sorry for being such an idiot, but I’d really appreciate some help!

Many Thanks D.

Hey Delta1, thanks for the update.

Haha, I just left the default interface at Japanese (I’m running Japanese Windows OS, so it defaults to that).

Hmm, it looks like you’re getting the skeletal mesh component, not the skeletal mesh?

When I created the Actor BP for the skeletal mesh, all I did was create a Blueprint Class > Actor, and then added a skeletal Mesh component to it. Then specified the skeletal mesh, and made sure the Animation Blueprint was set. Maybe you forgot to set the AnimBP for skeletal mesh component in the Actor BP??

When you pull off the Array element, it should have just skeletal mesh. Could you show me what your Actor BP looks like? Or are you using a Character BP?

I’m not entirely sure how you got that Skeletal Mesh Component reference.

Here’s what my Actor BP looks like, just make sure you set the AnimBP, whether it be an actor or character:

Hi KusoKuso,

I’ve just seen your email, I’m using a mixamo character BP, currently it looks like :

I’ve converted the character to a BP to start with.

I’ve made an example project so you can see, using some of the level BP functionality as you’ve kindly suggested:

I’d REALLY appreciate it if you could please have a look to see where I’ve messed up.

Many thanks,
D.

Hey I downloaded all of the project files. And reassembled them into a project folder. It loads up but there are no animations, montages or animation blueprints. however I did see the Actor Blueprint you are using. It’s a skeletal mesh Actor BP.

I’ve never used those before. And it’s set up different from a normal Actor BP. I can’t find where to add an AnimBP to it. All I can add is just 1 animation. I double-checked the documentation on Skeletal Mesh actors and it doesn’t look like they can use Animation BPs.

Unfortunately, seeing as I don’t have your animation, I can’t set it up for you.

I recommend you create a new Actor blueprint.
① Right click in the content browser and choose Blueprint Class > Actor (at the top).

② In that Actor BP, add a skeletal mesh component to it

③ Set that skeletal Mesh component to your Andromeda Skeletal mesh

Stick that Actor BP in the level and then make sure that the Find All Actors of Class node in your level blueprint is looking for the new actor you just created.

I can’t see your Anim BP or animation in the files you uploaded so, if you don’t have it, you should now follow the steps I listed at the top of thread, where you create a montage for your animation, set up the event in the AnimBP, call the event in the level blueprint, etc.

Just as a reminder, the project I uploaded contains only the blueprints/anmation/montage/skeletal mesh required to get your thing working. I think that’s the best reference for you.

Let me know if you have more questions.

Ah, it’s ok. Sorry about the lack of annotation. The problem with that screenshot is that you have to:

pull off of the for each loop’s Array element and get its skeletal mesh > then pull off that skeletal mesh and get its Anim Instance > pull off that instance and get its PlayThis event.

OR you could…

pull off that BP reference (like in the bottom of your screenshot) and get its skeletal mesh > pull off its skeletal mesh and get its anim instance > pull off its anim instance and get its event.

You don’t want to mix the two because then the references won’t match.

If you don’t understand I’ll try to annotate the level blueprint and/or make a complete animbp, character or actor bp using your stuff and then re-annotate it.

IM REALLY SORRY for the hassle, but if you could please try it with my stuff, I’d massively appreciate it!

MANY MANY THANKS!

Thanks for that, can I ask what was done differently?

Awesome it worked for you. If it’s all good, you should probably mark as answered so other people know.

Just in case you want to know how to make it so Andromeda doesn’t reset after the animation is over, screenshot provided not by me, but by GageCornelius, may help (you basically create a new section in the montage for looping the last frame).

Many thanks again, Much Appreciated!

Hi there,

It’s a single animation that I’d like to start a few frames in, my current set up is as follows:

I’d really appreciate some help!

Cool. Sorry I didn’t know if you were in urgent need of help or not. Just update the thread whenever you get around to it. I updated the answer so it’s more accurate. You should be able to follow it without having to refer to the comments.

Firstly, let me apologise for the hassle I’m causing you, I’M REALLY REALLY SORRY!

I cant get to work it won’t find connect up:

Could you please annotate your level BP to state which BPs are being referenced by each node, i think that may help me, yes I AM an idiot.

I’ve attached a link to the character used:

Alongside the animation:

The are straightforward fbx imports, they should go straight in, the character may look a bit messed up as it needs some reconfiguration to look normal, but you can still play the animation on it.

You also have to convert it to a BP too.

If you could please have a look I’d be really grateful and its the last thing i need to do to get my map running.

MASSIVELY APPRECIATED!
MANY THANKS!

Hi,

Sorry to be a pain, and must be busy (apologies) but did you manage to look into ?