# Sandbox.Animation.GraphExternalSlots

Connects graphs to named External Graph nodes in the current graph.
Parent control parameters are not copied into external graphs, and this API does not expose
child parameter writes. Child control parameters use their authored defaults.
Connections are runtime-only and are lost when the animation controller is recreated.
Recording playback also discards live connections; reconnect them after playback stops if needed.

- Kind: class
- Namespace: `Sandbox.Animation`
- Assembly: `Sandbox.Engine`
- Modifiers: sealed

## Methods

- [`Connect`](/api/Sandbox.Animation.GraphExternalSlots/Connect): Connect a graph to an empty slot, starting its playback. The graph must use the same skeleton and must not declare external pose slots. Throws if the slot or controller is unavailable, the slot is occupied, the graph is incompatible, or recording playback is active. Each connection has its own instance. Disconnect first to replace or restart it.
- [`Contains`](/api/Sandbox.Animation.GraphExternalSlots/Contains): Whether the running graph declares this slot. Does not search referenced child graphs.
- [`Disconnect`](/api/Sandbox.Animation.GraphExternalSlots/Disconnect): Disconnect the graph and restore the slot's fallback. An already empty slot is unchanged. Throws if the slot or controller is unavailable, or recording playback is active. While recording or retaining recorded data, disconnected instances and their resources stay alive until the recording is cleared or replaced, or the controller is destroyed.
- [`IsConnected`](/api/Sandbox.Animation.GraphExternalSlots/IsConnected): Whether a graph is connected, even if its branch is currently inactive.
- [`TryGetPlaybackInfo`](/api/Sandbox.Animation.GraphExternalSlots/TryGetPlaybackInfo): Read the connected slot's last evaluated timing, not a wall-clock timer. Returns false when no graph is connected. An inactive slot does not advance independently.
