Loop Out
Repeats the existing keyframes after the final keyframe.
loopOut('cycle');Use on properties with at least two keyframes.
Expressions
A focused collection of reusable expressions for After Effects.
expressions across categories.
Repeats the existing keyframes after the final keyframe.
loopOut('cycle');Use on properties with at least two keyframes.
Extends an animation before the first keyframe and after the last keyframe.
loopIn('cycle') + loopOut('cycle') - value;Useful when a looping element needs to exist across the full comp.
Loops keyframes forward, then backward, for a seamless back-and-forth motion.
loopOut('pingpong');Adds slow organic movement without making the layer feel unstable.
wiggle(0.4, 24);Best for background elements, floating details, or soft camera movement.
Creates stepped random motion instead of constantly interpolated motion.
posterizeTime(8);
wiggle(3, 18);Good for stop-motion, jitter, or intentionally graphic movement.
Rotates continuously at a predictable speed without keyframes.
time * 45;Change 45 to control degrees per second.
Repeats a section of time using the current comp time.
duration = 2;
t = time % duration;
valueAtTime(inPoint + t);Helpful for looping prebuilt motion without trimming the layer.
Rounds a slider value and displays it as text.
Math.round(effect('Slider Control')('Slider'));Add a Slider Control effect to the text layer first.
Uses a layer marker comment as editable source text.
marker.numKeys > 0 ? marker.key(1).comment : value;Good for quickly changing text without opening the Source Text property.
Sizes a shape layer rectangle to match another layer with padding.
textLayer = thisComp.layer('Text');
padding = [48, 28];
box = textLayer.sourceRectAtTime(time, false);
[box.width + padding[0], box.height + padding[1]];Apply to a Rectangle Path Size property.
Centers the anchor point based on the layer bounds.
box = sourceRectAtTime(time, false);
[box.left + box.width / 2, box.top + box.height / 2];Apply to Anchor Point on text or shape layers.
Keeps a slider-driven value inside a predictable range.
slider = effect('Slider Control')('Slider');
clamp(slider, 0, 100);Useful when exposing controls through Essential Graphics.