> ## 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.

# Visual effects

> Set up lighter and flare effects, then configure rifle muzzle flashes and casing ejection.

## Lighter and signal flare

Find the pack's effects in `Survival_FPS_Pack/VFX`.

| Effect | Asset |
| - | - |
| Lighter flame | `Lighter/NS_LighterFlame` |
| Lighter sparks | `Lighter/NS_LighterSparks` |
| Signal flare | `SignalFlare/NS_SignalFlare` |
| Rifle muzzle flash | `Niagara/NS_MuzzleFlash_Rifle` |

`BP_Lighter` has a `LighterFlame` Niagara component, while `BP_Flare` has `FlareFlame`. Keep those components connected to the item's animation and activation behavior when replacing an effect. Test ignition, held use, and putting the item away.

The held flare and thrown flare are separate actors. Check the effect on both `BP_Flare` and `BP_Survival_Flare` when changing its appearance. See [Tools](https://docs.kinemation.xyz/survival-pack/unreal/general/items/tools.md) for activation, throw preparation, and cancellation.

## Rifle effects

The rifle view starts the muzzle flash when firing. Casing ejection uses an animation notify so it can follow the bolt action.

A weapon action decides when an effect appears. The weapon view starts the muzzle flash when a shot fires; a notify can eject a casing at a particular animation frame. The effect assets describe what to spawn and how it should look.

Assign the effect data to AC\_WeaponView\.BaseMuzzleFlash. The weapon view applies it to BP\_Shooter\_Weapon's MuzzleFlash Niagara component when firing.

## Configuring the effect

Shared VFX data selects a Niagara system and sets its exposed parameters. This lets several weapons reuse the same effect with different values.

<table><thead><tr><th>Entity</th><th>Purpose</th></tr></thead>
<tbody><tr><td>`/Game/KINEMATION/Common/VFX/BP_VFXData`</td><td>Selects a Niagara system and contains named float and vector parameter overrides.</td></tr>
<tr><td>`F_NiagaraFloatParameter`</td><td>One named scalar override.</td></tr>
<tr><td>`F_NiagaraVectorParameter`</td><td>One named vector override.</td></tr>
<tr><td>`F_MuzzleFlashConfig`</td><td>Muzzle-flash selection and configuration.</td></tr>
<tr><td>`BP_CasingParticleSettings`</td><td>Casing effect configuration.</td></tr>
<tr><td>`BP_AnimNotify_SpawnCasing`</td><td>Spawns a casing on an authored animation frame.</td></tr></tbody></table>

`BP_VFXData` contains `NiagaraSystem`, `FloatParameters`, and `VectorParameters`. Parameter names must match the selected Niagara system's exposed user parameters.

For casings, configure `BP_CasingParticleSettings`, then place `BP_AnimNotify_SpawnCasing` at the ejection frame. Avoid spawning the same effect from both the notify and the weapon Event Graph.

The shared Niagara systems and materials are in `Common/VFX`. Use an effect that matches your item, or create a copy for your own changes.

## Add a muzzle flash

1. Create or duplicate a `BP_VFXData` asset in your own folder.
2. Select a Niagara system, such as `NS_MuzzleFlash_Rifle_01`.
3. Add only parameter names exposed by that Niagara system.
4. Assign the data asset to `AC_ProjectWeaponView.BaseMuzzleFlash`.
5. Test the inherited weapon fire path and verify that it emits one effect.

Create a material instance or VFX data asset for your own changes so other items can keep using the shared effect. See [Spawn casing](https://docs.kinemation.xyz/survival-pack/unreal/general/animation-notifies/spawn-casing.md) for ejection timing.


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