I ran into this as well. I noticed if I add some virtual bones that have never existed in the original skeleton, they track correctly. But if I delete and readd virtual bones that did, they just refuse to track.
I’m working around this by deleting all virtual bones in my new skeleton, doing the retargeting, and readding the virtual bones.
This definitely seems like a bug. Maybe there’s some hidden data that is being brought over with the retargeted animation and is corrupting the virtual bones in the new animation.
This is without a doubt a serious and Major Engine Breaking Bug in Unreal Engine 5 right now…I did a hard retarget and even went so far as to delete the virtual bones from my Character’s before setting up IK Rigs for them…so I don’t think that’s the Cause.
This is what is happening on my Setup…
I delete all Virtual Bones.
I then setup the IK Rigs and do a hard retarget of the AnimBP
I then fix any additive animation issue’s caused by other bugs during the process
I then use Control Rig to fix the IK Foot and Hand Locations…so I know for a fact they are positioned properly
I then replace all of those animation in the AnimBP…
I then recreate the Virtual Bones…This is where issue’s start coming up
Once I have recreated the Virtual Bones…the Animations work fine…but after closing and restarting the Engine…all of a sudden absolutely none of my hand placement is working anymore…WTF!!! I Wonder…so after digging I come across the exact verbatim issue that this guy is suffering from…they aren’t pointing to the bones I specifically set them to follow…they are now pointing aimlessly into oblivion for no reason what so ever.
I should mention that It seems to stop for a minute if the next time I delete and restart, I give the virtual bones another name…eventually it comes back though…so I don’t know what’s going on
THIS IS A SERIOUS BUG, PLEASE GET IT TOGETHER AND FIX THIS NOW!
I’m using RTG_UE4Manny_UE5Manny and my animation retargets all mess up the fingers like this (even the default jog animation). None of the solutions in the thread appear to work - even the “set recursively” trick from UE4 doesn’t work. Any ideas how to fix it?
So I’ve finally got back to animating and returned to this virtual bone problem. It would appear that whatever the issue was with the hand virtual bones was resolved in a patch since I no longer observed any problems with those bones (they behaved as expected). The feet were still not updating their positions. After tinkering around with virtual bones, I found out that a virtual bone created from the root to the foot would behave as expected. However my set up requires a virtual bone root, so a virtual bone made from the root that targets the root (VB Curves). It would appear that this bone (and possibly the VB ik_foot_root as well, that also targets the root) is responsible for preventing the updating of its children. I really don’t know how this information is handled under the hood, so this is as far as I’ve gotten with finding out what the issue is.
However there does appear to be a simple work around. Simply exporting the animation as a FBX file and reimport it will cause all virtual bones in the animation to update and behave normally. I’m guessing the animation obtained from the retargeting process isn’t saving quite right. So the steps to fix the virtual bone problem are:
Open the animation
Export Asset dropdown button → animation data (you don’t need the preview mesh)
Save the animation anywhere you like
Click the reimport animation button
Select the animation you just saved
The animation should update with all virtual bones fixed *
*I did occasionally get a error when reimporting, something along the lines of improper alembic file. I’m not sure why this happens but all you have to do is open the animation you tried to reimport and reimport again, it always worked on the second try.
*Also beware step interpolation animations, you may have to change the interpolation to linear, then export and reimport, then change interpolation back to step.
It was a bit tedious but it seemed to do the trick, I closed and reopened the editor and everything was still working just fine. I think it’s ultimately a bug but hopefully this workaround helps people in the meantime.
Thanks for your impeccable articulation through your troubleshooting Cipher, your solution is the only one online I’ve found that doesn’t involve reinventing a game engine and 25 year coding experience. ALS is the best
Yes, it is true that UE5 does not copy curves correctly. You have to highlight keys and change them from “linear” to “constant” in ALS animation curves.
I had a few animations flip bones and had to correct the animations manually, adding to the frustration of UE5 failing to retarget properly in the first place.