> ## Documentation Index
> Fetch the complete documentation index at: https://docs.visualradioassist.live/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Use the names from the glossary at https://docs.visualradioassist.live/glossary: Audio Manager (two words), command (never commando), on air and off air (never live) for programs and studios, and server apps for the VRA apps installed in the studio.
> Say which app an answer applies to, like VRA Cloud, the Core or the Output Player, and the version when the page names one.
> Only give settings, values and steps that are in these docs. Never invent one. If the docs don't cover it, say so.
> When the docs don't answer the question, send the user to Visual Radio Assist support at https://cloud.visualradioassist.live/support.

# Animation custom events

> Trigger designer-authored layer animations from visual JavaScript.

Named events connect custom JavaScript to timelines created in the Visual Designer. The generated timeline stays in the visual's custom JavaScript.

## Configure an event

Select a layer and open **Animations**. Choose **Custom event** and enter a name, such as `score-updated`. Add one or more animations to that event.

Use the same name on other layers to animate them together. Start times remain relative to the event.

## Trigger from JavaScript

```javascript theme={null}
if (typeof visualLink !== "undefined") {
  visualLink.animations.emit("score-updated");
}
```

`visualLink.animations.emit(name)` restarts the timeline registered for that name. The method returns no value. A name with no registered timeline has no effect.

Emitting the event again restarts its animation.

Use **Test event** or the timeline play button to inspect the designer animation.

## Keep animation ownership clear

Designer actions are custom GSAP. You can extend the generated code, but keep the lifecycle wiring and timeline declarations in a form the Animations panel recognises.

Existing `visualLink.playStateManager`, `getCanvasElement`, `abortController` and cleanup behavior remain available. See the [GSAP guide](https://docs.visualradioassist.live/develop-with-vra/develop-visual-graphics/gsap-animations-with-visual-radio-graphics.md) for lifecycle handlers and the [animation guide](https://docs.visualradioassist.live/visual-designer/animations.md) for the inspector.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.