<!--
{
  "availability" : [
    "iOS: 18.0.0 -",
    "iPadOS: 18.0.0 -",
    "macCatalyst: 18.0.0 -",
    "macOS: 15.0.0 -",
    "tvOS: 26.0.0 -",
    "visionOS: 2.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "RealityKit",
  "identifier" : "/documentation/RealityKit/AnimationState",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "RealityKit"
    ],
    "preciseIdentifier" : "s:17RealityFoundation14AnimationStateV"
  },
  "title" : "AnimationState"
}
-->

# AnimationState

The concretely typed animation state structure.

```
struct AnimationState<Value> where Value : AnimatableData
```

## Overview

Access the animation state structure from the event structure returned to  the action’s `.updated`
event handler. Define a valid bind target and matching animation type for the action
animation to make the state structure available and non-nil.

(See: [`AnimationStateProtocol`](/documentation/RealityKit/AnimationStateProtocol))

## Topics

### Instance Properties

[`var defaultSource: Value?`](/documentation/RealityKit/AnimationState/defaultSource-3pn6r)

See: [`defaultSource`](/documentation/RealityKit/AnimationStateProtocol/defaultSource)

[`var defaultSource: JointTransforms?`](/documentation/RealityKit/AnimationState/defaultSource-5ddek)

Returns the  joint transforms representing the default source value.

[`var defaultTarget: JointTransforms?`](/documentation/RealityKit/AnimationState/defaultTarget-9kxlt)

Returns the joint transforms representing the default target value.

[`var defaultTarget: Value?`](/documentation/RealityKit/AnimationState/defaultTarget-gdi6)

See: [`defaultTarget`](/documentation/RealityKit/AnimationStateProtocol/defaultTarget)

[`let deltaTime: TimeInterval`](/documentation/RealityKit/AnimationState/deltaTime)

See: [`deltaTime`](/documentation/RealityKit/AnimationStateProtocol/deltaTime)

[`let evaluationTime: TimeInterval`](/documentation/RealityKit/AnimationState/evaluationTime)

See [`evaluationTime`](/documentation/RealityKit/AnimationStateProtocol/evaluationTime)

[`let normalizedTime: TimeInterval`](/documentation/RealityKit/AnimationState/normalizedTime)

See [`normalizedTime`](/documentation/RealityKit/AnimationStateProtocol/normalizedTime)

### Instance Methods

[`func defaultSourceJoints(index: Int, count: Int, transforms: inout [Transform]) -> Bool`](/documentation/RealityKit/AnimationState/defaultSourceJoints(index:count:transforms:))

Retrieves a subset of default source joints, and stores them in the output transform array.

[`func defaultTargetJoints(index: Int, count: Int, transforms: inout [Transform]) -> Bool`](/documentation/RealityKit/AnimationState/defaultTargetJoints(index:count:transforms:))

Retrieves a subset of default target joints, and stores them in the output transform array.

[`func storeAnimatedJoints(transforms: [Transform], jointIndex: Int) -> Bool`](/documentation/RealityKit/AnimationState/storeAnimatedJoints(transforms:jointIndex:))

Stores a subset of animated joints.

[`func storeAnimatedValue<ValueType>(ValueType) -> Bool`](/documentation/RealityKit/AnimationState/storeAnimatedValue(_:))

See: [`storeAnimatedValue(_:)`](/documentation/RealityKit/AnimationStateProtocol/storeAnimatedValue(_:))

## Relationships

### Conforms To

[`AnimationStateProtocol`](/documentation/RealityKit/AnimationStateProtocol)

---

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)