Select your preferred scripting language. All code snippets will be displayed in this language.
class in UnityEngine
/
Inherits from:Component
/
Implemented in:UnityEngine.ParticleSystemModule
Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.
CloseFor some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.
CloseScript interface for particle systems (Shuriken).
Shuriken is a powerful and versatile particle system component.
General parameters
The Particle System's general parameters are kept inside a special Main module. These parameters are visible in the Inspector above all the other modules:
In script, these parameters are accessible through ParticleSystem.main.
Module effect multipliers
Every module has special multiplier properties that allow you to change the overall effect of a curve without having to edit the curve itself. These multiplier properties are all named after the curve they affect - for instance ParticleSystem.emission.rateMultiplier controls the overall effect of ParticleSystem.emission.rate in a given system.
Constant value shorthand
Parameters support a shorthand notation for simple constant values. To set a constant value for a parameter, all you need to do is assign a number to it. It is not necessary to create a MinMaxCurve or MinMaxGradient object in the ParticleSystemCurveMode.Constant mode.
For example, instead of:
ParticleSystem.emission.rate = new ParticleSystem.MinMaxCurve(5.0f);
write:
ParticleSystem.emission.rate = 5.0f;
Performance note: When setting properties on particle modules, the settings are passed immediately into native code. This gives the best performance. This means that setting properties on a module struct doesn't set something in script that requires setting back to the particle system; it all happens automatically.
See Also: Particle.
automaticCullingEnabled | Does this system support Automatic Culling? |
collision | Access the particle system collision module. |
colorBySpeed | Access the particle system color by lifetime module. |
colorOverLifetime | Access the particle system color over lifetime module. |
customData | Access the particle system Custom Data module. |
emission | Access the particle system emission module. |
externalForces | Access the particle system external forces module. |
forceOverLifetime | Access the particle system force over lifetime module. |
inheritVelocity | Access the particle system velocity inheritance module. |
isEmitting | Is the Particle System currently emitting particles? A Particle System may stop emitting when its emission module has finished, it has been paused or if the system has been stopped using Stop with the StopEmitting flag. Resume emitting by calling Play. |
isPaused | Is the Particle System paused right now? |
isPlaying | Is the Particle System playing right now? |
isStopped | Is the Particle System stopped right now? |
lights | Access the particle system lights module. |
limitVelocityOverLifetime | Access the particle system limit velocity over lifetime module. |
main | Access the main particle system settings. |
noise | Access the particle system noise module. |
particleCount | The current number of particles (Read Only). |
randomSeed | Override the random seed used for the particle system emission. |
rotationBySpeed | Access the particle system rotation by speed module. |
rotationOverLifetime | Access the particle system rotation over lifetime module. |
shape | Access the particle system shape module. |
sizeBySpeed | Access the particle system size by speed module. |
sizeOverLifetime | Access the particle system size over lifetime module. |
subEmitters | Access the particle system sub emitters module. |
textureSheetAnimation | Access the particle system texture sheet animation module. |
time | Playback position in seconds. |
trails | Access the particle system trails module. |
trigger | Access the particle system trigger module. |
useAutoRandomSeed | Controls whether the Particle System uses an automatically-generated random number to seed the random number generator. |
velocityOverLifetime | Access the particle system velocity over lifetime module. |
Clear | Remove all particles in the particle system. |
Emit | Emit count particles immediately. |
GetCustomParticleData | Get a stream of custom per-particle data. |
GetParticles | Gets the particles of this particle system. |
IsAlive | Does the system contain any live particles? (or will produce more). |
Pause | Pauses the system so no new particles are emitted and the existing particles are not updated. |
Play | Starts the particle system. |
SetCustomParticleData | Set a stream of custom per-particle data. |
SetParticles | Sets the particles of this particle system. |
Simulate | Fastforwards the particle system by simulating particles over given period of time, then pauses it. |
Stop | Stops playing the particle system using the supplied stop behaviour. |
TriggerSubEmitter | Triggers the specified sub emitter on all particles of the Particle System. |
gameObject | The game object this component is attached to. A component is always attached to a game object. |
tag | The tag of this game object. |
transform | The Transform attached to this GameObject. |
hideFlags | Should the object be hidden, saved with the scene or modifiable by the user? |
name | The name of the object. |
BroadcastMessage | Calls the method named methodName on every MonoBehaviour in this game object or any of its children. |
CompareTag | Is this game object tagged with tag ? |
GetComponent | Returns the component of Type type if the game object has one attached, null if it doesn't. |
GetComponentInChildren | Returns the component of Type type in the GameObject or any of its children using depth first search. |
GetComponentInParent | Returns the component of Type type in the GameObject or any of its parents. |
GetComponents | Returns all components of Type type in the GameObject. |
GetComponentsInChildren | Returns all components of Type type in the GameObject or any of its children. |
GetComponentsInParent | Returns all components of Type type in the GameObject or any of its parents. |
SendMessage | Calls the method named methodName on every MonoBehaviour in this game object. |
SendMessageUpwards | Calls the method named methodName on every MonoBehaviour in this game object and on every ancestor of the behaviour. |
GetInstanceID | Returns the instance id of the object. |
ToString | Returns the name of the GameObject. |
Destroy | Removes a gameobject, component or asset. |
DestroyImmediate | Destroys the object obj immediately. You are strongly recommended to use Destroy instead. |
DontDestroyOnLoad | Makes the object target not be destroyed automatically when loading a new scene. |
FindObjectOfType | Returns the first active loaded object of Type type. |
FindObjectsOfType | Returns a list of all active loaded objects of Type type. |
Instantiate | Clones the object original and returns the clone. |
bool | Does the object exist? |
operator != | Compares if two objects refer to a different object. |
operator == | Compares two object references to see if they refer to the same object. |
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thanks for helping to make the Unity documentation better!