# MeshPart

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

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

A form of [`BasePart`](https://rapi.sleaze.dev/classes/BasePart.md) that includes a physically simulated custom mesh.

## Properties

### DoubleSided

```luau
MeshPart.DoubleSided: boolean = false
```

- Tags: Read capabilities: Basic

Determines whether to render both faces of polygons in the mesh.

### HasSkinnedMesh

```luau
MeshPart.HasSkinnedMesh: boolean = false
```

- Tags: Hidden, Write: Not accessible, Read capabilities: Basic

Indicates whether the mesh currently applied to the [`MeshPart`](https://rapi.sleaze.dev/classes/MeshPart.md) contains skinning (bone and joint) data.

### MeshContent

```luau
MeshPart.MeshContent: Content
```

- Tags: Write: Not accessible, Read capabilities: Basic

The mesh that is displayed on the [`MeshPart`](https://rapi.sleaze.dev/classes/MeshPart.md). Supports [asset URIs](https://create.roblox.com/docs/projects/assets#asset-uris) and [`EditableMesh`](https://rapi.sleaze.dev/classes/EditableMesh.md) objects.

### MeshId

```luau
MeshPart.MeshId: string = ""
```

- Tags: Write: Not accessible, Read capabilities: Basic

The [asset URIs](https://create.roblox.com/docs/projects/assets#asset-uris) of the mesh that is displayed on the [`MeshPart`](https://rapi.sleaze.dev/classes/MeshPart.md). Reads and writes to [`MeshContent`](https://rapi.sleaze.dev/classes/MeshPart.md).

### RenderFidelity

```luau
MeshPart.RenderFidelity: Enum.RenderFidelity = Enum.RenderFidelity.Automatic
```

- Tags: Not replicated, Read capabilities: Basic, Write capabilities: PluginOrOpenCloud

The level of detail used to render the [`MeshPart`](https://rapi.sleaze.dev/classes/MeshPart.md).

### RenderFidelityReplicate

```luau
MeshPart.RenderFidelityReplicate: Enum.RenderFidelity = Enum.RenderFidelity.Automatic
```

- Tags: Hidden, Not scriptable, Write: Plugin security, Read capabilities: Basic

### TextureContent

```luau
MeshPart.TextureContent: Content
```

- Tags: Read capabilities: Basic

The texture applied to the [`MeshPart`](https://rapi.sleaze.dev/classes/MeshPart.md). Supports [asset URIs](https://create.roblox.com/docs/projects/assets#asset-uris) and [`EditableImage`](https://rapi.sleaze.dev/classes/EditableImage.md) objects.

### TextureID

```luau
MeshPart.TextureID: string = ""
```

- Tags: Read capabilities: Basic

The texture applied to the [`MeshPart`](https://rapi.sleaze.dev/classes/MeshPart.md). Reads and writes to [`TextureContent`](https://rapi.sleaze.dev/classes/MeshPart.md).

### VertexCount

```luau
MeshPart.VertexCount: number = 0
```

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

### HasJointOffset

```luau
MeshPart.HasJointOffset: boolean = false
```

- Tags: Deprecated, Hidden, Write: Not accessible, Read capabilities: Basic

**Deprecated:** This property is deprecated and should not be used in new work.

Deprecated legacy flag associated with the part's [`JointOffset`](https://rapi.sleaze.dev/classes/MeshPart.md).

### MeshID

```luau
MeshPart.MeshID: string = ""
```

- Tags: Deprecated, Hidden, Not replicated, Not scriptable, Read capabilities: Basic, Load only
- Use instead: [`MeshPart.MeshId`](https://rapi.sleaze.dev/classes/MeshPart.md)

### InitialSize

```luau
MeshPart.InitialSize: Vector3 = Vector3.zero
```

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

### PhysicsData

```luau
MeshPart.PhysicsData: string = ""
```

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

### SolidMeshHolder

```luau
MeshPart.SolidMeshHolder: NetAssetRef
```

- Tags: Hidden, Not scriptable, Read capabilities: Basic

### JointOffset

```luau
MeshPart.JointOffset: Vector3 = Vector3.zero
```

- Tags: Deprecated, Hidden, Write: Not accessible, Read capabilities: Basic

**Deprecated:** This property is deprecated and should not be used in new work.

Deprecated. An offset once used to position a skinned mesh's joints.

### AlternateMeshHash

```luau
MeshPart.AlternateMeshHash: number = 0
```

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

## Methods

### ApplyMesh

```luau
MeshPart:ApplyMesh(meshPart: Instance)
```

- Tags: Capabilities: Basic

Overwrites the [`MeshContent`](https://rapi.sleaze.dev/classes/MeshPart.md), [`TextureContent`](https://rapi.sleaze.dev/classes/MeshPart.md), and collision geometry properties of this [`MeshPart`](https://rapi.sleaze.dev/classes/MeshPart.md) from the given source `meshPart`.

Parameters:

- `meshPart`: The source [`MeshPart`](https://rapi.sleaze.dev/classes/MeshPart.md) whose [`MeshContent`](https://rapi.sleaze.dev/classes/MeshPart.md), [`TextureContent`](https://rapi.sleaze.dev/classes/MeshPart.md), and collision geometry (along with [`RenderFidelity`](https://rapi.sleaze.dev/classes/MeshPart.md), [`CollisionFidelity`](https://rapi.sleaze.dev/classes/TriangleMeshPart.md), [`FluidFidelity`](https://rapi.sleaze.dev/classes/TriangleMeshPart.md), and [`MeshSize`](https://rapi.sleaze.dev/classes/TriangleMeshPart.md)) are copied onto this part. The object must be a [`MeshPart`](https://rapi.sleaze.dev/classes/MeshPart.md), otherwise the call throws an error.

### GetSurfaceSlotsAsync

```luau
MeshPart:GetSurfaceSlotsAsync(): { any }
```

- Tags: Yields, Capabilities: Basic

## Inherited members

- From [TriangleMeshPart](https://rapi.sleaze.dev/classes/TriangleMeshPart.md): `FluidFidelity`, `FluidFidelityInternal`, `InertiaMigrated`, `UnscaledCofm`, `UnscaledVolInertiaDiags`, `UnscaledVolInertiaOffDiags`, `UnscaledVolume`, `CollisionFidelity`, `CollisionPrecision`, `PCDRequestId`, `AeroMeshData`, `ConvexDecompHolder`, `MeshSize`, `PhysicalConfigData`
- From [BasePart](https://rapi.sleaze.dev/classes/BasePart.md): `BrickColor`, `CastShadow`, `Color`, `Color3uint8`, `Material`, `MaterialVariant`, `MaterialVariantSerialized`, `Reflectance`, `Transparency`, `brickColor`, `AssemblyAngularVelocity`, `AssemblyCenterOfMass`, `AssemblyLinearVelocity`, `AssemblyMass`, `AssemblyRootPart`, `DraggingV1`, `EnableFluidForces`, `NetworkOwnershipRule`, `AudioCanCollide`, `CanCollide`, `CanQuery`, `CanTouch`, `CollisionGroup`, `CollisionGroupReplicate`, `CollisionGroupId`, `LocalTransparencyModifier`, `Locked`, `NetworkIsSleeping`, `NetworkOwnerV3`, `ResizeableFaces`, `ResizeIncrement`, `Rotation`, `RotVelocity`, `SpecificGravity`, `Velocity`, `Anchored`, `CenterOfMass`, `CurrentPhysicalProperties`, `CustomPhysicalProperties`, `Mass`, `Massless`, `ReceiveAge`, `RootPriority`, `siz`, `size`, `Elasticity`, `Friction`, `PivotOffset`, `BackSurface`, `BottomSurface`, `FrontSurface`, `LeftSurface`, `RightSurface`, `TopSurface`, `BackParamA`, `BackParamB`, `BackSurfaceInput`, `BottomParamA`, `BottomParamB`, `BottomSurfaceInput`, `FrontParamA`, `FrontParamB`, `FrontSurfaceInput`, `LeftParamA`, `LeftParamB`, `LeftSurfaceInput`, `RightParamA`, `RightParamB`, `RightSurfaceInput`, `TopParamA`, `TopParamB`, `TopSurfaceInput`, `CFrame`, `ExtentsCFrame`, `ExtentsSize`, `Orientation`, `PhysicsRepRootPart`, `PhysicsRepRootRef`, `Position`, `ReplicationPV`, `Size`, `AngularAccelerationToTorque`, `ApplyAngularImpulse`, `ApplyImpulse`, `ApplyImpulseAtPosition`, `BindToCollisionSummaries`, `CanCollideWith`, `CanSetNetworkOwnership`, `GetClosestPointOnSurface`, `GetConnectedParts`, `GetJoints`, `GetMass`, `GetNetworkOwner`, `GetNetworkOwnershipAuto`, `GetNoCollisionConstraints`, `GetPhysicsCost`, `GetTouchingParts`, `GetVelocityAtPosition`, `IntersectAsync`, `IsGrounded`, `Resize`, `SetNetworkOwner`, `SetNetworkOwnershipAuto`, `SubtractAsync`, `TorqueToAngularAcceleration`, `UnionAsync`, `BreakJoints`, `GetRenderCFrame`, `GetRootPart`, `MakeJoints`, `breakJoints`, `getMass`, `makeJoints`, `resize`, `NetworkOwnerChanged`, `Touched`, `TouchEnded`, `LocalSimulationTouched`, `OutfitChanged`, `StoppedTouching`
- From [PVInstance](https://rapi.sleaze.dev/classes/PVInstance.md): `Pivot Offset`, `Origin`, `GetPivot`, `PivotTo`
- 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`
