how to change the order of bones and not break the animation ?

Hello. Faced a situation, I made bone rig for sprite character, then animation was made on this rig, then it was discovered that there was forgoten root bone. The question is, is it possible to somehow attach the bones to the root of the bone without breaking the animation ... If you just drag the necessary bones to the root bone, then all the animation keys disappear. If you change the editor through the sprite the same, all animation disappears. In previous versions, it was possible to write the path of the bone on each parameter in the animation window, it is hyper long, but at least it helped, now it doesn't work like that

Hello @anatoliy_grebnev

Currently there is quick method to introduce a new root bone to an animation. However, the method you described to fix up the animations after a new bone has been introduced still works.
1. Drag in your updated character into a scene
2. Add the Animator component onto the root GameObject
3. Add the Animator Controller into the Controller field in the Animator component
4. Open the Animation Window (Window > Animation > Animation)
5. Select the character in the hierarchy window
6. Select one of the animations in the drop down menu in the animation window
7. Select one of the nodes, press enter and you should be able to update the path.
8. Press enter again to confirm

It is a tedious workaround, and we are discussing this issue internally to see what we can do to improve the flow.

1 Like

Thank you for answer =) will try it again =) and will wait for easier way to fix this issue in the future updates =)

@Ted_Wikman On a non-bones animation clip, I'm finding that Enter is unreliable to actually show the node's path. It seems more like Enter followed immediately by a click works a bit better.

You should allow this to be done more easily by right-clicking to trigger it. Right-click would also greatly help the discoverability of this tool because I would've never expected Enter to produce anything. Thanks!

After I do this
1. Drag in your updated character into a scene
2. Add the Animator component onto the root Game Object
3. Add the Animator Controller into the Controller field in the Animator component
4. Open the Animation Window (Window > Animation > Animation)
5. Select the character in the hierarchy window
6. Select one of the animations in the drop down menu in the animation window
there are no nodes to select clear list... i select all bones and there are no keys on bones ... but it save overall timing


Thanks for the feedback, enter sort of works if you are using a Mac, since it is the default way of renaming a file. But I do agree that having a right click action that brings up a menu where you can select Rename would make more sense.
I'll pass this feedback over to the rest of the team.


I don't follow 100%, could you post a screenshot to show what you are seeing?

Still no workaround to what seems to be a very simple problem? How is it possible that Unity lacks so many basic functionalities?? Every single modern 3D program is able to achieve this. Changing a single parent object of an animation should not break everything beneath it. There are HUNDREDS of threads talking about this issue. I can't say I'm just so baffled with this engine sometimes. Priorities are not in order.

2 Likes

yep, im into this issue too, and would prefer a workaround for this rater than more AI stuff that im not gonna use.
its very time consuming going to each node to rename it even if some are child nodes from a previously fixed parent node, at least it should ask you only to rename the parent path and then the child follow the flow, but instead have to rename one by one even child nodes :/ and having to go through hundred animations it gonna take me a week, i could simply remove the newly added bone, but i add it because i realized i need it for upcoming animations :(