# sm.construction.validateLocalPosition

Validates if a shape can be built on another shape.

**Kind:** Function

**Environments:** Game

## Game

### Overload 1

``` { .lua .api-signature }
sm.construction.validateLocalPosition( uuid, localPosition, localNormal, shape )
```

[Open the full Game reference](../Game-Script-Environment/Static-Functions/sm.construction.md#validatelocalposition-uuid-vec3-vec3-shape)

**Parameters:**

| Name | Type | Description |
| --- | --- | --- |
| `uuid` | [Uuid](../Game-Script-Environment/Userdata/Uuid.md) | The uuid of the shape to validate. |
| `localPosition` | [Vec3](../Game-Script-Environment/Userdata/Vec3.md) | The position local to the body. |
| `localNormal` | [Vec3](../Game-Script-Environment/Userdata/Vec3.md) | The normal of the surface to validate placement. |
| `shape` | [Shape](../Game-Script-Environment/Userdata/Shape.md) | The shape to build on. |

**Returns:**

| Type | Description |
| --- | --- |
| boolean | True if position is valid. |

### Overload 2

``` { .lua .api-signature }
sm.construction.validateLocalPosition( uuid, localPosition, localNormal, joint )
```

[Open the full Game reference](../Game-Script-Environment/Static-Functions/sm.construction.md#validatelocalposition-uuid-vec3-vec3-joint)

Validates if a shape can be built on another joint.

**Parameters:**

| Name | Type | Description |
| --- | --- | --- |
| `uuid` | [Uuid](../Game-Script-Environment/Userdata/Uuid.md) | The uuid of the shape to validate. |
| `localPosition` | [Vec3](../Game-Script-Environment/Userdata/Vec3.md) | The position local to the body. |
| `localNormal` | [Vec3](../Game-Script-Environment/Userdata/Vec3.md) | The normal of the surface to validate placement. |
| `joint` | [Joint](../Game-Script-Environment/Userdata/Joint.md) | The joint to build on. |

**Returns:**

| Type | Description |
| --- | --- |
| boolean | True if position is valid. |

### Overload 3

``` { .lua .api-signature }
sm.construction.validateLocalPosition( uuid, localPosition, localNormal )
```

[Open the full Game reference](../Game-Script-Environment/Static-Functions/sm.construction.md#validatelocalposition-uuid-vec3-vec3)

Validates if a shape can be built on terrain.

**Parameters:**

| Name | Type | Description |
| --- | --- | --- |
| `uuid` | [Uuid](../Game-Script-Environment/Userdata/Uuid.md) | The uuid of the shape to validate. |
| `localPosition` | [Vec3](../Game-Script-Environment/Userdata/Vec3.md) | The position local to the body. |
| `localNormal` | [Vec3](../Game-Script-Environment/Userdata/Vec3.md) | The normal of the surface to validate placement. |

**Returns:**

| Type | Description |
| --- | --- |
| boolean | True if position is valid. |
