# SetUserData

> Set PhysicsUserData on a batch of shapes that can be used for any purpose. The shapes and userDatas spans must be the same length; shapes[n] receives userDatas[n].

## Definition

* **Type:** Method
* **Namespace:** [Unity.U2D.Physics](/engine/6000.7/script-reference/unity/u2d/physics.md)
* **Assembly:** UnityEngine.PhysicsCore2DModule

## SetUserData(ReadOnlySpan\<PhysicsShape>, ReadOnlySpan\<PhysicsUserData>)

Set [PhysicsUserData](/engine/6000.7/script-reference/unity/u2d/physics/physicsuserdata.md) on a batch of shapes that can be used for any purpose. The shapes and userDatas spans must be the same length; shapes\[n] receives userDatas\[n].

```csharp
public static int SetUserData(ReadOnlySpan<PhysicsShape> shapes, ReadOnlySpan<PhysicsUserData> userDatas)
```

### Parameters

**** (\[ReadOnlySpan\<PhysicsShape>]\(https\://learn.microsoft.com/dotnet/api/system.readonlyspan-1)): The shapes to set the user data on.**** (\[ReadOnlySpan\<PhysicsUserData>]\(https\://learn.microsoft.com/dotnet/api/system.readonlyspan-1)): The user data to set, one entry per shape.

### Returns

| Type                                                       | Description                                                                                                                                                                                                                |
| ---------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [int](https://learn.microsoft.com/dotnet/api/system.int32) | The number of shapes that were ignored (not set because the shape was invalid). A single warning is logged when any are ignored. If the spans are different lengths, nothing is set and every shape is counted as ignored. |

## SetUserData(ReadOnlySpan\<PhysicsShape>, PhysicsUserData)

Set the same [PhysicsUserData](/engine/6000.7/script-reference/unity/u2d/physics/physicsuserdata.md) on a batch of shapes that can be used for any purpose.

```csharp
public static int SetUserData(ReadOnlySpan<PhysicsShape> shapes, PhysicsUserData physicsUserData)
```

### Parameters

**** (\[ReadOnlySpan\<PhysicsShape>]\(https\://learn.microsoft.com/dotnet/api/system.readonlyspan-1)): The shapes to set the user data on.**** (\[PhysicsUserData]\(/engine/6000.7/script-reference/unity/u2d/physics/physicsuserdata)): The user data to set on every shape.

### Returns

| Type                                                       | Description                                                                                                                      |
| ---------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- |
| [int](https://learn.microsoft.com/dotnet/api/system.int32) | The number of shapes that were ignored (not set because the shape was invalid). A single warning is logged when any are ignored. |
