Expressions that rely on time no longer evaluate correctly in After Effects 25.2.2
Issue
Expressions that rely on time no longer evaluate correctly in After Effects 25.2.2.
In previous versions (24.x and earlier), these expressions worked as expected. This appears to be related to overly aggressive internal caching of time-dependent expressions that prevents them from updating over time, even though no error is shown.
Adobe After Effects version
25.2.2
Operating System
Windows 11 (Build 22631)
Steps to Reproduce
Create a new composition and add a solid or text layer.
Select the Position property and apply the following expression:
center = value; radius = 100; speed = 1; angle = time * speed * 2 * Math.PI; x = Math.cos(angle) * radius; y = Math.sin(angle) * radius; center + [x, y]
Play the composition (RAM preview or spacebar).
Expected Result
The layer should move in a smooth circular motion over time, based on the angle derived from time.
Actual Result
The layer jumps slightly on expression evaluation but remains static. The time variable does not appear to update. No error is displayed.
The expression silently fails to animate.
This also fails with simpler expressions like:
angle = time * 10 * 2 * Math.PI; angle
— when applied to properties like Rotation or Opacity, the value stays stuck at 0 despite time progressing.
Confirmed Workaround
Using an indirect reference (such as accessing another layer’s property) or adding a wiggle() or random() call sometimes "nudges" AE into evaluating the expression per frame.
For example:
dummy = wiggle(0.0001, 0.0001)[0]; angle = time * speed * 2 * Math.PI + dummy * 0;
However, this is clearly not expected behavior and creates significant issues for expression-based workflows and templates.
Impact
This regression breaks a wide variety of motion graphics setups that rely on procedural animation using time. Templates that worked flawlessly in AE 2022/2023 now silently fail, leading to confusion and broken projects without any error feedback.
