Test Releases

  • Upgrading from earlier versions will be free as always.
  • Work In Progress: watch this thread to receive notifications about any new test releases.
  • Github Issues: create an issue if you have any questions, bug reports, feature suggestions, etc.

Current Status: stable. All known (fixable) bugs are fixed. Most of the remaining tasks are improving the examples and documentation. Anyone encountering bugs should try this version and report any lingering issues before release.

When upgrading to a newer version of Animancer, you must delete any previous version from your project first.

Animancer Lite Animancer Pro
Email the Invoice Number (IN000000000) from your Asset Store purchase to animancer@kybernetik.com.au.

Beta 2

Released 2020-07-03

Changes since Beta 1 (see the v5.0 Change Log for the full list of changes since v4.4):

  • Added optional event names to AnimancerEvent.Sequence and AnimancerEvent.Sequence.Serializable so they can be used to identify events when defining event times in the Inspector and assigning their callbacks in code.
  • Added MixerParameterTween for easily interpolating mixer parameters over time.
  • Replaced the "Possible animation type mismatch..." warning in the Inspector with a compact icon:
    • The icon differentiates between warnings (some animated properties aren't present in the Rig) and errors (none of the animated properties are present in the Rig).
    • You can click the icon to get a full explanation of the incompatabilities between the animations and the Rig.
    • If this feature is affecting your performance, you can disable it via the Display Options in the layer context menu.
  • The Inspector warnings about layers being at 0 weight are no longer shown if the object is inactive since the default DisableAction.Stop resets everything to 0 weight.
  • Changed KeyedList.AddNew to throw an exception if the item is already in another list (since KeyedLists only allow each item to be in one list at a time).
  • The Display Options conext menu functions are now shown on states as well as layers.
    • Added Repaint Constantly option which can be disabled to reduce the automatic repainting rate to an interval specified in the AnimancerSettings (default 0.25 seconds) in case the constant repainting is affecting performance.
  • AnimancerNode.ConnectToGraph now applies the weight instantly instead of registering the node to be updated.
  • OrbitControls now uses an enum to specify the mouse button instead of an int slider.
  • Added DummyObjectEditor back in for Unity 2018.4.
  • Fixed drag and drop into the NamedAnimancerComponent.Animations field to work properly.
  • Fixed some minor pixel alignment issues in TimeRuler.
  • Fixed NullReferenceException when first creating AnimancerSettings.
  • Fixed TimeRuler to display looped time indicators at the correct intervals.
  • Cleaned up the Animation Jobs examples and added a SpiderBot to the Two Bone IK example.
  • Fixed the SpiderBot-Idle animation to have two keyframes because only having one causes errors when accessing its property bindings.
  • Moved the Editor-Only Animancer.Lite.dll into the Core folder since Unity gives build errors relating to serialization if it is in the Editor folder.

Beta 1

Released 2020-06-24

Changes since Alpha 1 (see the v5.0 Change Log for the full list of changes since v4.4):

  • Added DefaultHumanoid model (Unity's DefaultAvatar with a different texture) to replace the LowPolyMan.
    • Fixed the finger pose of all Humanoid animations (the LowPolyMan didn't have individual fingers).
  • Improved the SpiderBot model:
    • Cleaned up the naming conventions for bones, meshes, etc.
    • Added foot bones so it can be used with Two Bone IK (one of the Animation Jobs examples).
  • Improved TransitionPreviewWindow:
    • You can now pan the camera using Left Click while Right Click still rotates it as before.
    • Added settings to customise the movement and rotation sensitivity.
    • Added a field for selecting a model with a dropdown that remembers previously used assets.
    • It automatically picks a recently used model based on the best match of properties animated by the transition and properties that exist in each model.
    • Added default human model (uses Animancer's DefaultHumanoid if it exists, otherwise it uses Unity's DefaultAvatar which is just the same model with a different texture).
    • Fixed the grid to properly draw behind Sprites.
    • Fixed the internal details display to use the correct margins in both the Inspector and TransitionPreviewWindow.
    • AnimancerState.RecreatePlayable is now overridden by ControllerState and MixerState to retain their parameter values.
    • Fixed the preview time indicator in the TimeRuler to work properly on transitions with a variable AnimancerState.Length (ControllerState and MixerState).
  • Moved various functionality from ManualMixerState into the base MixerState so it can be used by custom mixers that don't want to inherit from ManualMixerState.
  • Changed AnimancerPlayable.InsertOutputJob(AnimationScriptPlayable) into InsertOutputPlayable(Playable) so that it could potentially be used for custom mixers as well.
  • The AnimancerComponent Inspector now always shows the AnimancerPlayable.IsGraphPlaying field (instead of only when it is paused) and also shows its Speed field.
  • Changed ControllerState.Playable back to a regular property instead of ref readonly and removed HybridAnimancerComponent.ControllerPlayable.
  • Moved the editor version of Animancer.Lite.dll into the Internal/Editor folder since having it visible in the root Animancer folder serves no purpose.
  • Added ObjectPool methods for StringBuilders and replaced all standard usage with them.
  • Standardised AnimancerState.ToString instead of having each child class implement its own.
  • Split AnimancerPlayable.AppendInternalDetails out of AppendDescription so it can be used to display updatables, dirty nodes, and disposables in a single label.
  • AnimationType.Sprite now includes any object with only SpriteRenderers in its children without any other Renderer types.
  • Moved GetParameterValue (and Set) to AnimancerUtilities.
  • Changed AnimancerPlayable.FrameID from uint to ulong to avoid the need for a cast.
  • ScriptableObjectEditor now displays its message about changes being undone when exiting Play Mode as a warning rather than info and only in Play Mode.
  • Added ObjectPool.GetCachedResult for easily creating GUIStyles and other things that need caching.
  • Moved Pro-Only warnings into the WarningType enum and changed them to log individual features once each.
  • Added WarningType.AnimatorSpeed to explain that AnimancerPlayable.Speed should be used instead of Animator.speed.
  • Fixed serialized fields in AnimancerSettings to not have their names obfuscated in Animancer Lite.
  • Fixed Interpolation.Back... methods to be consistent with each other.
  • Fixed WarningType.CreateGraphWhileDisabled to not be triggered in Edit Mode and to work in Development Builds.
  • Fixed the AnimancerComponent Inspector updatables list to not cause the horizontal scrollbar to appear.
  • Fixed ControllerState.Transition.NormalizedStartTime to not interfere with resetting to the default states.
  • Fixed MouseDrag to maintain a fixed distance to the target.

Alpha 1

Released 2020-06-16

First public test release (see the v5.0 Change Log for the full list of changes since v4.4).