# alignToDirection

> Align particles based on their initial direction of travel.

## Definition

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

```csharp
public bool alignToDirection { get; set; }
```

### Remarks

The Shape Module supports setting the initial rotation of particles based on their direction of travel. This can be useful to make particles appear to have originated from the surface of a Mesh (for example, paint flaking off a surface). This works with any shape type. Unity applies any [ParticleSystem.startRotation](/engine/6000.3/script-reference/unityengine/particlesystem/startrotation.md) on top of this setting, so you can use both together.

You can use this setting in conjunction with the [ParticleSystem.MainModule.startRotation](/engine/6000.3/script-reference/unityengine/particlesystem/mainmodule/startrotation.md) setting; Unity adds the rotation given by [ParticleSystem.MainModule.startRotation](/engine/6000.3/script-reference/unityengine/particlesystem/mainmodule/startrotation.md) on top of the value that [ParticleSystem.ShapeModule.alignToDirection](/engine/6000.3/script-reference/unityengine/particlesystem/shapemodule/aligntodirection.md) calculates.

For example: add a [ParticleSystem.MainModule.startRotation](/engine/6000.3/script-reference/unityengine/particlesystem/mainmodule/startrotation.md) of 90 degrees when using [ParticleSystem.ShapeModule.alignToDirection](/engine/6000.3/script-reference/unityengine/particlesystem/shapemodule/aligntodirection.md), and all the particles become perpendicular to the surface, like little spikes sticking out of it.

### Examples

```csharp
using UnityEngine;
using System.Collections;

[RequireComponent(typeof(ParticleSystem))]
public class ExampleClass : MonoBehaviour
{
    private ParticleSystem ps;
    public bool toggle = true;

    void Start()
    {
        ps = GetComponent<ParticleSystem>();
    }

    void Update()
    {
        var shape = ps.shape;
        shape.alignToDirection = toggle;
    }

    void OnGUI()
    {
        toggle = GUI.Toggle(new Rect(25, 45, 200, 30), toggle, "Align To Direction");
    }
}
```
