Effect Manager

Manage all the Visual Effects and Particles for the Controller when an animation plays.
This module stores a list of prefabs and gameObjects that you can instantiate, show or hide during an animation.
When you create a new Effect you will set the name and the ID parameters. Selecting an item on the list, its parameters will appear:



Enable / Disable the Effect.
Disabled Effects will be ignored when the methodPlayEffect(int ID)is called


Name of the Effect. This parameter is used to enable or disable the Effect


Identifier for the effect. Is Used for Playing and Stopping an effect using PlayEffect and StopEffect methods


The Prefab or GameObjects which holds the Effect (Particles, transforms).


Duration of the effect . The effect will be destroyed if it was Instantiated
If Life < 0 then The effect will not be destroyed by the Effect Manager.


Time needed to elapse before starting playing the Effect.


Uses the Root transform as a reference to move the Effect to the root position.

Is Child

Sets the Effect as a child of the Root transform.

Use Root Rotation

Orient the effect using the root rotation.


Add additional offset to the effect position, rotation and scale.

Effect Modifier

Scriptable object to modify the effect parameters before, during or after the effect plays. This is useful to pass parameters via script to the instantiated Effect.


On Play Event

Invoked when the effect plays.

On Stop Event

Invoked when the effect stops.

Public Methods

These are the List of Public methods you can use via Unity Events or Script to call the functions of the Effect Manager:
//Plays an Active Effect using its ID value
public void PlayEffect(int ID);
public void Effect_Play(int ID);
//Stops a Playing Effect using its ID value
public void StopEffect(int ID)
public void Effect_Stop(int ID)
//Enable an Effect using its ID
public void Effect_Enable(int ID)
//Enable an Effect using its Name
public void Effect_Enable(string name)
//Disable an Effect using its ID
public void Effect_Disable(int ID)
//Disable an Effect using its Name
public void Effect_Disable(string name)