Automatic Playback
Bind Events in Studio
Section titled “Bind Events in Studio”Open Studio with /frameui editor, choose an effect and open Events. Under When to play, select any combination of Join, Teleport and World change. Use Plugin events for an optional integration. Import or save the design to apply the selection.
Leaving every event unchecked makes a design manual-only. Editing a draft changes its preview immediately; it does not change the server until imported or saved.
Bind Events in YAML
Section titled “Bind Events in YAML”Add play-on to a custom effect file:
play-on: ['join', 'world-change']Use a filename and matching ID such as lobby-arrival.yml / id: 'lobby-arrival'. Keep the effect’s template set to a valid animation ID. Run /frameui reload after manual changes.
Per-effect play-on bindings work independently of the legacy loading.on-join and loading.on-teleport switches. You can leave those switches off when using explicit bindings. command cannot be an automatic binding.
Selection Rules
Section titled “Selection Rules”For each request, FrameUI finds matching enabled effects, checks both global and per-effect eligibility, and applies cooldowns. The highest eligible priority wins. If multiple candidates have that priority, their positive weights determine the random choice.
enabled: truepriority: 10weight: 3play-on: ['join']filters: worlds: include: ['lobby'] cooldown-ticks: 200This candidate is eligible in lobby and has a ten-second per-player effect cooldown. It competes with other eligible join candidates; a higher-priority effect can still win. A cooldown starts when the screen opens, not while the pack is pending.
Teleports and Native Events
Section titled “Teleports and Native Events”Plugin travel events must correspond to a real, successful local player teleport. A request alone, a cancelled teleport or a pending TPA does not open a travel screen. One effect plays per teleport.
For proxy transfers, assign a Join effect on the destination server. A native addon event on one server does not render a screen on another server.
See Plugin Integrations for exact event IDs and destination filters.
Legacy Pools
Section titled “Legacy Pools”Existing setups can continue using the global pools:
loading: on-join: true on-teleport: false teleport-distance: 8automatic: join-effects: ['aurora', 'nebula'] teleport-effects: [] world-change-effects: []An empty pool disables that legacy pool. ['*'] considers all eligible effects and must be used alone. Named pool entries must reference existing IDs. on-teleport also controls legacy world-change playback. The legacy distance threshold does not replace the filters used by explicit bindings.