âŗUpdate Settings
Update timing for Timeflow behavior components
Last updated
Update timing for Timeflow behavior components
Last updated
Timeflow offers a variety of options for controlling the frequency of animation updates. This can be set for a whole Timeflow instance, on a TimeflowObject to affect all of its behaviors and channels, or set on specific behaviors as needed.
These settings work in conjunction with the object Track, which may used to block out specific sections of time.
The update settings of the Timeflow instance affects all objects and animations it contains. This can be used to force an entire scene to a specific frame rate for stylization and/or performance.
The first drop-down menu sets the Update Mode:
This is the default mode and means that the component receives an update call every frame, as part of Unity's standard Update cycle.
This forces behaviors to update at the specified framerate. This can be used to create stop motion effects or to reduce the update frequency of behaviors with heavier calculations.
Framerate is ultimately limited by hardware capabilities. This setting can only be used to lower the framerate and cannot force higher rates than can be rendered by the GPU.
This is similar to Forced Framerate, however the update is based on a specific time interval (in seconds) rather than on the number of frames rendered.
This mode is used to chain together behaviors in a specific update order. This is useful when one component bases calculations on values generated by another component.
Note that the current behavior updates after the behavior assigned. If the other object becomes inactive, the current object stops receiving update calls.
This is used to control updating remotely via script or trigger. This is seldom used and only needed in special cases where a behavior may be controlled by game logic or other input.
When Explicit mode is used, an update may be forced using the Refresh button.
The second drop-down menu selects the Unity method used for updating. This combines with the settings above for fully customizable timing.
This is the standard update method and should be used for most objects. This is based on Unity's regular Update call.
Rather than updating during the standard Update call, this mode executes during LateUpdate after all other objects have been updated. This can be used to force a behavior or object to update after everything else in the scene.
Late Update should only be used on selective objects when absolutely needed. If possible, it is best to use the Update After mode as described above or use channel ordering to fix execution order dependencies.
Using this mode, an object is only updated during FixedUpdate, based on Fixed Timestep in Project Settings > Time. This is primarily used by physics to optimize performance by reducing the number of update calls. However, this can also be used on non-physics based objects too.
Always use Fixed Update for behaviors that use physics, such as when animating Rigidbody transforms. Otherwise jittering or other anomalies may occur in movement.
This is a read-only value to display the local time of the object in the inspector. Normally this time is the same as is shown in the Timeflow view, however if any time offsets are applied to this object or its parents, then the local time displayed may be different than the current time in Timeflow.
This shifts the local time of the object forward or backward, relative to its parent or world time. This can be used to shift the time of whole objects or groups, while maintaining the relative timing of its keyframes, tracks, and children.
The time offset value can be used to queue objects and animation channels at specific times, either in the editor or at runtime as part of game logic.
Time Offset can also be set on individual channels and behaviors and works hierarchically, with each object having its own local time relative to its parent.
This setting determines the behavior of dragging tracks in the Timeflow view. Normally this option is disabled and tracks are moved independently (like keyframes) without affecting other animations or the object's timing. However, when Drag Time Offset is enabled, dragging the track shifts the time offset for the whole object.
When enabled, tracks may still be dragged even if they are locked since this mode only affects the object's Time Offset and does not change the track itself.
To prevent tracks from being selected or moved, lock the object on the far left in the Switches column.
Time Offset values not only affect the current game object's time but also its children and descendants.
An alternative to enabling Drag Time Offset is using the Related Keyframes feature. When the Shift key is held while moving or editing tracks, any keyframes contained within the track section are highlighted in green and included in the edit. This allows greater creative freedom to move tracks independently or including the underlying keyframe data on the fly, without affecting time offset.
See the Tracks documentation for more details.
This is a read-only reference to the first TimeflowObject in the object's parents. This is automatically determined by the object's placement in the scene hierarchy.
Timeflow only displays objects with a TimeflowObject component.
When objects are in a contiguous hierarchy (each parent has a Timeflow Object), then Timeflow displays them in the view hierarchically, otherwise they may have to be added to the view separately.
Restores the update settings to default. Use this anytime you've made changes and want to restore the original update behavior. This doesn't affect other settings on the behavior.
To prevent any behavior from automatically updating each frame, the Update mode may be set to Explicit. This means that the behavior only updates when the Refresh button is pressed.
Use Explicit update for any behaviors you may be used for constructive purposes and not for animation. This way you can control when it updates by pressing the refresh button.