Hiya,
Is there any way to change the skeleton associated with an animation blueprint? It feels like there should be a way, but I can’t seem to find it.
I’m trying to switch one of our assets to use a different skeleton and it seems like it would be easier to change the skeleton and fix errors in the BP than create a new BP with the new skeleton and copy everything over.
Sorry for bumping, but still curious if anybody knows if this is possible/impossible. Just wanna know if I’m wasting my time on this.
Alternatively if there’s a way to make a skeleton agnostic animation BP for the logic side of things that could serve as a parent for other BPs with specific skeletons.
Just tried this with two charcters set up for animation retargetting (open each mesh, pick the skeleton tab, press “retargetting manager” and select humanoid, then match up bones)
With this done, I can right click and animation BP and retarget it - though I did still have to fix the bone names after.
---- old answer below —
Perhaps not an answer - but I found it fairly quick to copy everything over into a new BP
Copying the state machine at its lowest level seemed to copy everything else with it - except for the event graph.
The slowest bits were
-changing all the bone references, but this probably needs to be done anyway
-re-creating all the variables (very happy to have found I can right click on a node whos var is missing and create from there, though it does sometimes require re-adding and wiring to work correctly)
The best thing you can do without retargeting and copying everything over is to write your own c++ class from UAnimInstance class. In that class you will write all your logic from EventGraph.
This way you still have to copy state machine and anim graphs.
this is surreal…
why is there no way to change the skeleton?
are you guys creating new anim bps from scratch every time you work with a new skeleton??
that’s duplicated code and it’s time consuming… and absurd.
The retarget system is more like a desperate last resort, not a solution. Probably the actual solution is to share the skeleton across as many creatures as possible, and waste time and duplicate code for the others. In my case I was looking for a way to exchange skeletons with 1 click. Which means I have to bypass the entire animation system, and build something custom.
Real time retargetting is not the same kind of functionality as assigning an animation to a skeleton. It’s slow, inefficient, and overkill. It’s like taking an Airbus 747 to work, when you could just walk 20 min.
Are you blaming me, or Epic’s tool? I’m providing a solution to the question, that’s the point of the Answer hub. If you are still having issues, you can also rmb the skeletal mesh>skeleton>assign skeleton. This also allows to copy over the bones from the existing/old skeleton. I’m not even an expert in the animation pipeline, but was able to figure all of these out. I wasn’t satisfied with the current collection of answers to this question.
Nobody is blaming you JA, if there’s a problem that’s indeed Unreal’s workflow. I just pointed out that retargetting is not a good, efficient solution for a Skeleton Change.
Poor mans solution (highly recommend you backup before doing this).
Close Unreal Editor
Go to the Folder where the mesh was located (the one you want to move away from)
Delete it. (Soft delete ie let Windows recycle bin be your “shelf” - lets live dangerously )
Load Unreal Editor
Double Click on your Animation Blueprint. You should now be prompted to select a new skeleton.
Select your skeleton… pray and hope your animations match and you don’t get compile errors because bare in mind, your Anim Bp’s are probably referring to specific animations if its one thats already been worked on).
Apparently there’s a way to just change the skeleton in UE5, I don’t know if it’s a new thing.
Just open the AnimBP and click “class settings”, then in “Class Options->Advanced” you’re gonna find “Target Skeleton”. Change that and voilà!
Bear in mind, you’re not gonna be able to compile unless you replace all the animations in the AnimBP, but that’s normal. You cannot expect the system to recognize what animation is the exact match of a specific one on another skeleton.