Motion animation inside a hover variant is delayed by the parent frame’s timeline length
I have an interactive component whose hover variant contains a Motion animation (manual keyframes on a child layer). The variant swap happens on hover, but the Motion animation inside it starts late. The delay matches the timeline length of the top-level frame the instance sits in, not the component’s own timeline.
On my real page the frame timeline is about 19 s, because other sections have entrance animations. So the hover animation looks like it never plays.
Repro (file linked below)
- Component “Box”: Default changes to Hover on Mouse enter, and Hover changes back on Mouse leave, with no transition. In Hover, a “Dot” layer has Motion keyframes: X moves 0 → 130 → 0 over 1 s, on a 1 s component timeline.
- Frame A (timeline 0.5 s, no keyframes): the delay is barely noticeable.
- Frame B (timeline 5 s, no keyframes, so the timeline is hidden in the UI): the first hover plays immediately. Every later hover starts about 5 s late, even if I wait longer than 5 s between hovers.
- Frame C (timeline 5 s, with a no-op opacity track on a label): every hover starts about 5 s late, including the first.
Expected: the Motion animation in the hover variant starts immediately on every hover, whatever the parent frame’s timeline is.
Also notable
- A frame keeps its stored timeline length after all its keyframes are removed. The timeline is then hidden in the UI but still causes the delay, as in Frame B.
- Moving the page’s animations into separate section components doesn’t help. The page frame still has its long timeline.
- Possibly related: Figma Motion for prototyping, where nested animations reportedly follow the main timeline.
Workaround (Frame D): build the animation from variants instead of Motion: Hover → Hover Peak → Hover End, linked with After delay and Smart Animate, with Mouse leave back to Default on each hover state. Under the same conditions as C, this plays immediately on every hover.
Repro file:
