Shuriken Property Names
Anything marked Generic type can have these params
Generic:
scalar : Float
maxCurve : AnimationCurve
minCurve : AnimationCurve
minMaxState : Integer
Base properties (no prefix, "m_LocalRotation")
m_LocalRotation : Quaternion
m_LocalPosition : Vector3
m_LocalScale : Vector3
lengthInSec : Float
startDelay : Float
speed : Float
randomSeed : Integer
looping : Boolean
prewarm : Boolean
playOnAwake : Boolean
moveWithTransform : Boolean
Submodules accessed via SubmoduleName.propertyName (ie InitialModule.startLifetime)
InitialModule
enabled : Boolean
startLifetime : Generic
startSpeed : Generic
startColor : Generic
minMaxState : Integer
startSize : Generic
startRotation : Generic
gravityModifier : Float
inheritVelocity : Float
maxNumParticles : Integer
ShapeModule
enabled : Boolean
type : Integer
radius : Float
angle : Float
length : Float
boxX : Float
boxY : Float
boxZ : Float
placementMode : Integer
m_Mesh : ObjectReference
randomDirection : Boolean
EmissionModule
enabled : Boolean
m_Type : Integer
rate : Generic
cnt0 : Integer
cnt1 : Integer
cnt2 : Integer
cnt3 : Integer
time0 : Float
time1 : Float
time2 : Float
time3 : Float
m_BurstCount : Integer
SizeModule
enabled : Boolean
curve : Generic
RotationModule
enabled : Boolean
curve : Generic
ColorModule
enabled : Boolean
gradient : Generic
maxGradient : Gradient
minGradient : Gradient
minColor : Color
maxColor : Color
minMaxState : Integer
UVModule
enabled : Boolean
frameOverTime : Generic
tilesX : Integer
tilesY : Integer
animationType : Integer
rowIndex : Integer
cycles : Float
randomRow : Boolean
VelocityModule
enabled : Boolean
x : Generic
y : Generic
z : Generic
inWorldSpace : Boolean
ForceModule
enabled : Boolean
x : Generic
y : Generic
z : Generic
inWorldSpace : Boolean
randomizePerFrame : Boolean
ExternalForcesModule
enabled : Boolean
multiplier : Float
ClampVelocityModule : Generic
enabled : Boolean
x : Generic
y : Generic
z : Generic
magnitude : Generic
separateAxis : Boolean
inWorldSpace : Boolean
dampen : Float
SizeBySpeedModule
enabled : Boolean
curve : Generic
range : Vector2
RotationBySpeedModule
enabled : Boolean
curve : Generic
range : Vector2
ColorBySpeedModule
enabled : Boolean
gradient : Generic
maxGradient : Gradient
minGradient : Gradient
minColor : Color
maxColor : Color
minMaxState : Integer
range : Vector2
CollisionModule
enabled : Boolean
type : Integer
plane0 : ObjectReference
plane1 : ObjectReference
plane2 : ObjectReference
plane3 : ObjectReference
plane4 : ObjectReference
plane5 : ObjectReference
dampen : Float
bounce : Float
energyLossOnCollision : Float
minKillSpeed : Float
particleRadius : Float
collidesWith : LayerMask
quality : Integer
voxelSize : Float
collisionMessages : Boolean
SubModule
enabled : Boolean
subEmitterBirth : ObjectReference
subEmitterBirth1 : ObjectReference
subEmitterCollision : ObjectReference
subEmitterCollision1 : ObjectReference
subEmitterDeath : ObjectReference
subEmitterDeath1 : ObjectReference
m_CastShadows : Boolean
m_ReceiveShadows : Boolean
m_Materials : Generic
size : ArraySize
data : ObjectReference
m_UseLightProbes : Boolean
m_LightProbeAnchor : ObjectReference
m_RenderMode : Integer
m_MaxParticleSize : Float
m_CameraVelocityScale : Float
m_VelocityScale : Float
m_LengthScale : Float
m_SortingFudge : Float
m_NormalDirection : Float
m_SortMode : Integer
m_Mesh : ObjectReference
m_Mesh1 : ObjectReference
m_Mesh2 : ObjectReference
m_Mesh3 : ObjectReference
m_Avatar : ObjectReference
m_Controller : ObjectReference
m_CullingMode : Enum
m_UpdateMode : Enum
m_ApplyRootMotion : Boolean
m_HasTransformHierarchy : Boolean
m_AllowConstantClipSamplingOptimization : Boolean
------------------------------------------------------------------------------------------
After that you will notice that ParticleSystem has a bunch of properties like InitialModule, SizeModule, etc. Each sub-property like InitialModule.startLifetime has a property minMaxState (int value from 0 to 3) representing 4 states:
Constant
Curve
Random between two constants
Random between two curves
There are three properties to store these values: scalar, minCurve, maxCurve. Note that minCurve/maxCurve.keys[0].value is used for storing extra data for "Random between two constants".
-------------------------------------------------------------------------------------------------
You can access the mesh component of the Shuriken Renderer section by accessing the ParticleSystemRenderer component like this (c#)
gameObject.GetComponent().mesh
Anything marked Generic type can have these params
Generic:
scalar : Float
maxCurve : AnimationCurve
minCurve : AnimationCurve
minMaxState : Integer
Base properties (no prefix, "m_LocalRotation")
m_LocalRotation : Quaternion
m_LocalPosition : Vector3
m_LocalScale : Vector3
lengthInSec : Float
startDelay : Float
speed : Float
randomSeed : Integer
looping : Boolean
prewarm : Boolean
playOnAwake : Boolean
moveWithTransform : Boolean
Submodules accessed via SubmoduleName.propertyName (ie InitialModule.startLifetime)
InitialModule
enabled : Boolean
startLifetime : Generic
startSpeed : Generic
startColor : Generic
minMaxState : Integer
startSize : Generic
startRotation : Generic
gravityModifier : Float
inheritVelocity : Float
maxNumParticles : Integer
ShapeModule
enabled : Boolean
type : Integer
radius : Float
angle : Float
length : Float
boxX : Float
boxY : Float
boxZ : Float
placementMode : Integer
m_Mesh : ObjectReference
randomDirection : Boolean
EmissionModule
enabled : Boolean
m_Type : Integer
rate : Generic
cnt0 : Integer
cnt1 : Integer
cnt2 : Integer
cnt3 : Integer
time0 : Float
time1 : Float
time2 : Float
time3 : Float
m_BurstCount : Integer
SizeModule
enabled : Boolean
curve : Generic
RotationModule
enabled : Boolean
curve : Generic
ColorModule
enabled : Boolean
gradient : Generic
maxGradient : Gradient
minGradient : Gradient
minColor : Color
maxColor : Color
minMaxState : Integer
UVModule
enabled : Boolean
frameOverTime : Generic
tilesX : Integer
tilesY : Integer
animationType : Integer
rowIndex : Integer
cycles : Float
randomRow : Boolean
VelocityModule
enabled : Boolean
x : Generic
y : Generic
z : Generic
inWorldSpace : Boolean
ForceModule
enabled : Boolean
x : Generic
y : Generic
z : Generic
inWorldSpace : Boolean
randomizePerFrame : Boolean
ExternalForcesModule
enabled : Boolean
multiplier : Float
ClampVelocityModule : Generic
enabled : Boolean
x : Generic
y : Generic
z : Generic
magnitude : Generic
separateAxis : Boolean
inWorldSpace : Boolean
dampen : Float
SizeBySpeedModule
enabled : Boolean
curve : Generic
range : Vector2
RotationBySpeedModule
enabled : Boolean
curve : Generic
range : Vector2
ColorBySpeedModule
enabled : Boolean
gradient : Generic
maxGradient : Gradient
minGradient : Gradient
minColor : Color
maxColor : Color
minMaxState : Integer
range : Vector2
CollisionModule
enabled : Boolean
type : Integer
plane0 : ObjectReference
plane1 : ObjectReference
plane2 : ObjectReference
plane3 : ObjectReference
plane4 : ObjectReference
plane5 : ObjectReference
dampen : Float
bounce : Float
energyLossOnCollision : Float
minKillSpeed : Float
particleRadius : Float
collidesWith : LayerMask
quality : Integer
voxelSize : Float
collisionMessages : Boolean
SubModule
enabled : Boolean
subEmitterBirth : ObjectReference
subEmitterBirth1 : ObjectReference
subEmitterCollision : ObjectReference
subEmitterCollision1 : ObjectReference
subEmitterDeath : ObjectReference
subEmitterDeath1 : ObjectReference
m_CastShadows : Boolean
m_ReceiveShadows : Boolean
m_Materials : Generic
size : ArraySize
data : ObjectReference
m_UseLightProbes : Boolean
m_LightProbeAnchor : ObjectReference
m_RenderMode : Integer
m_MaxParticleSize : Float
m_CameraVelocityScale : Float
m_VelocityScale : Float
m_LengthScale : Float
m_SortingFudge : Float
m_NormalDirection : Float
m_SortMode : Integer
m_Mesh : ObjectReference
m_Mesh1 : ObjectReference
m_Mesh2 : ObjectReference
m_Mesh3 : ObjectReference
m_Avatar : ObjectReference
m_Controller : ObjectReference
m_CullingMode : Enum
m_UpdateMode : Enum
m_ApplyRootMotion : Boolean
m_HasTransformHierarchy : Boolean
m_AllowConstantClipSamplingOptimization : Boolean
------------------------------------------------------------------------------------------
After that you will notice that ParticleSystem has a bunch of properties like InitialModule, SizeModule, etc. Each sub-property like InitialModule.startLifetime has a property minMaxState (int value from 0 to 3) representing 4 states:
Constant
Curve
Random between two constants
Random between two curves
There are three properties to store these values: scalar, minCurve, maxCurve. Note that minCurve/maxCurve.keys[0].value is used for storing extra data for "Random between two constants".
-------------------------------------------------------------------------------------------------
You can access the mesh component of the Shuriken Renderer section by accessing the ParticleSystemRenderer component like this (c#)
gameObject.GetComponent().mesh