All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Added
Set
steps, this allow you to specifically set properties of your target at a certain point in your sequence, a good example is: You want to have aIn
animation and alsoOut
but you want to make sure things looks correct when the animation start, you can now use this to set the properties. Right now only supportsTransform
,RectTransform
Graphic
andImage
but I will extend this overtime if turns out to be useful.
- Exposed the
AnimationSteps
from theAnimationSequencerController
- Add
ReplaceTarget<GameObjectAnimationStep>
that allows you to replace the target of a step by a new one, this is useful when you want to replace a step target by a prefab, or a new instance of the same object. This will replace the target of the step and all the actions that are using the same target of that specific type. - Add
ReplaceTargets(params (GameObject original, GameObject target)[] replacements)
that replaces all the original targets to the newTarget - Add
ReplaceTargets(GameObject originalTarget, GameObject newTarget)
to replace all the targets of the original target to the new target
- Fixed Animation not saving progress changes
- The last renaming caused a lot of unwanted issues, I'm reverting this until I figure out exactly how to handle this
- Fixed issue when previewing animation and having the
AutoHideWhenPreviewing
enabled would cause the Steps not expand on the second play - Fixed issue where FadeCanvas didn't work while previewing on Editor on Unity 2021
- Added support to control AnimationSequencer though regular unity animations, in both runtime / playtime
- Fixed issue with color tweens no working on the editor > 2021
- Added a settings menu on
Edit/Preferences/AnimationSequencer
- You can now disable the auto foldout of the steps while previewing on the Settings
- Fixed Unity 2020 compability
- Fixed Unity 2021 support
- Added a new setup to help dealing with projects when DOTween is not available. The AnimationSequencer will try to find the DOTween asmdef and add a scripting defining symbol
DOTWEEN_ENABLED
. Keep in mind that if you remove DOTWEEN you will have to remove the asmdef by hand.
- Fixed Unity 2020 foldout issues
- Added other small null checks
- Fixed Infinite Loops not working with sequence, well its not fixed but I'm using the workaround described here: Demigiant/dotween#92
- Exposed all the Steps/Actions changeable values as properties so they can be changed by code.
- Added new
TryGetStepAtIndex
andTryGetActionAtIndex
to be able to get and manipulate values from code.
- Fixed InvokeCallbackStep adding the callback to the parent sequence
- Fixed not allowing -1 as loop number for the DOTweenStep
- Fixed issue in which the Animation Step's Delay was being applied to each Action individually, this was causing them to execute sequentially rather than simultaneously.
- Fixed an issue in which joined Steps after an Invoke Callback Step with a delay were incorrectly delayed.
- Added general defaults, previously defaults could only be set for Actions.
- Worked around a Unity bug in which updating the colour of a Graphic does not cause any visual change outside of PlayMode (affects "Color Graphic" and "Fade Graphic" actions).
- Improved Step naming for Invoke Callback to include the called function name and also support multiple callbacks.
- Added RectTransformSizeDOTweenAction to tween the sizeDelta of a Graphic.
- Fixed a bug in which exiting the prefab staging view with an active preview would cause a null ref and failure to reset the animation. This was due to the timing of EditorWIndow.OnDisable (it is is called after the prefab objects have already been destroyed) and has been fixed by hooking into PrefabStage.prefabSaving.
- Added runtime playback speed.
- Fixed bug with delay and multiple sequences
- Expand the steps panel if started playing with the panel open.~~~~
- Added
AutoplayType
, this allows animations to trigger in eitherAwake
orOnEnable
(defaults to Awake to retain backwards compatibility) - Fixed issues with backward playback in Editor Preview Tool and at runtime.
- Fixed callbacks not firing correctly when playing backward.
- If
AutoplayType
is OnEnable, thenOnDisable
will kill the tweens and reset the animated objects to their initial states, this ensures that they are in the right state for the Tweens to be regenerated the next time the animation is enabled. - TimeScale slider in Preview Tool can now be used before playback commences.
- Exposed getters for
PlayOnAwake
andPauseOnAwake
, these can be used for asserts to catch incorrect setup ofAniamtionSequenceControllers
from the code's perspective. - Fixed an issue with "Move To Anchored Position" when using the IsRelative flag. It must be set when calling tween.From(isRelative) for it to work.
- Fixed delays not working for Callback steps.
- Fixed potential null refs in various DOTweenActions.
- Allowed various parts of AnimationSequenceController and AnimationSequenceControllerCustomEditor to be overridden.
- Play On Awake and Pause On Awake now alter their inspector label dependent on the selected AutoplayType.
- Fixed a bug with the completion callbacks passed to Play, PlayForward and PlayBackwards, old callbacks were executing for subsequent plays. All listeners are now removed each time any playback function is executed.
- Fixed typo in PlayForward bool.
Thanks for @nindim for all the improvements and bug fixes
- Exposed
AnimationSequencerController
methods to be virtual, so they can be extended. - Removed the
sealed
fromAnimationSequencerControllerCustomEditor
so allow custom editors as well. - Refactor the Play / Forward / Backward setup, to be easier to understand and use
- Added
autoKill
setting on the sequence settings, to allow back and forward play easily;
- Added the SetProgress to be able to set the position of the sequencer by code.
- Set the
Play
method to virtual so can be overwritten - Added DOTWeen from the UPM package dependency
- Fixed Timescale slider greyed out before editor was playing
- Added direction as a parameter of the
Play
method, so you can trigger to play backwards and forward by code.
- Fixed issue when
OnStart
event was been triggered inside theOnComplete
event. JohnDesley - Automatically hide the Steps Panel when previewing to increase performance.
- Removed the
Play
from the playtype, now is onlyBackward
andForward
andForward
is the default one - Implement manual reset of editor changes to avoid issues while previewing animation and stop
- Refactored the preview controllers to allow all the controllers to be able to play the animation when needed
- Improved inspector performance
- Implemented a bunch of feedback from nindim
- Replaced TypeUtility for Unity TypeCache
- Fixed issue of Join sequences
- Fixed issue with Append / Join steps
- Updated Readme
- Update Delay implementation
- Removed Duration variable.
- Small cleanups
- Added ColorGraphic DOTween step.
- While previewing if you press play again with a finished tween, will rewind it first
- Added loops settings for the entire sequence.
- More warnings and help information boxes while previewing
- Added Sequence Settings Panel to control DOTween Sequence Settings only
- Disabled infinity loops to be added to DOTween Steps, More Information
- Cached components on Tween Step to improve performance.
- The Sequence will be killed if the animation controller is destroyed
Thanks for all the suggestions @nindim
- Refactored the system to use Sequences as core, instead of proprietary implementation
- Changed the preview controls
- Fixed chain of sequences to be played properly on editor.
- Changed how the DOTweenEditorPreview works
- Added UnityEvents callback to be exposed on the editor.
- Added TimeScale slider to control preview
- Added progress slider to scrubing through the sequence
- Added new exposed settings (
UpdateType
TimeScale Independent
,Auto Kill
) - Added new play type
- Added
AnimationControllerDefaults
where you can set some default values and behaviours
- Requires latest DOTween version (v1.2.632)
- Fixed one issue that prevent you from playing the same animation twice on editor
- Limited the
-1 (Infinity lopps)
on editor playback, this was causing some issues so will show a Warning and limit to 3 loops if was set to -1 - Fixed issue when trying to complete the Sequence on editor, now only Stop is available, and will complete all the sequence.
- Added the
Invoke Callback Step
that usesUnity Events
to trigger callbacks inside one sequence! Thanks @VladmirCSouza
- Added Step Finished / Step Begin events that can be subscribed on the
Animation Controller
- Fixed issue when a custom step would have a null
DisplayName
- Added
Rewind()
functionality, thanks @qwe321
- Fixed DOTween editor been used on runtime platform
- Added Complete method for the Sequence, so you can force one sequence to finished instantaneous
- Added the
force
parameter on thePrepareToPlay
method, to execute the preparation of a step even if is already generated - Added initialization settings for the
Animation Sequencer
- Fixed issue where the duration of a sequence composed of multiple sequences would not sore the correct duration
- First initial working version