One of my biggest gripes with Unity has always been the Animation Editor.
I'd love to see this improved even further than it has been lately. I have some suggestions to do so:
- Weighted Tangents
I love that these have been added in Unity 2018.1, but they're still annoying to use. Weighted should be the default Tangent mode for all new keyframes, initialized at their flat or auto values. This would make keyframing much, much easier.
- Remove the idea of Tangent Modes
This is on the same topic as my last point, but I think it warrants it's own explanation. With the addition of Weighted Tangents in 2018.1, the animator no longer needs the concept of a Tangent Mode. Instead, right clicking on a keyframe (or a tangent handle) should give you a list of preset calculations (flat, auto, linear, const) instead of putting that keyframe into a state where you potentially can't modify it until you change the Tangent Mode to something else.
- Clip Ranges
It'd be nice to be able to set a Start and End cap to the animation timeline, so we can animate values outside the clip bounds. This is purely for ease-of-use, the animation would still only play from the Start to the End. For example: Say you have a continual sine curve, but offset so the peak doesn't hit the top at time=0. If you were able to set a keyframe outside the clip bounds, you could place the keyframe at the peak but with the right amount of space from the start or end to allow it to start or end on a value where the curve would be cut off.
- Curve AND Preview Visibility Toggles
It'd be great if each animated value had multiple visibility toggles. One, being the Curve visibility toggle, show/hide a curve, instead of relying on the selection which ends up being very finicky and annoying. And two, being the Preview visibility toggle, which will stop the preview from applying that value to the animation when scrubbing. This would be great for testing values or changes when you don't want all the other animated properties to effect the test (for example, hiding a shaking object's position properties, in order to see only it's scaling properties in the scene/game views)
- Improved Animation Events
I believe Animation Events could be improved if we were able to add UnityEvent-style events, which can reference any object in the animation-root-object's hierarchy, and call any method on that object, just like a UI Button
OTHER SMALL FIXES:
- Stop adding keyframes for all values of a Vector3 when only one value is changed.