⌚
Timeflow
  • ⌚Introduction
  • 📗User Guide
    • â–ļī¸Getting Started
      • ✅Requirements
      • âŦ‡ī¸Installation
      • 🚀Quick Start
      • âœī¸Workflow
      • đŸŽŦRender Pipeline
      • â¯ī¸Editor vs Runtime
      • đŸĻŋHow it Works
      • â›‘ī¸Potential Issues
      • ⚡Optimization
      • 🔨3rd Party Tools
      • đŸ”ĸUpgrading Guide
    • â„šī¸Timeflow Editor
      • đŸŽ›ī¸Menu Bar
      • â˛ī¸Time
      • Local Time Scope
      • 🧰Work Area
      • âš™ī¸Settings
      • âŗUpdate Settings
      • đŸ“ēDisplay Lists
      • đŸ”ģMarkers
      • đŸ”ĩObject
      • 🏭Managed Objects
      • ⚡Quick Select Objects
      • âš’ī¸Tools
    • đŸŽŦTimeflow View
      • 🔩Toolbar
        • 🔑Auto Keyframing
        • â¯ī¸Play Controls
        • đŸĨ…Work Area
        • â¯ī¸Current Time
        • đŸŽŧMusical Timing
        • 🌐Grid and Snap
        • 🔸Keyframe Values
        • đŸ”ģMarkers
      • â˛ī¸Timeline
      • 📐Time Navigation
      • Local Time Scope
      • 🎏Track View
      • â†˜ī¸Selection
      • 📰Object Panel
      • đŸ“ēDisplay Lists
      • 🍱Channels
      • đŸŖProperties
      • 🔗Channel Link
      • đŸšĨSwitches
      • 📅Values Column
      • đŸ›¤ī¸Tracks
      • 🔸Keyframes
      • đŸ“ļAlignment Tools
      • ⌛Time Offset
      • đŸ”ĸInfo Panel
      • 📉Graph View
      • âœ‚ī¸Keyframe Tools
    • 🍰Menus & Shortcuts
      • 📃Context Menus
        • â†–ī¸Select Menu
        • 📰Object Menu
        • 🍱Channel Menu
        • đŸ›¤ī¸Tracks Menu
        • 🔸Keyframes Menu
        • đŸ”ģMarkers Menu
        • 📰View Menu
        • 📰Events Menu
        • đŸĨ…Work Area Menu
      • đŸ—ƒī¸File Menu
      • âš’ī¸Timeflow Menu
        • đŸ•ēAdd Behavior
        • đŸ”ļAnimation
        • 🍱Composition
        • đŸ“ēDisplay
        • ⏊Jump To
        • 👨‍đŸ‘Ļ‍đŸ‘ĻHierarchy
        • 🌐Mesh
        • 👉Select
        • 📚Tracks
        • 🌈Track Colors
        • â†”ī¸Transform
        • đŸ‘ī¸Visibility
        • đŸ› ī¸Editor
      • đŸ”ĩGame Objects Menu
      • đŸŽ›ī¸Presets
      • âš™ī¸Preferences
        • Assets
        • ⌛Time
        • đŸŗī¸â€đŸŒˆTracks
        • âšĒObjects
        • 🧮Channels
        • đŸ”ļKeyframes
        • 🔠Input
        • đŸ“ĨImport
        • đŸ–ŧī¸Rendering
        • đŸŽ›ī¸Overrides
        • 🍱Extras
      • *ī¸âƒŖKeyboard Shortcuts
        • Managing Shortcuts
      • âœ´ī¸Quick Menu
  • Reference
    • đŸ”ĩTimeflow Object
      • đŸĸTracks
      • 🏭Behaviors
      • ⏰Events
      • đŸ—ƒī¸Channels
    • 💃Timeflow Controller
      • đŸŽžī¸Timeflow Playback
    • đŸĒ„Behaviors
      • đŸŽžī¸Animation
        • 🔸Keyframer
        • â†”ī¸Tween
        • 🔀Blend
        • đŸŽĸMotion Path
        • đŸ‘¯Animation Clips
        • 🌴Animator Blend Trees
        • 😁Blend Shapes
      • 🤖Automation
        • 🛸Auto Bank
        • 🧭Auto Rotate
        • 📐Distance
        • ⏰Event
        • đŸ›Šī¸Flyby
        • 🏃Follow
        • 👀Look At
        • đŸŽ¯Look At Target
        • 🎲Noise
        • 🚊Place On Path
        • đŸī¸Place On Surface
      • 🔊Audio
        • 🔊Audio Track
        • đŸŽŧAudio Spectrum
        • đŸŽĩAudio Sample
        • đŸŽ™ī¸Audio Reactive
      • 🎹MIDI
        • 🎹Midi File
        • đŸĨMidi Tween
        • 📡Midi Receiver
          • đŸŽ›ī¸Minis Setup (New Input System)
          • đŸšĨMidiJack Setup (Legacy Input)
      • 🏁Rendering
        • đŸŽžī¸Render To Disk
        • 📋Render Queue
        • đŸ“Ŋī¸Video Encoding
        • 💡Tips & Optimizations
        • âēī¸Unity Recorder
      • 🔧Tools
        • â„šī¸Animator Info
        • 🧮Align Children
        • đŸ’ŦComment
        • #ī¸âƒŖFPS Counter
        • 📈Graph
        • 🔗Property Link
        • 🔄Rotator
        • ✨Particle System Update
        • 🌈Trail Renderer Update
        • đŸ“ēVideo Player Update
    • đŸ—ƒī¸Precomposing
    • 🏭Prefabs
    • đŸŽ›ī¸Editor Overrides
      • 🏹Transform Editor Override
    • 🔌Integrations
      • đŸ§™â€â™‚ī¸Adventure Creator
      • đŸŽ›ī¸MIDI Jack | Minis
      • đŸ¤ēSpine Animation
      • đŸ“Ŋī¸Unity Timeline
      • ➰Unity Splines
    • đŸĒSamples
      • đŸ•šī¸Demo App
      • đŸŽžī¸Cutscenes
      • 🏓Physics
      • 🍧Shader Properties
      • ⚡Visual Effect Graph (VFX)
    • 📖Glossary
    • 📗Scripting
    • đŸ“ŖPublished Works
    • âš ī¸Known Issues
    • 🆘Support
    • đŸ§ĒBeta
    • Roadmap
    • đŸ”ĸVersion History
    • ÂŠī¸Terms & Privacy
Powered by GitBook
On this page
  • Channel and Property Mapping
  • Tween Editor
  • Usage
  • Timing
  • Duration
  • Start At
  • End At
  • Repeat
  • Hold Mode
  • Act on Trigger
  • Random Seed
  • Tween
  • Start / End Value
  • Offset
  • Randomization +/-
  • Interpolation
  • Invert
  • To and Fro
  • Amount
  • Phase
  • In/Out Point
  • Smoothness
  • Multiple Objects
  • Apply to Each
  • Children Only
  • Offset Each
  • Envelope
  • Objects List
  • Overrides
  • Output
  1. Reference
  2. đŸĒ„Behaviors
  3. đŸŽžī¸Animation

â†”ī¸Tween

Create to-and-fro, one shot, and repeating animations

PreviousKeyframerNextBlend

Last updated 7 months ago

Tween is used for creating oscillating motions on any property with a range of options. Use Tween for anything that pulses, bobs, spins, or moves back and forth. Motions can be precise and regular or random and chaotic. Create animations that play once or loop.

Add a new Tween by right-clicking an object then go to Add Animation > Tween and select a target property from the list of components and materials on the object.

Channel and Property Mapping

Tween channels do not have keyframes, but may be used with channel links, to combine with keyframe and other animation channels for more complex motion.

Tween Editor

For setup and additional editing features, select an object and view the Tween editor in the Inspector. For common features, please refer to Properties, Menu Bar and Update Settings.

Tween displays its main property mapping at the top in the Menu Bar.

Usage

Once Tween has been applied to an object and target property selected, adjust the Timing section to set the desired duration and repeat interval if any. Adjust the Tween settings to set the start and end values, interpolation method, and optional randomization and offset.

Timing

Duration

Sets the time it take to complete 1 interval of animation. A single interval animates from the start value to end value over the duration, or if To and Fro is enabled then a single interval goes from start, to end, to start, over the same duration.

Seconds

Sets an interval time in seconds. Use this to enter an exact time in seconds.

Beats

Markers

Uses Markers to set the start and end time of the Tween. This lists all markers in Timeflow, though if none have been created then only START and END (the built-in markers) are displayed.

Object Duration

Uses the duration of the containing TimeflowObject based on the start and end of its track channel. This spans from the start of the first track section to the end of the last track section.

Total Time

Start At

Sets the start time of the animation. These are similar to the options described above, but specify an exact time rather than a duration. Tween only begins animating once the time is reached or passed. Start is the default to play immediately.

The Trigger option is a scripting feature that allows Tween to start animating when Trigger() is invoked, and to stop when TriggerStop() is invoked. This can be done via script using a reference to the Tween object, or using Unity SendMessage.

End At

Determines the time at which Tween stops animating. The default mode is Never, which means the Tween continues to animate as long as the object is active in the timeline.

Repeat

Determines how many cycles of the animation to play.

Forever is the default mode, meaning the Tween never stops repeating. On the otherhand if No is selected, then animation is not repeated and the Tween plays its animation just once based on the Duration settings above.

When Every mode is selected, a secondary set of options defines the repeat interval, which can be different than the Duration to control spacing of the animation over time. This can be used to create animations that occur periodically rather than looping back-to-back.

Hold Mode

When using Start At and End At, this determines what the Tween's resting value is.

Hold Start and End Values

This is the default mode which uses the start value for times before Start At, and the end value for time after End At.

Default Value

Sets a constant value on the target property when Tween is not animating (before it starts, and after it ends).

None

If this mode is selected, Tween does not process or apply any values and the target property is left unchanged whenever the time is before the start and after the end.

When Hold Mode is set to None, this can result in incomplete Tween animations when jumping in time. This isn't an issue during continuous playback, but while editing in the timeline if you move the current time from an active section of the Tween to an inactive section, it's value remains unchanged which may appear incorrect. Use one of the other hold modes if this becomes an issue.

Act on Trigger

This is an advanced feature that allows Tween to be started and stopped via script. This directly relates to the Start At Trigger mode described above.

Act on Trigger must be enabled for Tween to receive Trigger() events. Also note that in the Tween script, this is defined as boolean AllowTrigger.

Complete Cycle

When enabled, Tween finishes animating the current interval before it can be stopped or restarted by trigger events. Any extra messages sent during these times may be ignored. This can be used for interactive elements to ensure that each Tween trigger goes to the full 'on' and 'off' positions without interruption and only responds to new triggers once complete.

Random Seed

Sets the seed value for the random number generator used in the +/- fields. This value may be changed to make variations on Tweens using randomization.

Tween

Sets the start and end values for the tween animation.

The type of values displayed is determined by the property selected. Tween supports numeric and color properties only, since object and string values cannot be interpolated.

Start / End Value

Tween animates between the Start Value and End Value based on Timing and Repeat settings.

The start and end values must be constant and should themselves never by animated. Tween performs additional setup to optimize interpolations and changing these values dynamically at runtime will produce unknown results. To achieve something similar, use Channel Link.

Offset

If enabled, the final value is offset by the specified amount. This is useful to shift a Tween animation.

This value is safe to animate and may be a target property for another Tween.

Randomization +/-

This optionally adds a random range to the start and end values, based on the Random Seed.

The randomization value (+/-) sets a potential offset range that may be plus or minus the target value. In the example shown above, the Start Value may be any number between -5 and 5 (0 +/- 5), whereas the End Value may be any number between 5 and 15 (10 +/- 5).

Tween pre-calculates random values so that the resulting animation is deterministic. This means that randomization is consistent each time curves are recalculated. Use the Random Seed value for variations.

Interpolation

Invert

Flips the interpolation to reverse the resulting animation curve.

To and Fro

If enabled, animation goes back and forth (start -> end -> start), otherwise the animation goes one direction (start -> end).

Tip: Continuous Rotation Make an object continually rotate by setting the Start Value to 0 and the End Value to 360, and disable To and Fro. Select Linear interpolation for steady smooth rotation. Then adjust the speed with the Duration.

Amount

Use this slider to reduce the intensity or degree of animation. This blends the value towards the Default Value, or to 0 if another Hold Mode is selected.

Note that Offset is applied after Amount, so that it may be used to adjust the final value.

Phase

Offsets the tween cycle to shift the animation forward or backward in time.

Phase can be useful to offset the timing of similar or duplicate animations to create the effect of a delay or staggered movements.

In/Out Point

Adjust the in and out points to add padding (in time) to either end of each cycle. This also shortens the duration of the actual animation.

Smoothness

This reduces the time interpolations occur but maintains the same duration overall. This has the effect of blending from full interpolation to none.

Multiple Objects

This is an advanced feature to apply a Tween animation on a series of objects. The most common setup is for a parent object to control children by apply the same Tween to each.

This can be used to create waves, pulses, and other effects that travel through a series of objects, or affect them all in unison.

It is possible to target different properties by reassigning them in the object list, however note that Tween expects the properties to be of same or like type and doesn't offer any way to remap or change the value range per object, other than the settings shown.

To create more complex property mappings, use Channel Link to remap or modify Tween output values to other properties.

Apply to Each

Select Children mode to use immediate children of the current object, or use Object List mode to manually assign objects and properties.

Be aware that if you use Tween to control other objects in the scene, it can lead to confusing scenarios unless target objects are noted or organized in way to know what's controlling it. This will be improved in future versions with tools to discover references.

Children Only

If enabled, Tween does not affect the parent (current game object) and only applies the Tween to the child objects.

It is recommended to enable this when using Children mode to animate transforms, otherwise the child motion is compounded with the parent's.

Offset Each

This specifies a duration (optional) to offset each the Tween as it applies to each object in the list. This is useful for creating trailing motions that move through the objects rather than happening all at once.

Envelope

This varies the amount of the Tween as it is applied to each object in the list based on the curve type selected. This essentially applies the curve profile across the objects.

Objects List

Use the list of objects to manage each property assignment. Each object is initially assigned the same property as in the Tween settings. Use Gather Children to recollect and rebuild property mappings for all child objects.

Gather Children clears the list first, so do not use this button if you wish to preserve current object assignments. Otherwise, this is a good way to rebuild the list after changes have been made.

Children or objects in the list must have the same target property as the parent, otherwise the default property mapping will fail and show errors. For example, if you're targeting the material property '_Color', each object in the list must have a material with the same property. This is not an issue with transforms since all objects have one. To solve this, simply make sure that each objects has the same component or material being mapped to.

Recursive

Enable this to work with all game objects in the hierarchy. This also affects Find by Name, allowing it to traverse the whole hierarchy to find objects with matching names.

Find by Name

Finds all the objects that match the name entered (in the field shown). Enable Exact to match names precisely, or otherwise find any object that partially matches it. This can be helpful for targeting multiple objects distributed throughout a hierarchy without having to change the structure.

This operation searches the hierarchy of the current object (or one assigned with Apply to Each), however once the list has been created the property mappings are preserved no matter if the objects are reparented and moved.

Overrides

Provides a way for a Tween to be remote controlled, or to blend to a specific value. This is often used in cases where a Tween behavior needs to transition into or combine with keyframe animation.

Override Interpolation

This takes over control of the interpolation (i.e. amount of completion between the Start Value and End Value). This does not blend with the original Tween timing and fully overrides it. When enabled, the slider blends between the start and end values according to the interpolation type selected. The interpolation value may then be animated or controlled via channel link or script.

Override Value / Blend

If Override Blend is greater than zero, the final output of Tween is blended with the Override Value. The value may be constant, animated with keyframes, or using a channel link. The blend slider can then be animated to transition smoothly from the Tween motion to the override value.

Both override modes may be used together if needed. Note that the Override Value / Blend takes precedent over Override Interpolation.

Output

Displays the final computed value and channel options.

Each Tween has only 1 channel, but multiple instances may be added per object. Each Tween has its own settings and channel. Reassign as needed using the Info Panel or in the inspector.

Tween channels by default display a preview curve in the Track View and Graph View. To turn off the curve display, use the toggle in the Switches panel.

As with all other behaviors in Timeflow, Tween only processes animation during active track sections, as depicted in the screenshot below, unless is enabled.

Sets the interval time based on . When this mode is enabled, the Note field is also displayed to select the note type and count, determining the interval duration. If the Timeflow BPM checkbox is enabled, it automatically uses the BPM as set in the Timeflow settings. Otherwise this can be unchecked to enter a specific BPM for this Tween.

Uses the full of TImeflow. Use this to create a tween animation that spans the full timeline.

Refer to in the Glossary.

The lower the smoothness, the faster the transition and longer it holds the end value. If smoothness is 0, it is the same as interpolation.

One or both ends of the list may be pinned in place depending on whether an In or Out curve is selected. For further documentation on the curve modes, see .

Note that Tween does not support the since it provides its own looping mechanisms.

See and for more details.

properties mappings
channel looping features
Channel Link
Set Shader Global
Always Update
Interpolation Modes
None
Interpolation Modes
BPM
duration
Use the context menu as shown above to add new Tween channels
Optionally use track sections to
Default settings for new Tween in the Inspector view.
The options for Repeat Every are similar to the Duration above.
An example using Repeat Every duration to increase hold duration between cycles
The resulting graph preview showing the randomization values applied above.
Adjusting the in and out points affects the curve as shown below.
Use Smoothness to accelerate value transitions and increase hold times.
Envelope effect of Ease In Out (applied to the Y position of objects)
Additional property settings are shown by clicking the circular link icon to the left of the property button.
Note that the Final Value is for display only and cannot be set directly.
Click the property name button in the to select a different property.
This is somewhat similar in result to but a different approach.
Info Panel
Repeat Every