# WrapLayer

Roblox Engine API class from Roblox Studio 0.744.0.7441077 (version-7aaa6838d36c4448).

- Inherits from, nearest first: [BaseWrap](https://rapi.sleaze.dev/classes/BaseWrap.md), [Instance](https://rapi.sleaze.dev/classes/Instance.md), [Object](https://rapi.sleaze.dev/classes/Object.md)
- Memory category: Instances
- HTML page: https://rapi.sleaze.dev/classes/WrapLayer/
- Roblox documentation: https://create.roblox.com/docs/reference/engine/classes/WrapLayer

The WrapLayer object defines a 3D accessory's inner and outer surfaces and other properties related to layering accessories. These surfaces, or the Inner Cage and Outer Cage, are similar to collision boxes, and describe the surfaces of which other 3D accessories can be placed without clipping or breaking.

## Properties

### Order

```luau
WrapLayer.Order: number = 1
```

- Tags: Read capabilities: AvatarAppearance

Controls the composition order for layered clothing.

### ReferenceMeshContent

```luau
WrapLayer.ReferenceMeshContent: Content
```

- Tags: Write: Plugin security, Read capabilities: AvatarAppearance

The reference mesh that defines the Inner Cage of the [`WrapLayer`](https://rapi.sleaze.dev/classes/WrapLayer.md), stored as a [`Content`](https://rapi.sleaze.dev/index/types/Content.md) value.

### ReferenceMeshId

```luau
WrapLayer.ReferenceMeshId: string = ""
```

- Tags: Write: Plugin security, Read capabilities: AvatarAppearance

AssetID for reference mesh used to define Inner Cage of a 3D object.

### ReferenceOrigin

```luau
WrapLayer.ReferenceOrigin: CFrame = CFrame.identity
```

- Tags: Write: Plugin security, Read capabilities: AvatarAppearance

Reference mesh offset relative to parent MeshPart (in the parent MeshPart space) Note: this property is set up automatically by the FBX importer.

### RotateScaleDeformationMap

```luau
WrapLayer.RotateScaleDeformationMap: Content
```

- Tags: Write: Plugin security, Read capabilities: AvatarAppearance

### ScaleOnlyDeformationMap

```luau
WrapLayer.ScaleOnlyDeformationMap: Content
```

- Tags: Write: Plugin security, Read capabilities: AvatarAppearance

### TargetShaping

```luau
WrapLayer.TargetShaping: number = 0
```

- Tags: Write: Plugin security, Read capabilities: AvatarAppearance

### TemporaryReferenceId

```luau
WrapLayer.TemporaryReferenceId: string = ""
```

- Tags: Hidden, Not scriptable, Roblox engine security, Read capabilities: AvatarAppearance

### TemporaryReferenceMeshContent

```luau
WrapLayer.TemporaryReferenceMeshContent: Content
```

- Tags: Hidden, Not scriptable, Roblox engine security, Read capabilities: AvatarAppearance

### Puffiness

```luau
WrapLayer.Puffiness: number = 1
```

- Tags: Deprecated, Read capabilities: AvatarAppearance

**Deprecated:**

Controls how much underlying clothing items inflate the current clothing item.

### AutoSkin

```luau
WrapLayer.AutoSkin: Enum.WrapLayerAutoSkin = Enum.WrapLayerAutoSkin.Disabled
```

- Tags: Read capabilities: AvatarAppearance

Determines whether this WrapLayer automatically transfers skinning data from the underlying body mesh to the clothing mesh.

### Enabled

```luau
WrapLayer.Enabled: boolean = true
```

- Tags: Read capabilities: AvatarAppearance

Allows for disabling of the [`WrapLayer`](https://rapi.sleaze.dev/classes/WrapLayer.md) object as if it does not exist.

### MaxSize

```luau
WrapLayer.MaxSize: Vector3 = Vector3.zero
```

- Tags: Hidden, Roblox script security, Read capabilities: AvatarAppearance

### Offset

```luau
WrapLayer.Offset: Vector3 = Vector3.zero
```

- Tags: Hidden, Roblox script security, Read capabilities: AvatarAppearance

### ReferenceOriginWorld

```luau
WrapLayer.ReferenceOriginWorld: CFrame = CFrame.identity
```

- Tags: Read only, Read capabilities: AvatarAppearance

Reference mesh offset relative to parent MeshPart (in the world space) Note: this property is set up automatically by the FBX importer.

### Color

```luau
WrapLayer.Color: Color3 = Color3.new(1, 1, 1)
```

- Tags: Not replicated, Not scriptable, Read capabilities: AvatarAppearance

Sets color used for the debug rendering. See [`WrapTarget.DebugMode`](https://rapi.sleaze.dev/classes/WrapTarget.md).

### DebugMode

```luau
WrapLayer.DebugMode: Enum.WrapLayerDebugMode = Enum.WrapLayerDebugMode.None
```

- Tags: Not replicated, Not scriptable, Read capabilities: AvatarAppearance

Allows switching between different debugging visualization modes for cage meshes.

### BindOffset

```luau
WrapLayer.BindOffset: CFrame = CFrame.identity
```

- Tags: Write: Plugin security, Read capabilities: AvatarAppearance

[`CFrame`](https://rapi.sleaze.dev/index/types/CFrame.md) is used to adjust a binding point for clothing item mesh. Could be used to move and rotate clothing items. This property is intended for fine-tuning only and it is heavily optional.

### ShrinkFactor

```luau
WrapLayer.ShrinkFactor: number = 0
```

- Tags: Deprecated, Write: Plugin security, Read capabilities: AvatarAppearance

**Deprecated:**

Allows slight shrinking/expanding of the resulting render mesh, without affecting any other layers.

## Inherited members

- From [BaseWrap](https://rapi.sleaze.dev/classes/BaseWrap.md): `CageMeshContent`, `CageMeshId`, `CageOrigin`, `ImportOrigin`, `TemporaryCageMeshContent`, `TemporaryCageMeshId`, `CageOriginWorld`, `HSRAssetId`, `HSRContent`, `HSRData`, `HSRMeshIdData`, `ImportInProcess`, `ImportOriginWorld`, `GetCageOffset`, `GetFaces`, `GetUVs`, `GetVertices`, `IsHSRReady`, `ModifyVertices`, `VerticesModified`
- From [Instance](https://rapi.sleaze.dev/classes/Instance.md): `Archivable`, `archivable`, `Attributes`, `AttributesReplicate`, `AttributesSerialize`, `HistoryId`, `Name`, `Parent`, `PredictionMode`, `PropertyStatusStudio`, `RobloxLocked`, `SerializedOverrides`, `SourceAssetId`, `Tags`, `UniqueId`, `numExpectedDirectChildren`, `DataCost`, `Capabilities`, `DefinesCapabilities`, `IsInSandbox`, `Sandboxed`, `AddTag`, `ClearAllChildren`, `Clone`, `Destroy`, `FindFirstAncestor`, `FindFirstAncestorOfClass`, `FindFirstAncestorWhichIsA`, `FindFirstChild`, `FindFirstChildOfClass`, `FindFirstChildWhichIsA`, `FindFirstDescendant`, `GetActor`, `GetAttribute`, `GetAttributeChangedSignal`, `GetAttributes`, `GetChildren`, `GetDebugId`, `GetDescendants`, `GetFullName`, `GetStyled`, `GetStyledPropertyChangedSignal`, `GetTags`, `HasTag`, `IsAncestorOf`, `IsDescendantOf`, `IsPropertyModified`, `QueryDescendants`, `RemoveTag`, `ResetPropertyToDefault`, `SetAttribute`, `WaitForChild`, `Remove`, `children`, `clone`, `destroy`, `findFirstChild`, `getChildren`, `isDescendantOf`, `remove`, `AncestryChanged`, `AttributeChanged`, `ChildAdded`, `ChildRemoved`, `DescendantAdded`, `DescendantRemoving`, `Destroying`, `StyledPropertiesChanged`, `childAdded`
- From [Object](https://rapi.sleaze.dev/classes/Object.md): `ClassName`, `className`, `GetPropertyChangedSignal`, `IsA`, `isA`, `Changed`
