Modules
Browse built-in properties and their code bindings
Overview
Modules define which property a clip animates. Choose one from Add Clip, or use the matching BindTo... extension in code. All listed extension methods are in the Evo.Tween namespace.
Each binding takes the target component and returns a TweenHandle. The value type in the tables is the type to pass to EvoTween.Create.
Transform
| Property | Type | Binding |
|---|---|---|
| World / local position | Vector3 | BindToPosition, BindToLocalPosition |
| World / local rotation | Quaternion | BindToRotation, BindToLocalRotation |
| Local scale | Vector3 | BindToScale |
The Inspector's position and rotation modules expose a coordinate-space option. Rotation values in code use quaternions; use Quaternion.Euler(...) when starting from Euler angles.
UI
These bindings require the uGUI module assembly, Evo.Tween.Modules.UGUI.
| Target | Property | Type | Binding |
|---|---|---|---|
RectTransform | Anchored position | Vector2 | BindToAnchoredPosition |
RectTransform | Relative slide offsets | Vector2 | BindToSlide |
RectTransform | Size delta | Vector2 | BindToSizeDelta |
RectTransform | Layout size multipliers | Vector2 | BindToLayoutSize |
RectTransform | Pivot, anchors | Vector2 | BindToPivot, BindToAnchorMin, BindToAnchorMax |
RectTransform | Offsets | Vector2 | BindToOffsetMin, BindToOffsetMax |
CanvasGroup | Alpha | float | BindToAlpha |
CanvasGroup | Interaction flags | bool | BindToInteractable, BindToBlocksRaycasts, BindToIgnoreParentGroups |
Graphic | Color / alpha | Color / float | BindToColor, BindToAlpha |
Image | Fill amount | float | BindToFillAmount |
Slider, Scrollbar | Value | float | BindToValue |
ScrollRect | Normalized position | Vector2 | BindToNormalizedPosition |
LayoutElement | Preferred, minimum, flexible size | Vector2 | BindToPreferredSize, BindToMinimumSize, BindToFlexibleSize |
Slide and Layout Size
Slide uses offsets from the anchored position captured when the clip begins. To enter from 40 units below its arranged position, use Start Offset (0, -40) and Target Offset (0, 0), with From Current off.
Layout Size uses multipliers of the resolved width and height. (1, 1) means the captured size; (1, 0) collapses the height. These values are multipliers, not pixel dimensions.
Let layout settle before playing either animation. They capture their origin or size once at the clip's start; a layout system that continues writing the same RectTransform can still override the tween. Animate a child visual or use a LayoutElement binding when appropriate.
An alpha tween only changes visibility. Set interaction and raycast flags separately if an invisible panel should stop receiving input. For an Image fill animation, configure the Image to display its fill amount.
TextMeshPro
These bindings target TMP_Text and use Evo.Tween.Modules.TMP.
| Property | Type | Binding |
|---|---|---|
| Color / alpha | Color / float | BindToColor, BindToAlpha |
| Font size | float | BindToFontSize |
| Character, word, line spacing | float | BindToCharacterSpacing, BindToWordSpacing, BindToLineSpacing |
| Visible character count | int | BindToMaxVisibleCharacters |
For a typewriter effect, populate the text first, update its text information if needed, then animate the visible character count. Text generation and layout have their own costs beyond tween evaluation.
Audio
| Target | Properties | Type | Bindings |
|---|---|---|---|
AudioSource | Volume, pitch | float | BindToVolume, BindToPitch |
AudioSource | Stereo pan, spatial blend, reverb mix | float | BindToStereoPan, BindToSpatialBlend, BindToReverbZoneMix |
These change AudioSource properties; they don't start audio playback. Play the AudioSource separately when needed.
Rendering
| Target | Properties | Type | Bindings |
|---|---|---|---|
Camera | Field of view, orthographic size | float | BindToFieldOfView, BindToOrthographicSize |
Camera | Background color | Color | BindToBackgroundColor |
Light | Color | Color | BindToColor |
Light | Intensity, range | float | BindToIntensity, BindToRange |
Light | Spot angles | float | BindToSpotAngle, BindToInnerSpotAngle |
Light | Shadows, temperature, bounce | float | BindToShadowStrength, BindToColorTemperature, BindToBounceIntensity |
SpriteRenderer | Color / alpha | Color / float | BindToColor, BindToAlpha |
SpriteRenderer | Size | Vector2 | BindToSize |
Renderer | Shader float / color | float / Color | BindToMaterialFloat, BindToMaterialColor |
Volume | Weight, priority, blend distance | float | BindToWeight, BindToPriority, BindToBlendDistance |
Volume bindings live in Evo.Tween.Modules.RenderPipelines and depend on Render Pipelines Core. Camera, light, sprite, and shader properties must also be meaningful for the target's current configuration.
Material Properties
Material bindings take a Renderer, a shader property name, and an optional material index:
TweenHandle handle = EvoTween.Create(0f, 1f, 0.5f)
.BindToMaterialFloat(targetRenderer, "_Dissolve", materialIndex: 0);Use a property that exists in your shader; _Dissolve is an example for a shader that exposes it. The bindings use material property blocks rather than accessing Renderer.material to create a material instance. Coordinate with any other scripts that write property blocks on the same renderer.
Physics
| Target | Property | Type | Binding |
|---|---|---|---|
Rigidbody | Position / rotation | Vector3 / Quaternion | BindToPosition, BindToRotation |
Rigidbody | Linear / angular velocity | Vector3 | BindToLinearVelocity, BindToAngularVelocity |
Rigidbody2D | Position / rotation | Vector2 / float | BindToPosition, BindToRotation |
Rigidbody2D | Linear / angular velocity | Vector2 / float | BindToLinearVelocity, BindToAngularVelocity |
Set Update Phase to Fixed Update for a Tween Animator physics state, or use .WithUpdatePhase(UpdatePhase.FixedUpdate) in code. Configure the body's physics behavior for the movement you want; tweening doesn't replace collision or force simulation.
Video
| Target | Properties | Type | Bindings |
|---|---|---|---|
VideoPlayer | Playback speed, time, camera alpha | float | BindToPlaybackSpeed, BindToTime, BindToTargetCameraAlpha |
Prepare and play the video separately. Seek and playback behavior depend on the video backend and source; a time tween isn't a guarantee of frame-perfect video scrubbing.
Evo UI
Procedural Shape modules cover fill, pattern, outline, corners, clipping, shape parameters, and shadows. They require Evo UI and Evo.Tween.Modules.EvoUI. See Evo UI for the integration workflow and binding names.
Custom Modules
Add a module when your component exposes a property that isn't covered here. It can appear in the same clip menu and use the same timing and preview workflow. See For Developers.