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

> Configure Sci-Fi FPS Pack muzzle flashes, Niagara parameters, casing effects, and weapon-view ownership.

export const intro_0 = "The Sci-Fi FPS Pack supplies Niagara and casing data through ShooterCore weapon views and animation notifies."

## Shooter effects

{intro_0}

ShooterCore weapon views reference presentation data while the shared VFX module owns reusable Niagara selection and casing configuration.

| Entity                                               | Purpose                                                                           |
| ---------------------------------------------------- | --------------------------------------------------------------------------------- |
| <code>/Game/KINEMATION/Common/VFX/BP\_VFXData</code> | Selects a Niagara system and supplies named float and vector parameter overrides. |
| <code>F\_NiagaraFloatParameter</code>                | One named scalar override.                                                        |
| <code>F\_NiagaraVectorParameter</code>               | One named vector override.                                                        |
| <code>F\_MuzzleFlashConfig</code>                    | Muzzle-flash selection and configuration.                                         |
| <code>BP\_CasingParticleSettings</code>              | Casing effect configuration.                                                      |
| <code>BP\_AnimNotify\_SpawnCasing</code>             | Spawns a casing on an authored animation frame.                                   |

<code>BP\_VFXData</code> contains <code>NiagaraSystem</code>, <code>FloatParameters</code>, and <code>VectorParameters</code>. Parameter names must match the selected Niagara system's exposed user parameters.

Assign a VFX data asset to <code>AC\_WeaponView\.BaseMuzzleFlash</code>. Keep the <code>MuzzleFlash</code> Niagara component on <code>BP\_Shooter\_Weapon</code>; let the view fire path trigger it.

For casings, configure <code>BP\_CasingParticleSettings</code>, then place <code>BP\_AnimNotify\_SpawnCasing</code> at the ejection frame. Avoid spawning the same effect from both the notify and the weapon Event Graph.

## Shared Niagara families

| Family         | Assets                                                                                                                                                                                                                                                        |
| -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Muzzle flashes | `NS_MuzzleFlash_Pistol`, `NS_MuzzleFlash_Pistol_Silenced`, `NS_MuzzleFlash_Rifle_01`, `NS_MuzzleFlash_Rifle_Silenced`, `NS_MuzzleFlash_Shotgun_01`, `NS_MuzzleFlash_Shotgun_Silenced_01`, `NS_MuzzleFlash_SniperRifle`, `NS_MuzzleFlash_SniperRifle_Silenced` |
| Casings        | `NS_Casing`, `NS_Casing_Pistol`, `NS_Casing_Rifle`, `NS_Casing_Shotgun`, `NS_Casing_SniperRifle`                                                                                                                                                              |
| Rendering      | `M_VFX_SubUV_Lit`, `M_VFX_SubUV_Unlit`, supplied `MI_VFX_*` instances, and muzzle-flash textures                                                                                                                                                              |

The product adds weapon-specific systems under `/Game/KINEMATION/Sci-fi_FPS_Pack/VFX`.

## Add a muzzle flash

1. Create or duplicate a project-owned `BP_VFXData`.
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 project material instance or VFX data asset for one weapon's changes. Do not edit shared Niagara materials solely to customize one firearm.
