<!--
{
  "availability" : [
    "iOS: 27.0.0 -",
    "iPadOS: 27.0.0 -",
    "macCatalyst: 27.0.0 -",
    "macOS: 27.0.0 -",
    "tvOS: 27.0.0 -",
    "visionOS: 27.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "RealityKit",
  "identifier" : "/documentation/RealityKit/SkeletonResource/BlendMask",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "RealityKit"
    ],
    "preciseIdentifier" : "s:17RealityFoundation16SkeletonResourceC9BlendMaskV"
  },
  "title" : "SkeletonResource.BlendMask"
}
-->

# SkeletonResource.BlendMask

Describes a single blend mask for selective animation control.

```
struct BlendMask
```

## Overview

Blend masks enable selective application of animations by defining per-joint weights.
They allow fine-grained control over which parts of a skeleton are affected by specific
animations, enabling layered animation systems and partial poses.

```swift
typealias BlendMask = SkeletonResource.BlendMask
// Create blend masks for different body regions
// Joints not listed default to weight 1.0 (full animation effect)
let armOnlyMask = BlendMask(
    name: "armOnly",
    jointWeights: ["shoulder": 0.0] // Only affect upperArm, forearm, hand
)

let handOnlyMask = BlendMask(
    name: "handOnly",
    jointWeights: ["shoulder": 0.0, "upperArm": 0.0, "forearm": 0.0] // Only affect hand
)
```

## Topics

### Creating a blend mask

[`init(name: String, jointWeights: [String : Float])`](/documentation/RealityKit/SkeletonResource/BlendMask/init(name:jointWeights:))

Creates a blend mask with the specified parameters.

### Accessing mask values

[`var jointWeights: [String : Float]`](/documentation/RealityKit/SkeletonResource/BlendMask/jointWeights)

Dictionary of joint weights keyed by joint name.
Each weight corresponds to a joint in the skeleton, controlling how much
that joint is affected by animations using this mask. Values range from 0.0 (no effect)
to 1.0 (full effect). Joints not present in the dictionary are treated as having weight 1.0 (full animation effect).

[`var id: String`](/documentation/RealityKit/SkeletonResource/BlendMask/id)

The identifier of the blend mask, derived from its name.

### Instance Properties

[`let name: String`](/documentation/RealityKit/SkeletonResource/BlendMask/name)

The name of the blend mask. Must be unique within the skeleton.
Used to identify and reference specific masks within animation systems.

## Relationships

### Conforms To

[`Identifiable`](/documentation/Swift/Identifiable)

[`Sendable`](/documentation/Swift/Sendable)

[`SendableMetatype`](/documentation/Swift/SendableMetatype)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)