# customShapeCount

> The total number of custom PhysicsShape2D assigned to the Collider. (Read Only)

## Definition

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

```csharp
public int customShapeCount { get; }
```

### Remarks

All the shapes represented here contain a total vertex count of [customVertexCount](/engine/6000.7/script-reference/unityengine/customcollider2d/customvertexcount.md).

**NOTE**: This property should not be confused with [\_shapeCount](/engine/6000.7/script-reference/unityengine/collider2d/shapecount.md) which is a count of active shapes on the [Collider2D](/engine/6000.7/script-reference/unityengine/collider2d.md). The [CustomCollider2D](/engine/6000.7/script-reference/unityengine/customcollider2d.md) has this property too.  If a [Collider2D](/engine/6000.7/script-reference/unityengine/collider2d.md) is disabled, inactive or in [error](/engine/6000.7/script-reference/unityengine/collider2d/errorstate.md) then the [\_shapeCount](/engine/6000.7/script-reference/unityengine/collider2d/shapecount.md) will be zero whereas the [customShapeCount](/engine/6000.7/script-reference/unityengine/customcollider2d/customshapecount.md) will always be a count of assigned custom [PhysicsShape2D](/engine/6000.7/script-reference/unityengine/physicsshape2d.md).

### Examples

```csharp
using UnityEngine;
using UnityEngine.Assertions;

public class Example : MonoBehaviour
{
    void Start()
    {
        // Fetch the custom collider.
        var customCollider = GetComponent<CustomCollider2D>();

        // Create a shape group.
        var shapeGroup = new PhysicsShapeGroup2D();

        // Add a Circle to the shape group.
        shapeGroup.AddCircle
            (
                center: new Vector2(-1f, 0f),
                radius: 0.5f
            );

        // Add a box to the shape group.
        shapeGroup.AddBox
            (
                center: new Vector2(1f, 0f),
                size: new Vector2(1f, 1f)
            );

        // Assign our shapes.
        customCollider.SetCustomShapes(shapeGroup);

        // Validate the custom shape count.
        Assert.AreApproximatelyEqual(shapeGroup.shapeCount, customCollider.customShapeCount);
    }
}
```
