---
title: FromToByAnimation
framework: realitykit
role: symbol
role_heading: Structure
path: realitykit/fromtobyanimation
---

# FromToByAnimation

An animation that starts, stops, or increments by a specific value.

## Declaration

```swift
struct FromToByAnimation<Value> where Value : AnimatableData
```

## Overview

Overview To animate an entity or scene, this structure gradually changes a parameter’s value over time. You can specify a from value, which represents the animated property’s initial value at the beginning of the animation. You can also specify a to value, which determines the value of the property at the end of the animation. Alternatively, you can set a by value. The framework adds the by value to the property’s initial state to calculate the value at the end of the animation. To specify the property that this struct animates, define bindTarget in the intializer, init(name:from:to:by:duration:timing:isAdditive:bindTarget:blendLayer:repeatMode:fillMode:trimStart:trimEnd:trimDuration:offset:delay:speed:). Configure the animation inputs This animation supports varying input combinations, which exhibit the following behavior. When you specify: The default source value is the base value of the of animated property. If multiple animations target the property, then the framework observes the output of the previous animation as the subsequent animation’s default source value. The default target value is the base value of the animated property.

## Topics

### Creating an animation

- [init(name:from:to:by:duration:timing:isAdditive:bindTarget:blendLayer:repeatMode:fillMode:trimStart:trimEnd:trimDuration:offset:delay:speed:)](realitykit/fromtobyanimation/init(name:from:to:by:duration:timing:isadditive:bindtarget:blendlayer:repeatmode:fillmode:trimstart:trimend:trimduration:offset:delay:speed:).md)
- [init(jointNames:name:isScaleAnimated:isRotationAnimated:isTranslationAnimated:from:to:by:duration:timing:isAdditive:bindTarget:blendLayer:repeatMode:fillMode:trimStart:trimEnd:trimDuration:offset:delay:speed:)](realitykit/fromtobyanimation/init(jointnames:name:isscaleanimated:isrotationanimated:istranslationanimated:from:to:by:duration:timing:isadditive:bindtarget:blendlayer:repeatmode:fillmode:trimstart:trimend:trimduration:offset:delay:speed:).md)

### Configuring the animation

- [name](realitykit/fromtobyanimation/name.md)
- [bindTarget](realitykit/fromtobyanimation/bindtarget.md)
- [blendLayer](realitykit/fromtobyanimation/blendlayer.md)
- [jointNames](realitykit/fromtobyanimation/jointnames.md)
- [isScaleAnimated](realitykit/fromtobyanimation/isscaleanimated.md)
- [isRotationAnimated](realitykit/fromtobyanimation/isrotationanimated.md)
- [isTranslationAnimated](realitykit/fromtobyanimation/istranslationanimated.md)
- [isAdditive](realitykit/fromtobyanimation/isadditive.md)

### Defining a start value

- [fromValue](realitykit/fromtobyanimation/fromvalue-2h2wq.md)
- [fromValue](realitykit/fromtobyanimation/fromvalue-8dr21.md)
- [fromValue](realitykit/fromtobyanimation/fromvalue-4tv25.md)
- [fromValue](realitykit/fromtobyanimation/fromvalue-umpp.md)
- [fromValue](realitykit/fromtobyanimation/fromvalue-12wzs.md)
- [fromValue](realitykit/fromtobyanimation/fromvalue-5kx2b.md)
- [fromValue](realitykit/fromtobyanimation/fromvalue-6msd.md)
- [fromValue](realitykit/fromtobyanimation/fromvalue-5ckq7.md)

### Defining an incremental value

- [byValue](realitykit/fromtobyanimation/byvalue-9zcwv.md)
- [byValue](realitykit/fromtobyanimation/byvalue-5fewc.md)
- [byValue](realitykit/fromtobyanimation/byvalue-3soon.md)
- [byValue](realitykit/fromtobyanimation/byvalue-8na9o.md)
- [byValue](realitykit/fromtobyanimation/byvalue-460jf.md)
- [byValue](realitykit/fromtobyanimation/byvalue-1pq4.md)
- [byValue](realitykit/fromtobyanimation/byvalue-3bp3q.md)
- [byValue](realitykit/fromtobyanimation/byvalue-7zwq3.md)

### Defining an end value

- [toValue](realitykit/fromtobyanimation/tovalue-50qb4.md)
- [toValue](realitykit/fromtobyanimation/tovalue-8jzdy.md)
- [toValue](realitykit/fromtobyanimation/tovalue-4nrhr.md)
- [toValue](realitykit/fromtobyanimation/tovalue-4m4pm.md)
- [toValue](realitykit/fromtobyanimation/tovalue-4wi6r.md)
- [toValue](realitykit/fromtobyanimation/tovalue-6a1uy.md)
- [toValue](realitykit/fromtobyanimation/tovalue-813jk.md)
- [toValue](realitykit/fromtobyanimation/tovalue-5ki8u.md)

### Timing the animation

- [speed](realitykit/fromtobyanimation/speed.md)
- [delay](realitykit/fromtobyanimation/delay.md)
- [duration](realitykit/fromtobyanimation/duration.md)
- [offset](realitykit/fromtobyanimation/offset.md)
- [timing](realitykit/fromtobyanimation/timing.md)
- [trimDuration](realitykit/fromtobyanimation/trimduration.md)
- [trimStart](realitykit/fromtobyanimation/trimstart.md)
- [trimEnd](realitykit/fromtobyanimation/trimend.md)

### Repeating animation playback

- [repeatMode](realitykit/fromtobyanimation/repeatmode.md)
- [fillMode](realitykit/fromtobyanimation/fillmode.md)

### Initializers

- [init(weightNames:name:from:to:by:duration:timing:isAdditive:bindTarget:blendLayer:repeatMode:fillMode:trimStart:trimEnd:trimDuration:offset:delay:speed:)](realitykit/fromtobyanimation/init(weightnames:name:from:to:by:duration:timing:isadditive:bindtarget:blendlayer:repeatmode:fillmode:trimstart:trimend:trimduration:offset:delay:speed:).md)

### Instance Properties

- [byValue](realitykit/fromtobyanimation/byvalue-2m18u.md)
- [fromValue](realitykit/fromtobyanimation/fromvalue-66cs6.md)
- [toValue](realitykit/fromtobyanimation/tovalue-5zgql.md)
- [weightNames](realitykit/fromtobyanimation/weightnames.md)

## Relationships

### Conforms To

- [AnimationDefinition](realitykit/animationdefinition.md)

## See Also

### Animation definitions

- [SampledAnimation](realitykit/sampledanimation.md)
- [TweenMode](realitykit/tweenmode.md)
- [AnimationTimingFunction](realitykit/animationtimingfunction.md)
- [AnimationView](realitykit/animationview.md)
- [OrbitAnimation](realitykit/orbitanimation.md)
- [AnimationDefinition](realitykit/animationdefinition.md)
- [AnimationFillMode](realitykit/animationfillmode.md)
- [AnimationGroup](realitykit/animationgroup.md)
- [AnimationHandoffType](realitykit/animationhandofftype.md)
