# ParticleSystem.ShapeModule

> Script interface for the ShapeModule.

## Definition

* **Type:** Struct
* **Namespace:** [UnityEngine](/engine/6000.6/script-reference/unityengine.md)
* **Assembly:** UnityEngine.ParticleSystemModule

```csharp
public struct ParticleSystem.ShapeModule
```

## Remarks

Configures the initial positions and directions of particles.

Additional Resources: [ParticleSystem](/engine/6000.6/script-reference/unityengine/particlesystem.md), [ParticleSystem.shape](/engine/6000.6/script-reference/unityengine/particlesystem/shape.md).

## Properties

| Property                                                                                                                               | Description                                                                                                                        |
| -------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| [alignToDirection](/engine/6000.6/script-reference/unityengine/particlesystem/shapemodule/aligntodirection.md)                         | Align particles based on their initial direction of travel.                                                                        |
| [angle](/engine/6000.6/script-reference/unityengine/particlesystem/shapemodule/angle.md)                                               | Angle of the cone to emit particles from.                                                                                          |
| [arc](/engine/6000.6/script-reference/unityengine/particlesystem/shapemodule/arc.md)                                                   | Angle of the circle arc to emit particles from.                                                                                    |
| [arcMode](/engine/6000.6/script-reference/unityengine/particlesystem/shapemodule/arcmode.md)                                           | The mode that Unity uses to generate particles around the arc.                                                                     |
| [arcSpeed](/engine/6000.6/script-reference/unityengine/particlesystem/shapemodule/arcspeed.md)                                         | In animated modes, this determines how quickly the particle emission position moves around the arc.                                |
| [arcSpeedMultiplier](/engine/6000.6/script-reference/unityengine/particlesystem/shapemodule/arcspeedmultiplier.md)                     | A multiplier of the arc speed of the particle emission shape.                                                                      |
| [arcSpread](/engine/6000.6/script-reference/unityengine/particlesystem/shapemodule/arcspread.md)                                       | Control the gap between particle emission points around the arc.                                                                   |
| [boxThickness](/engine/6000.6/script-reference/unityengine/particlesystem/shapemodule/boxthickness.md)                                 | Thickness of the box to emit particles from.                                                                                       |
| [donutRadius](/engine/6000.6/script-reference/unityengine/particlesystem/shapemodule/donutradius.md)                                   | The thickness of the Donut shape to emit particles from.                                                                           |
| [enabled](/engine/6000.6/script-reference/unityengine/particlesystem/shapemodule/enabled.md)                                           | Specifies whether the ShapeModule is enabled or disabled.                                                                          |
| [length](/engine/6000.6/script-reference/unityengine/particlesystem/shapemodule/length.md)                                             | Length of the cone to emit particles from.                                                                                         |
| [mesh](/engine/6000.6/script-reference/unityengine/particlesystem/shapemodule/mesh.md)                                                 | Mesh to emit particles from.                                                                                                       |
| [meshMaterialIndex](/engine/6000.6/script-reference/unityengine/particlesystem/shapemodule/meshmaterialindex.md)                       | Emit particles from a single Material of a Mesh.                                                                                   |
| [meshRenderer](/engine/6000.6/script-reference/unityengine/particlesystem/shapemodule/meshrenderer.md)                                 | MeshRenderer to emit particles from.                                                                                               |
| [meshShapeType](/engine/6000.6/script-reference/unityengine/particlesystem/shapemodule/meshshapetype.md)                               | Where on the Mesh to emit particles from.                                                                                          |
| [meshSpawnMode](/engine/6000.6/script-reference/unityengine/particlesystem/shapemodule/meshspawnmode.md)                               | The mode to use to generate particles on a Mesh.                                                                                   |
| [meshSpawnSpeed](/engine/6000.6/script-reference/unityengine/particlesystem/shapemodule/meshspawnspeed.md)                             | In animated modes, this determines how quickly the particle emission position moves across the Mesh.                               |
| [meshSpawnSpeedMultiplier](/engine/6000.6/script-reference/unityengine/particlesystem/shapemodule/meshspawnspeedmultiplier.md)         | A multiplier of the Mesh spawn speed.                                                                                              |
| [meshSpawnSpread](/engine/6000.6/script-reference/unityengine/particlesystem/shapemodule/meshspawnspread.md)                           | Control the gap between particle emission points across the Mesh.                                                                  |
| [normalOffset](/engine/6000.6/script-reference/unityengine/particlesystem/shapemodule/normaloffset.md)                                 | Move particles away from the surface of the source Mesh.                                                                           |
| [position](/engine/6000.6/script-reference/unityengine/particlesystem/shapemodule/position.md)                                         | Apply an offset to the position from which the system emits particles.                                                             |
| [radius](/engine/6000.6/script-reference/unityengine/particlesystem/shapemodule/radius.md)                                             | Radius of the shape to emit particles from.                                                                                        |
| [radiusMode](/engine/6000.6/script-reference/unityengine/particlesystem/shapemodule/radiusmode.md)                                     | The mode to use to generate particles along the radius.                                                                            |
| [radiusSpeed](/engine/6000.6/script-reference/unityengine/particlesystem/shapemodule/radiusspeed.md)                                   | In animated modes, this determines how quickly the particle emission position moves along the radius.                              |
| [radiusSpeedMultiplier](/engine/6000.6/script-reference/unityengine/particlesystem/shapemodule/radiusspeedmultiplier.md)               | A multiplier of the radius speed of the particle emission shape.                                                                   |
| [radiusSpread](/engine/6000.6/script-reference/unityengine/particlesystem/shapemodule/radiusspread.md)                                 | Control the gap between particle emission points along the radius.                                                                 |
| [radiusThickness](/engine/6000.6/script-reference/unityengine/particlesystem/shapemodule/radiusthickness.md)                           | Radius thickness of the shape's edge from which to emit particles.                                                                 |
| [randomDirectionAmount](/engine/6000.6/script-reference/unityengine/particlesystem/shapemodule/randomdirectionamount.md)               | Randomizes the starting direction of particles.                                                                                    |
| [randomPositionAmount](/engine/6000.6/script-reference/unityengine/particlesystem/shapemodule/randompositionamount.md)                 | Randomizes the starting position of particles.                                                                                     |
| [rotation](/engine/6000.6/script-reference/unityengine/particlesystem/shapemodule/rotation.md)                                         | Apply a rotation to the shape from which the system emits particles.                                                               |
| [scale](/engine/6000.6/script-reference/unityengine/particlesystem/shapemodule/scale.md)                                               | Apply scale to the shape from which the system emits particles.                                                                    |
| [shapeType](/engine/6000.6/script-reference/unityengine/particlesystem/shapemodule/shapetype.md)                                       | The type of shape to emit particles from.                                                                                          |
| [skinnedMeshRenderer](/engine/6000.6/script-reference/unityengine/particlesystem/shapemodule/skinnedmeshrenderer.md)                   | SkinnedMeshRenderer to emit particles from.                                                                                        |
| [sphericalDirectionAmount](/engine/6000.6/script-reference/unityengine/particlesystem/shapemodule/sphericaldirectionamount.md)         | Makes particles move in a spherical direction from their starting point.                                                           |
| [sprite](/engine/6000.6/script-reference/unityengine/particlesystem/shapemodule/sprite.md)                                             | Sprite to emit particles from.                                                                                                     |
| [spriteRenderer](/engine/6000.6/script-reference/unityengine/particlesystem/shapemodule/spriterenderer.md)                             | SpriteRenderer to emit particles from.                                                                                             |
| [texture](/engine/6000.6/script-reference/unityengine/particlesystem/shapemodule/texture.md)                                           | Specifies a Texture to tint the particle's start colors.                                                                           |
| [textureAlphaAffectsParticles](/engine/6000.6/script-reference/unityengine/particlesystem/shapemodule/texturealphaaffectsparticles.md) | When enabled, the system applies the alpha channel of the Texture to the particle alpha when the particle spawns.                  |
| [textureBilinearFiltering](/engine/6000.6/script-reference/unityengine/particlesystem/shapemodule/texturebilinearfiltering.md)         | When enabled, the system takes four neighboring samples from the Texture then combines them to give the final particle value.      |
| [textureClipChannel](/engine/6000.6/script-reference/unityengine/particlesystem/shapemodule/textureclipchannel.md)                     | Selects which channel of the Texture to use for discarding particles.                                                              |
| [textureClipThreshold](/engine/6000.6/script-reference/unityengine/particlesystem/shapemodule/textureclipthreshold.md)                 | Discards particles when they spawn on an area of the Texture with a value lower than this threshold.                               |
| [textureColorAffectsParticles](/engine/6000.6/script-reference/unityengine/particlesystem/shapemodule/texturecoloraffectsparticles.md) | When enabled, the system applies the RGB channels of the Texture to the particle color when the particle spawns.                   |
| [textureUVChannel](/engine/6000.6/script-reference/unityengine/particlesystem/shapemodule/textureuvchannel.md)                         | When using a Mesh as a source shape type, this option controls which UV channel on the Mesh to use for reading the source Texture. |
| [useMeshColors](/engine/6000.6/script-reference/unityengine/particlesystem/shapemodule/usemeshcolors.md)                               | Modulate the particle colors with the vertex colors, or the Material color if no vertex colors exist.                              |
| [useMeshMaterialIndex](/engine/6000.6/script-reference/unityengine/particlesystem/shapemodule/usemeshmaterialindex.md)                 | Emit particles from a single Material, or the whole Mesh.                                                                          |
