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

# 🔥VFX

> This page explains how to use visual effects from the pack.

## Overview

The **Tactical Shooter Pack** comes with muzzle flash and empty casing effects. All VFX were built with Particle System, and they are compatible with all render pipelines: Built-In, URP, and HDRP.

All effects can be found in "**KINEMATION/TacticalShooterPack/VFX**".

<img src="https://mintcdn.com/kinemation/-AzWoLR_QWINVM-e/images/tactical-shooter-pack/unity/4301993c3901e17f9033.png?fit=max&auto=format&n=-AzWoLR_QWINVM-e&q=85&s=927f0205ef36ef68996d2eae8cd87287" alt="" width={299} data-path="images/tactical-shooter-pack/unity/4301993c3901e17f9033.png" />

<Info>
  **Note**: All effects were made with Particle System and Shader Graph.
</Info>

## Muzzle Flashes

These effects come as game-ready prefabs, which you can add to your weapons and play right from code.

<Frame caption={"Pistol unsuppressed muzzle flash."}>
  <img src="https://mintcdn.com/kinemation/-AzWoLR_QWINVM-e/images/tactical-shooter-pack/unity/b4ccfbc5b42b6b931baf.png?fit=max&auto=format&n=-AzWoLR_QWINVM-e&q=85&s=5f4937d363e7a13c169d5362260bdf48" alt="" width={305} data-path="images/tactical-shooter-pack/unity/b4ccfbc5b42b6b931baf.png" />
</Frame>

Muzzle flashes consist of the flash itself and child components — smoke, sparks, vertical and horizontal bursts (e.g., Pistol, Assault and Sniper Rifles). They are added directly to weapon prefabs in the pack:

<img src="https://mintcdn.com/kinemation/IMbHDDWE_rjJU7jO/images/tactical-shooter-pack/unity/13573c1e4a9022a46596.png?fit=max&auto=format&n=IMbHDDWE_rjJU7jO&q=85&s=960cc77495489b9a9c106f5faa299630" alt="" width={563} data-path="images/tactical-shooter-pack/unity/13573c1e4a9022a46596.png" />

<Info>
  **Tip**: Smoke is the only part that's played in **World** space.
</Info>

To play a muzzle flash, define a reference to a Particle System and call this function when firing:

## Empty Casings

These are simple effects that only include the casing and some smoke:

<img src="https://mintcdn.com/kinemation/-AzWoLR_QWINVM-e/images/tactical-shooter-pack/unity/4478772363e4fb6df4e7.png?fit=max&auto=format&n=-AzWoLR_QWINVM-e&q=85&s=ea26a0803cce5c7b85c864e28765fa11" alt="" width={305} data-path="images/tactical-shooter-pack/unity/4478772363e4fb6df4e7.png" />

Mesh and material settings can be adjusted in the "Renderer" tab:

<Frame caption={"Empty casing mesh and material."}>
  <img src="https://mintcdn.com/kinemation/-AzWoLR_QWINVM-e/images/tactical-shooter-pack/unity/d5f0e690d4a884d1933b.png?fit=max&auto=format&n=-AzWoLR_QWINVM-e&q=85&s=1782f793eca2f742ecf6b53573af29c5" alt="" width={413} data-path="images/tactical-shooter-pack/unity/d5f0e690d4a884d1933b.png" />
</Frame>

Casings particles reside in weapon prefabs, just like muzzle flashes:

<img src="https://mintcdn.com/kinemation/-AzWoLR_QWINVM-e/images/tactical-shooter-pack/unity/83151e7f41c30db71b7c.png?fit=max&auto=format&n=-AzWoLR_QWINVM-e&q=85&s=ed16ed02058c28f5511096fb0f12a4b2" alt="" width={563} data-path="images/tactical-shooter-pack/unity/83151e7f41c30db71b7c.png" />

The Tactical Shooter Pack relies on events to play empty casings at a specific moment in the animation:

<Frame caption={"AR emtpy casing event example."}>
  <img src="https://mintcdn.com/kinemation/-AzWoLR_QWINVM-e/images/tactical-shooter-pack/unity/aa5308c6d12426b685d2.png?fit=max&auto=format&n=-AzWoLR_QWINVM-e&q=85&s=cc8a885e75a34807d03f91b0da0af028" alt="" width={418} data-path="images/tactical-shooter-pack/unity/aa5308c6d12426b685d2.png" />
</Frame>

The even is implemented in the weapon script:

<Info>
  **Tip**: Similar to muzzle flashes, declare a reference to an empty casing Particle System and use the `Play` method to activate it.
</Info>
