
FBX Export Deleting Curve Data
So I'm working with some root motion animations and I export them to FBX via UMotion Pro. On the FBX file I have setup curves for feet ik and gravity for the animation I'm working on. The problem is, if I want to edit the animation in UMotion, when I re-export the clip (from UMotion) it deletes all of my curves on the fbx. Is there anyway to prevent this?

Hi,
thank you very much for your support request.
By creating a Custom Property constraint in "Animator Parameter" mode, you can tell UMotion to include an additional curve into the exported FBX file. That way you can add custom curves like a gravity or an ik curve etc. to the exported FBX animation.
I'm writing this out of my head, but I think UMotion is even capable of importing your existing custom curves. You just need to make sure that you've created the related custom property constraints (in "Animator Parameter" mode) with the same/correct name (as defined in the FBX import settings) before importing the animation.
If you now how to code: Another method would be to extend UMotion with a custom export button that first copies the existing custom curves of the FBX file, then performs the regular UMotion export and then writes the previously saved custom curves back into the FBX. Take a look at the UMotion API if you want to go this route.
Please let me know in case you have any follow-up questions.
Best regards,
Peter

Error when selecting an object to animate
When I choose an object (any object) to animate, I get this error:
Can't add script behaviour 'UMotionLock' because it is an editor script. To attach a script it needs to be outside the 'Editor' folder.
UMotionLock.ΉΊΉΊΉΊΉΊΉΉΉΉΉΊΊΉΉΉΉΉΉΊΉΊΊΉΉΉΊΊΊΊΉΊΊΊΉΉΉΉΉΊΉΉΊΊΊ() at line:193
ΉΊΊΊΊΉΊΊΉΉΊΉΉΉΉΉΉΊΉΉΉΊΊΉΊΉΉΉΉΊΊΊΊΉΊΉΉΊΊΊΉΊΉΊΉΉΉ.ΊΊΊΊΊΊΊΊΊΊΊΉΉΊΉΊΉΊΉΊΊΊΊΉΊΊΉΊΉΉΉΉΊΉΊΉΊΉΉΉΉΊΊΉΉΉΉ() at line:275
ΉΊΊΊΊΉΊΊΉΉΊΉΉΉΉΉΉΊΉΉΉΊΊΉΊΉΉΉΉΊΊΊΊΉΊΉΉΊΊΊΉΊΉΊΉΉΉ.ΊΊΊΉΉΉΉΉΉΊΊΊΊΊΊΊΊΊΉΉΊΉΊΊΉΉΉΉΊΊΉΉΉΊΉΊΊΉΊΉΉΊΊΊΉΊΉ() at line:220
ΉΊΉΉΊΊΉΊΉΉΉΊΉΊΊΉΉΊΉΉΊΊΉΊΊΉΉΉΊΊΉΊΉΊΉΉΉΉΉΊΉΊΊΊΊΉΉ.ΉΉΉΊΉΉΊΉΊΊΉΊΊΉΊΉΊΉΉΉΉΊΊΉΊΉΊΉΉΊΊΊΉΊΉΉΊΉΊΉΊΊΉΊΊΉΊ() at line:1473
ΉΊΉΉΊΊΉΊΉΉΉΊΉΊΊΉΉΊΉΉΊΊΉΊΊΉΉΉΊΊΉΊΉΊΉΉΉΉΉΊΉΊΊΊΊΉΉ.ΊΊΊΊΊΊΊΊΉΊΊΊΉΊΊΉΊΊΊΉΊΉΊΊΉΊΊΉΉΊΊΊΊΉΉΊΉΊΊΊΊΉΊΉΉΉΉ() at line:1444
ΉΊΉΉΊΊΉΊΉΉΉΊΉΊΊΉΉΊΉΉΊΊΉΊΊΉΉΉΊΊΉΊΉΊΉΉΉΉΉΊΉΊΊΊΊΉΉ.ΉΊΊΉΉΊΉΊΊΉΉΉΉΊΊΊΉΊΊΊΉΊΊΊΊΊΉΊΊΉΉΊΊΉΉΊΉΊΊΊΊΉΉΊΉΊΉ() at line:468
ΉΊΉΉΊΊΉΊΉΉΉΊΉΊΊΉΉΊΉΉΊΊΉΊΊΉΉΉΊΊΉΊΉΊΉΉΉΉΉΊΉΊΊΊΊΉΉ.ΉΊΊΉΉΊΉΊΊΉΉΉΉΊΊΊΉΊΊΊΉΊΊΊΊΊΉΊΊΉΉΊΊΉΉΊΉΊΊΊΊΉΉΊΉΊΉ() at line:265
ΉΉΉΉΉΊΊΊΉΊΉΊΊΉΊΉΊΉΊΊΊΉΉΉΉΉΊΉΊΊΊΊΊΉΊΊΉΉΉΊΊΉΊΉΉΉΊ.OnGUI() at line:364
GUIUtility.ProcessEvent()
[Exception] NullReferenceException: Object reference not set to an instance of an object
UMotionLock.ΉΊΉΊΉΊΉΊΉΉΉΉΉΊΊΉΉΉΉΉΉΊΉΊΊΉΉΉΊΊΊΊΉΊΊΊΉΉΉΉΉΊΉΉΊΊΊ() at line:194
ΉΊΊΊΊΉΊΊΉΉΊΉΉΉΉΉΉΊΉΉΉΊΊΉΊΉΉΉΉΊΊΊΊΉΊΉΉΊΊΊΉΊΉΊΉΉΉ.ΊΊΊΊΊΊΊΊΊΊΊΉΉΊΉΊΉΊΉΊΊΊΊΉΊΊΉΊΉΉΉΉΊΉΊΉΊΉΉΉΉΊΊΉΉΉΉ() at line:275
ΉΊΊΊΊΉΊΊΉΉΊΉΉΉΉΉΉΊΉΉΉΊΊΉΊΉΉΉΉΊΊΊΊΉΊΉΉΊΊΊΉΊΉΊΉΉΉ.ΊΊΊΉΉΉΉΉΉΊΊΊΊΊΊΊΊΊΉΉΊΉΊΊΉΉΉΉΊΊΉΉΉΊΉΊΊΉΊΉΉΊΊΊΉΊΉ() at line:220
ΉΊΉΉΊΊΉΊΉΉΉΊΉΊΊΉΉΊΉΉΊΊΉΊΊΉΉΉΊΊΉΊΉΊΉΉΉΉΉΊΉΊΊΊΊΉΉ.ΉΉΉΊΉΉΊΉΊΊΉΊΊΉΊΉΊΉΉΉΉΊΊΉΊΉΊΉΉΊΊΊΉΊΉΉΊΉΊΉΊΊΉΊΊΉΊ() at line:1473
ΉΊΉΉΊΊΉΊΉΉΉΊΉΊΊΉΉΊΉΉΊΊΉΊΊΉΉΉΊΊΉΊΉΊΉΉΉΉΉΊΉΊΊΊΊΉΉ.ΊΊΊΊΊΊΊΊΉΊΊΊΉΊΊΉΊΊΊΉΊΉΊΊΉΊΊΉΉΊΊΊΊΉΉΊΉΊΊΊΊΉΊΉΉΉΉ() at line:1444
ΉΊΉΉΊΊΉΊΉΉΉΊΉΊΊΉΉΊΉΉΊΊΉΊΊΉΉΉΊΊΉΊΉΊΉΉΉΉΉΊΉΊΊΊΊΉΉ.ΉΊΊΉΉΊΉΊΊΉΉΉΉΊΊΊΉΊΊΊΉΊΊΊΊΊΉΊΊΉΉΊΊΉΉΊΉΊΊΊΊΉΉΊΉΊΉ() at line:468
ΉΊΉΉΊΊΉΊΉΉΉΊΉΊΊΉΉΊΉΉΊΊΉΊΊΉΉΉΊΊΉΊΉΊΉΉΉΉΉΊΉΊΊΊΊΉΉ.ΉΊΊΉΉΊΉΊΊΉΉΉΉΊΊΊΉΊΊΊΉΊΊΊΊΊΉΊΊΉΉΊΊΉΉΊΉΊΊΊΊΉΉΊΉΊΉ() at line:265
ΉΉΉΉΉΊΊΊΉΊΉΊΊΉΊΉΊΉΊΊΊΉΉΉΉΉΊΉΊΊΊΊΊΉΊΊΉΉΉΊΊΉΊΉΉΉΊ.OnGUI() at line:364
HostView.InvokeOnGUI() at <434908727417408abd02bbd1a0835ef8>:0
DockArea.DrawView() at <434908727417408abd02bbd1a0835ef8>:0
DockArea.OldOnGUI() at <434908727417408abd02bbd1a0835ef8>:0
IMGUIContainer.DoOnGUI() at <7f21349c9161407ba80a85ddaed7fabb>:0
IMGUIContainer.HandleIMGUIEvent() at <7f21349c9161407ba80a85ddaed7fabb>:0
IMGUIContainer.HandleIMGUIEvent() at <7f21349c9161407ba80a85ddaed7fabb>:0
IMGUIContainer.HandleIMGUIEvent() at <7f21349c9161407ba80a85ddaed7fabb>:0
IMGUIContainer.SendEventToIMGUIRaw() at <7f21349c9161407ba80a85ddaed7fabb>:0
IMGUIContainer.SendEventToIMGUI() at <7f21349c9161407ba80a85ddaed7fabb>:0
IMGUIContainer.HandleEvent() at <7f21349c9161407ba80a85ddaed7fabb>:0
EventDispatchUtilities.PropagateEvent() at <7f21349c9161407ba80a85ddaed7fabb>:0
MouseEventDispatchingStrategy.SendEventToRegularTarget() at <7f21349c9161407ba80a85ddaed7fabb>:0
MouseEventDispatchingStrategy.SendEventToTarget() at <7f21349c9161407ba80a85ddaed7fabb>:0
MouseEventDispatchingStrategy.DispatchEvent() at <7f21349c9161407ba80a85ddaed7fabb>:0
EventDispatcher.ApplyDispatchingStrategies() at <7f21349c9161407ba80a85ddaed7fabb>:0
EventDispatcher.ProcessEvent() at <7f21349c9161407ba80a85ddaed7fabb>:0
EventDispatcher.Dispatch() at <7f21349c9161407ba80a85ddaed7fabb>:0
BaseVisualElementPanel.SendEvent() at <7f21349c9161407ba80a85ddaed7fabb>:0
UIElementsUtility.DoDispatch() at <7f21349c9161407ba80a85ddaed7fabb>:0
UnityEngine.UIElements.UIElementsUtility.UnityEngine.UIElements.IUIElementsUtility.ProcessEvent() at <7f21349c9161407ba80a85ddaed7fabb>:0
UIEventRegistration.ProcessEvent() at <7f21349c9161407ba80a85ddaed7fabb>:0
UIEventRegistration+<>c.<.cctor>b__1_2() at <7f21349c9161407ba80a85ddaed7fabb>:0
GUIUtility.ProcessEvent() at :0

Hi,
thank you very much for your support request.
Please make sure that the UMotionEditor folder has no parent folder named "Editor".
If that doesn't solve your issue, delete your UMotion folders and perform a re-installation.
Please let me know in case you need any further assistance.
Best regards,
Peter

Clarify workflow for editing animations 'in place'
At the moment, I:
1. Start my scene running
2. Watch my character animate to a certain point (that I want to fix)
3. Pause my scene running
4. The 'Pose Editor' says 'Select a GameObject to animate' with 'None (GameObject)'. So I drag my character into the Pose Editor box
5. My paused character's animation resets to frame 0
Is this intentional? Can I jump into UMotion at the exact frame that is currently paused, without it resetting?
Note that after I unpause the 'Pose Editor' resets back to 'None (GameObject)'.

Hi,
thank you very much for your support request.
Is this intentional? Can I jump into UMotion at the exact frame that is currently paused, without it resetting?
Your runtime pose can be a mix of several animations (if e.g. the runtime animator is doing a transition or if you use animation layers to animate separate parts of the character with separate animations). When you assign a character to thePose Editor, UMotion just previews the animation it has currently loaded in the clip editor (and the frame where the frame cursor is currently pointing at in the Clip Editor).
Note that after I unpause the 'Pose Editor' resets back to 'None (GameObject)'.
Yes that's intentional and necessary for the runtime Animator to take over again.
Best regards,
Peter

how to edit a mixamo animation (fbx) with umotion pro?
how do i start editing a mixamo animation (fbx) with umotion pro?

Hi,
thank you very much for your support request.
To edit an existing animation you basically have to do the following:
Create a new UMotion project for your character, then import the animation you want to edit. After editing the animation, you can decide to either export as *.anim or as *.fbx.
Here is the getting started video tutorial to learn the basics of UMotion: https://www.soxware.com/umotion-manual/QuickStart.html
Please let me know in case you have any follow-up questions.
Best regards,
Peter

Animation Blending b/w Two Animations
So basically I want to edit one animation so that it's last key frames are blended into the starting keyframes of another animation
Something like this:
+ (Animation 1)
- (Animation 2)
+++++++++++
-----------------
So that the first animation will slowly change into the second one.
Is there any way to do this using uMotion?

Hi,
thank you very much for your support request.
UMotion currently does not allow you to smoothly blend between two animations and later export them as a single animation. What you can do though, is editing the separate animations in UMotion and export them. Then use Unity's Animator controller or Unity Timeline to realize the transition.
You could also manually do the transition (by editing the curves etc.) but that's more labor intense of course.
Please let me know in case you have any follow-up questions.
Best regards,
Peter

New additive keyframe
Hi there!
Newbie working with additive animation layers. I am confused how to add a new additive keyframe to a layer. Ideally, I would just double click on a blank spot on the timeline and it would create a new key with 0,0,0 (i.e. no additive change). However I guess that shortcut doesn't exist?
So instead I am using 'right click > add keys'. But this always creates a key with some values (e.g. 0, 89.9, 276). So this immediately adds with the underlying layer and changes the overall animation (i.e. what I am viewing in the scene editor 'jumps'). How can I 'pin' my additive layer with a 0,0,0 so that I can then start making changes in later keyframes?

Hi Kennard,
thank you very much for your support request.
In order to create a key frame, use the "Key Selected" button in the Pose Editor. You can also assign shortcuts to it (Edit --> Preferences in the Clip Editor to manage shortcuts). The [S] shortcut is assigned to "Key Selected --> Key All" you can use that one as well.
Another way would be to enable "Auto Key" (set it to "Generate"; Pose Editor). This automatically generates key frames when you modify the pose of a bone.
I agree that the "Add Key" context menu adding an offset isn't an ideal behavior in an additive layer. I might change that in the future.
Please let me know in case you have any follow-up questions.
Best regards,
Peter

Reverse animation so that root motion's origin is also reversed
I'm finally able to go back to using the animation I created in November. Well, I want to use the reverse of it.
I keyframed the animation of boarding the bike. Perfect. I can use it in the scene. It looks like it applies the root motion as expected, throughout.
I then duplicated the clip, selected all, and reversed the keyframes. Also seems great when I scrub through the animation in UMotion, the character hops off the bike and is left standing where he started on the boarding animation.
But now I am realizing that the reversed keyframes must still measure everything relative to the original position on the ground, not the seated position. I was expecting to be able to play "boarding" to board, and then "leaving" to get back off the bike. When I try to run the "boarding" then subsequently the "leaving" clip in the game, the first frame of the "leaving" animation jumps 90º and a bit off, then clambers backwards and ends up somewhere in the front tire looking backward.
After reversing the keyframes, is there a way to say "hey, frame 1's position is the starting root position, everything else is a delta from that"?
I'm sure people have done similar things with boarding/exiting ladders and other situations. What am I missing?

Hi,
thank you very much for your support request.
You might want to check out the root motion settings of the exported animation clip. Select the exported clip, then in the inspector you get a lot of different root motion settings:
More information about root motion: https://docs.unity3d.com/Manual/RootMotion.html
Please let me know in case you have any follow-up questions.
Best regards,
Peter

How to move the entire clip to a new world position?
My spaceship pilot is sitting in the middle of the air. How the hell do I move everything in the clip so he's sitting in the ship.

Hi,
thank you very much for your support request.
You can move your character by selecting the root transform (the hips in case of humanoid) and move it with the move tool. To do it for the entire animation clip (not just a single frame) either shift the x, y, z curves (in curves view) or use an additive animation layer to apply a positional offset for the entire animation.
This video tutorial uses an additive animation layer to apply a position offset:
https://www.soxware.com/umotion-manual/InPractice3.html
Please let me know in case you have any follow-up questions.
Best regards,
Peter

IK Setup Wizard: FK bones remain?
Hi guys,
When using the IK Setup Wizard on my model, the IK bones appear, but they are alongside the existing FK bones. (e.g. in my Clip Editor Animated Properties I see 'IK_Foot_R' as well as 'foot_r').
Is this normal? How can I delete the FK versons?

Hi Kennard,
thank you very much for your support request.
The FK rig is always present, that's normal. In the Pose Editor's Display section, you can show hide the FK rig if currently not needed. With the FK/IK blend slider (channels view when having the IK handle selected), you can transition from the FK rig to the IK rig. More information can be found in the IK video tutorial: https://www.soxware.com/umotion-manual/ProLesson2.html
Please let me know in case you have any follow-up question.
Best regards,
Peter

export, losing frames
So my export is losing frames ?
this animation was imported with the character and I was using Umotion to fix the knee bending to far at one point.
how ever as you can see in the video, she drops the starting spin. what am I missing ?
video link,
https://drive.google.com/file/d/1LfTjzwGT1ExzOUvhrGmsIhgWVqncMt7E/view?usp=share_link
Customer support service by UserEcho