# startSize3D

> Override the initial 3D size of particles this system emits.

## Definition

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

```csharp
public Vector3 startSize3D { get; set; }
```

### Remarks

Additional Resources: [ParticleSystem.Particle.startSize3D](/engine/6000.3/script-reference/unityengine/particlesystem/particle/startsize3d.md).

### Examples

```csharp
using UnityEngine;

// In this example we have a Particle System emitting small particles; we then emit and override the size every 2 seconds.
public class ExampleClass : MonoBehaviour
{
    private ParticleSystem system;

    void Start()
    {
        // A simple particle material with no texture.
        Material particleMaterial = new Material(Shader.Find("Particles/Standard Unlit"));

        // Create a Particle System.
        var go = new GameObject("Particle System");
        go.transform.Rotate(-90, 0, 0); // Rotate so the system emits upwards.
        system = go.AddComponent<ParticleSystem>();
        go.GetComponent<ParticleSystemRenderer>().material = particleMaterial;
        var mainModule = system.main;
        mainModule.startSizeXMultiplier = 0.2f;
        mainModule.startSizeYMultiplier = 0.2f;
        mainModule.startSizeZMultiplier = 0.2f;
        mainModule.startSize3D = true;

        // Every 2 seconds we will emit.
        InvokeRepeating("DoEmit", 2.0f, 2.0f);
    }

    void DoEmit()
    {
        // Any parameters we assign in emitParams will override the current system's when we call Emit.
        // Here we will override the size. All other parameters will use the behavior defined in the Inspector.
        var emitParams = new ParticleSystem.EmitParams();
        emitParams.startSize3D = new Vector3(0.5f, 0.1f, 0.0f);
        system.Emit(emitParams, 10);
    }
}
```
