Stop manually key-framing your cursor. Here’s a quick procedural expression rig that keeps your cursor locked to the end of your text as it writes on.
On your cursor shape layer, add a Point Control named Offset.
---
### Position Expression (Paste on Cursor Layer)
selfRect = thisLayer.sourceRectAtTime();
cursorPadding = -selfRect.left;
cursorOffset = effect("Offset")(1);
par = comp("Text_01").layer("Text_01");
fullRect = par.sourceRectAtTime(par.sourceTime(), false);
reveal = par.effect("Reveal Progress")(1) / 100;
revealedWidth = fullRect.width * reveal;
endX = fullRect.left + revealedWidth;
endY = 0;
worldPos = par.toComp([endX, endY]);
[worldPos[0] + cursorPadding + cursorOffset[0],
worldPos[1] + cursorOffset[1]]
---
### Opacity Expression (Paste on Cursor Layer)
var outOp = comp("Text_01").layer("Text_01").effect("Out Progress Opacity")(1);
100 - outOp;
---
Download the ready-made Viral SaaS Text Animations
