Exit
  • Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
  • 한국 커뮤니티
0

Expressions that rely on time no longer evaluate correctly in After Effects 25.2.2

New Here ,
May 14, 2025 May 14, 2025

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.

TOPICS
Expressions , Scripting
89
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines

correct answers 1 Correct answer

Adobe Employee , May 14, 2025 May 14, 2025

Hi @nikita_shilov,

Thank you for reporting this issue. The behavior you're encountering is the defined behavior in the Legacy ExtendScript expression engine, in all versions of After Effects: reserved words cannot be reused and will cause issues like the one you're seeing. This is not the case in the newer JavaScript expresion engine, which is the engine we recommend using.

It seems like you may have inadvertently switched to the Legacy ExtendScript engine in 25.2.2—if you change the expression e

...
Translate
New Here ,
May 14, 2025 May 14, 2025

Update / Workaround Discovered

After further testing, I found that the bug appears to be triggered specifically by the use of the variable name speed.

Minimal broken example:

speed = 10;
angle = time * speed * 2 * Math.PI;
angle
This expression fails to animate in After Effects 25.2.2 — the result is always 0 or stuck at a constant.
No errors are shown, and time is silently ignored.

Working version with renamed variable:

spd = 10;
angle = time * spd * 2 * Math.PI;
angle
This version works as expected. The moment the variable speed is renamed to anything else (e.g., spd, v, s), the expression animates normally.

Important Note:
This behavior only occurs in After Effects 2025 (v25.2.2).
In earlier versions such as AE 2024 and AE 2022, the first example with speed works fine.
There seems to be some internal name collision or reserved keyword handling in the expression engine introduced in the newer version.

Summary
speed used as a variable name causes time to break silently in expressions in AE 2025.

Renaming speed to anything else resolves the issue immediately.

No such issue exists in AE 2024 and earlier.

🧠 This is a subtle but very destructive regression — especially because it:

doesn't throw any error,

only happens in specific versions,

and depends on variable naming — which is completely valid JavaScript.

Please investigate whether speed or other identifiers are being shadowed/reserved in the AE 2025 expression engine.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Employee ,
May 14, 2025 May 14, 2025
LATEST

Hi @nikita_shilov,

Thank you for reporting this issue. The behavior you're encountering is the defined behavior in the Legacy ExtendScript expression engine, in all versions of After Effects: reserved words cannot be reused and will cause issues like the one you're seeing. This is not the case in the newer JavaScript expresion engine, which is the engine we recommend using.

It seems like you may have inadvertently switched to the Legacy ExtendScript engine in 25.2.2—if you change the expression engine to JavaScript in File > Project Settings > Expressions, do you see the behavior you're expecting?

 

Thanks for any futher information,

- John, After Effects Engineering Team 

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines