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

# Spawn casing

> Use BP_AnimNotify_SpawnCasing for frame-specific animation events.

export const Notify = ({notifyName, example, graphImage}) => <>
    <p><code>{notifyName}</code> spawns a Niagara casing effect at a mesh socket when the animation reaches the ejection frame.</p>

    <h2 id="add-it-to-an-animation">Add it to an animation</h2>

    <ol>
    <li><p>Open the Animation Sequence or Montage used by the relevant mesh.</p>
    </li>
    <li><p>Right-click a notify track at the desired frame and choose <code>{notifyName}</code> from <strong>Add Notify</strong>.</p>
    </li>
    <li><p>Select the notify and configure its exposed settings in <strong>Details</strong>.</p>
    </li>
    <li><p>Preview the timing, then test the action in play with the owning actor present.</p>
    </li>
    </ol>

    {example}
    <h2 id="settings">Settings</h2>

    <table>
    <thead><tr><th>Property</th><th>Use</th></tr></thead>
    <tbody><tr><td><code>Socket</code></td><td>Ejection socket on the mesh playing this animation.</td></tr>
    <tr><td><code>ParticleSettings</code></td><td><code>BP_CasingParticleSettings</code> asset containing the Niagara system and casing parameters.</td></tr></tbody>
    </table>

    <p>The notify checks the settings asset, gets the socket transform, and spawns the Niagara system. It then supplies casing motion and appearance parameters. Keep the socket on the animated weapon mesh.</p>

    <p>Use a notify when the casing must leave at a particular frame, such as a shotgun pump. Check the weapon's firing effects before adding another ejection event, so one action does not spawn two casings.</p>

    {graphImage}
  </>;

export const Example = () => <><h2>Example in Sci-Fi FPS Pack</h2><p>A_W_TP12_Pump uses this notify with CPS_12Gauge_TP12. The casing is tied to the pump animation rather than an arbitrary delay after firing. When replacing that animation, keep the ejection frame aligned with the pump action.</p></>;

<Notify notifyName="BP_AnimNotify_SpawnCasing" example={<Example />} graphImage={<Frame caption="BP_AnimNotify_SpawnCasing acts on the mesh playing the animation."><img src="https://mintcdn.com/kinemation/SNGN1MO-2cou2Sl-/images/kinemation/unreal/BP_AnimNotify_SpawnCasing_Received_Notify_00000.png?fit=max&auto=format&n=SNGN1MO-2cou2Sl-&q=85&s=67eebdedcd6a77d69a93e24a0bb6bf3f" alt="BP_AnimNotify_SpawnCasing Received Notify graph" /></Frame>} />
