Transition Toolkit makes building exciting screen transitions in Unity simple. Instead of choosing from a fixed list of fades and wipes, you pick a base pattern, and then layer on secondary features like sparks, organic filaments, and domain warp to create something unique.
From creeping lava fronts to flowing aurora curtains — everything is configured in the Inspector, no shader coding required.
Assets/R2RGames/TransitionToolkit/.TK_Magma.prefab) from Assets/R2RGames/TransitionToolkit/Prefabs/Presets/ into the Canvas. There is also a base TransitionToolkit.prefab in the top level of the Prefabs directory — a clean starting point you can customize.using r2rgames.Transitions;
TransitionEvents.TriggerTransitionOut("Magma", 1.5f);
TransitionEvents.TriggerTransitionIn("Magma", 1.0f);
Open the demo scene at Assets/R2RGames/TransitionToolkit/Demo/Transitions.unity and press Play. Use the left/right arrow keys to switch between Transition presets.
For the URP pipeline, you will need to open the Demo scene and convert the included materials by navigating to Window > Rendering > Render Pipeline Converter, check the Material Upgrade box, then click the Initialize & Convert button.
The TransitionToolkit component is the heart of the toolkit. Every transition is configured here — no code needed. Select any preset prefab to see its settings in the Inspector.
These settings control the overall look and motion of the transition.
| Property | Type | Description |
|---|---|---|
Transition ID |
string | A unique name for this preset (e.g., "Magma", "Aurora"). Used to trigger the transition from code. Case-sensitive. |
Ease Curve |
AnimationCurve | Controls the timing of the transition. The default ease-in/ease-out curve gives a natural feel. Try a linear curve for mechanical effects, or an overshoot curve for a snappy look. |
Edge Width |
float (0.02–0.3) | Width of the bright leading edge during the sweep. Wider edges give a softer, more gradual reveal. Narrow edges feel sharp and precise. |
Linearity |
float (0–1) | Blends between a directional sweep (0) and a pure pattern-based reveal (1). At 0, the transition moves across the screen in a clean line. At 1, the pattern determines everything. Values in between give the best of both. |
Decay Rate |
float (0.3–5) | Controls how quickly the effect fades behind the sweep front. Low values leave a long, lingering trail. High values create a sharp cutoff close behind the edge. |
Reverse Direction |
bool | Flips the sweep direction (e.g., bottom-to-top instead of top-to-bottom). |
Sweep Direction |
enum | Vertical sweeps top-to-bottom (or bottom-to-top if reversed). Horizontal sweeps left-to-right (or right-to-left if reversed). |
Effect Color |
Color (HDR) | The HDR color used for the transition edge and glow. Brighter values (intensity > 1) create a bloom-like glow when you have post-processing enabled. |
Pattern Scale |
float | Scale of the base pattern. Higher values create smaller, more detailed patterns. Lower values create larger, bolder shapes. |
The Base Pattern determines the fundamental shape of your transition — the underlying texture that drives how pixels activate during the sweep. There are 11 patterns to choose from.
| Pattern | Description |
|---|---|
| FBM Noise | Smooth, organic noise with soft transitions between areas. Great for natural effects like smoke, clouds, or lava. |
| FBM Noise Sharp | The same noise with sharper edges and crisper boundaries. Good for rust, corrosion, cracking, or digital glitch effects. |
| Voronoi Cells | Irregular cell shapes that look like cracked glass or shattered stone. Cracks propagate first, then cells fill in. |
| Grid Cells | Regular grid of square or hexagonal cells that activate cell by cell. When selected, additional settings appear:
|
| Sine Wave | Layered sine waves that create flowing, undulating transitions. Has built-in time animation for constant motion. |
| Ridged Noise | Noise folded at ridges, creating a crinkled or mountainous texture with dramatic peaks and valleys. |
| Ripple | Concentric rings radiating outward from the center. Creates a radar-pulse or water-ripple effect. |
| Spiral | A spiral pattern radiating from the center. The sweep follows the spiral arms for a vortex-like reveal. |
| Curtain | Layered sine folds that create curtain or aurora-like draping. Has built-in time animation for flowing fabric motion. |
| Warp Grid | A warped plaid-like interference pattern. Creates fine grid distortion with a digital or static feel at higher scales. |
| Fabric | Woven, interlocking wave bands that create a textile-like pattern. Works well for lightning or woven energy effects. |
Secondary features are stackable — you can enable any combination to build complex, layered effects. Each feature adds a visual dimension on top of the base pattern. Toggle them on in the Inspector and their settings appear below.
Flickering bright spots that appear in the filled area, like hot embers glowing in ash or digital noise artifacts.
| Property | Range | Description |
|---|---|---|
Intensity | 0–1 | Brightness of the sparks. |
Scale | 1–10 | Size of the spark pattern. Higher values create smaller, more numerous sparks. |
Glowing blobs that appear ahead of the sweep front, as if the effect is reaching forward. Creates anticipation and a sense of energy building before the main wave arrives.
| Property | Range | Description |
|---|---|---|
Density | 0–1 | How many blobs appear ahead of the front. |
Scale | 0.5–4 | Size of the blobs. |
Ridged noise filaments that thread through the filled area. At low Bias, they create an isotropic marble-vein pattern. At high Bias, they stretch into vertical tendril-like strands — great for overgrowth or root systems.
| Property | Range | Description |
|---|---|---|
Intensity | 0–1 | Brightness of the filament pattern. |
Scale | 1–6 | Size of the filament pattern. Lower values create thicker, more prominent filaments. |
Bias | 0–1 | Controls filament direction. 0 = isotropic ridged noise (marble veins). 1 = vertical tendril-like strands (organic growth). Values in between blend the two looks. |
Distorts the base pattern's coordinates for a more organic, warped appearance — as if the pattern is being bent through heat haze or flowing water.
| Property | Range | Description |
|---|---|---|
Strength | 0–1 | How much the pattern coordinates are distorted. Subtle values (0.1–0.3) add natural variation. Higher values create dramatic warping. |
Scrolls the base pattern over time, creating flowing or bubbling motion. The pattern moves continuously while the transition plays, adding life and energy to the effect.
| Property | Range | Description |
|---|---|---|
Speed | float | Rate of the animated pattern movement. Higher values create faster motion. |
At the bottom of the Inspector, you'll find the Autosave Changes toggle. When enabled, any changes you make to the transition during Play Mode are automatically preserved when you exit Play Mode.
This is especially useful for creative tweaking — you can adjust colors, scales, and features in real time, see the results immediately, and keep your changes without having to write them down and re-enter them.
Transition Toolkit ships with 21 ready-to-use presets plus a base prefab. Each preset demonstrates a different combination of base pattern and secondary features — use them as-is or as starting points for your own creations.
| Preset | Base Pattern | Features | Look |
|---|---|---|---|
| TK_Aurora | Curtain | Flow | Flowing curtain of light with animated motion, like the northern lights. |
| TK_Bloodmoon | Voronoi Cells | Filaments, Blobs, Warp | Crimson cracked cells with organic veins and warped edges. Dark and dramatic. |
| TK_Frostbite | Ridged Noise | Filaments, Blobs | Icy crystalline ridges with frost blobs advancing ahead of the front. |
| TK_Grid | Grid Cells (Square) | — | Clean square grid that activates cell by cell. Mechanical, digital feel. |
| TK_Havoc | FBM Noise Sharp | Sparks, Blobs, Filaments, Warp, Flow | All five features at once — chaotic, sharp-edged, and vibrant. Maximum visual intensity. |
| TK_Honeycomb | Grid Cells (Hex) | — | Hexagonal grid that fills cell by cell. Techy, sci-fi aesthetic. |
| TK_Interference | FBM Noise Sharp | Warp | Sharp noise with heavy warp distortion for a warped static or interference look. |
| TK_Lightning | Fabric | Filaments, Warp | Woven energy bands with organic filaments threading through. Electric and alive. |
| TK_Magma | FBM Noise | Sparks, Blobs, Filaments, Warp, Flow | Heavy lava front with glowing blobs, veins, embers, and flowing motion. The most layered preset. |
| TK_Meltdown | Grid Cells (Hex) | Warp | Hexagonal grid with extreme warp — cells melt and distort as they activate. |
| TK_Overgrowth | FBM Noise | Filaments, Warp | Organic growth with vine-like tendrils spreading across the screen. |
| TK_Plasma | Sine Wave | Flow | Undulating wave pattern with continuous animated motion. Smooth and hypnotic. |
| TK_Radar | Ripple | Filaments | Radar-pulse rings with filament detail threading through the sweep. |
| TK_Rust | FBM Noise Sharp | Blobs | Sharp-edged corrosion that spreads with glowing advance spots. |
| TK_Sandstorm | FBM Noise | Sparks, Warp, Flow | Swirling sand with drifting particles and warped organic motion. |
| TK_Shatter | Voronoi Cells | — | Cracked glass or shattered stone — each irregular cell activates individually. |
| TK_Swimming | Warp Grid | Filaments, Warp | Warped interference fringes with organic filaments. Underwater or aquatic feel. |
| TK_Tempest | Curtain | Warp | Curtain folds with dramatic warp distortion — a storm-swept fabric look. |
| TK_Transistor | Spiral | Warp, Flow | A spiraling vortex with warped arms and flowing animation. |
| TK_Venom | Ridged Noise | Sparks, Filaments, Warp, Flow | Toxic, acidic ridged noise with sparks, crawling filaments, and animated flow. |
| TK_Wildfire | Curtain | Sparks, Blobs | A wall of flame with ember sparks drifting and char spots burning ahead. |
The base prefab (TransitionToolkit.prefab) uses the Ripple pattern with no secondary features — a clean radar-pulse sweep that serves as a good starting point for customization.
The fastest way to create a new transition is to start from an existing preset:
Assets/R2RGames/TransitionToolkit/Prefabs/Presets/.TK_IceShatter.prefab).To use your new preset in a scene, drag it into a Canvas as a child. Make sure the Canvas is set to Screen Space - Overlay. The prefab's RawImage component should stretch to fill the screen (the default anchors handle this).
Every preset prefab must have:
RectTransform with stretch anchors — (0,0) to (1,1)CanvasRendererRawImage with ToolkitTransition.mat assignedTransitionToolkit component with a unique, non-empty Transition IDTransition Toolkit uses a lightweight, event-driven system. You trigger transitions by name — the matching preset responds automatically.
Add using r2rgames.Transitions; at the top of your script, then call:
// Cover the screen (transition out)
TransitionEvents.TriggerTransitionOut("Magma", 1.5f);
// Reveal the screen (transition in)
TransitionEvents.TriggerTransitionIn("Magma", 1.0f);
The first parameter is the Transition ID string — it must match the value set on the TransitionToolkit component exactly (case-sensitive). The second parameter is the duration in seconds.
When a transition event fires, every active TransitionToolkit instance in the scene checks whether its Transition ID matches. The matching preset plays the effect; all others immediately clear to a transparent state. This means you can have multiple presets in the same scene — only the targeted one will play.
You can subscribe to transition events to respond when transitions are triggered elsewhere in your code. Always store the delegate so you can unsubscribe later and avoid memory leaks:
private System.Action<string, float> _onOut;
void OnEnable()
{
_onOut = (effectName, duration) =>
Debug.Log($"Transition out: {effectName} over {duration}s");
TransitionEvents.OnTransitionOut += _onOut;
}
void OnDisable()
{
TransitionEvents.OnTransitionOut -= _onOut;
}
If you have a direct reference to a TransitionToolkit component, you can control it without the event system:
TransitionToolkit transition = GetComponent<TransitionToolkit>();
transition.TransitionOut(1.5f); // Cover the screen
transition.TransitionIn(1.0f); // Reveal the screen
transition.ClearEffect(); // Immediately clear to transparent
| Method | Description |
|---|---|
TransitionOut(float duration) | Animate from revealed to covered over the given duration. |
TransitionIn(float duration) | Animate from covered to revealed over the given duration. |
ClearEffect() | Immediately set to fully transparent (revealed state). |
| Property | Type | Description |
|---|---|---|
PresetId | string (read-only) | The Transition ID used for event matching. |
EffectName | string (read-only) | Same as PresetId. Implements the ITransitionEffect interface. |
AutoSaveToPrefab | bool (read-only) | Whether play mode changes should be auto-saved. |
A common use case is covering the screen during a scene load:
IEnumerator LoadScene()
{
TransitionEvents.TriggerTransitionOut("Magma", 1.0f);
yield return new WaitForSeconds(1.0f);
yield return SceneManager.LoadSceneAsync("NextScene");
TransitionEvents.TriggerTransitionIn("Magma", 1.0f);
}
DontDestroyOnLoad on the Canvas GameObject so the transition persists across scene loads. Since the Canvas uses Screen Space - Overlay, it renders independently of the scene content below.Start with FBM Noise. Enable Sparks + Blobs + Filaments + Warp. Set the Effect Color to a bright orange (HDR intensity around 2–3). Enable Flow for flowing lava. See the TK_Magma preset.
Start with FBM Noise. Enable Filaments and set Bias to 1 for vertical tendrils. Enable Warp. Use a green or earthy Effect Color. Set Linearity around 0.4–0.6 so the growth spreads organically. See TK_Overgrowth.
Start with Grid Cells and choose Hex grid type. Keep secondary features off for a clean look. Set a cyan or electric blue Effect Color with high HDR intensity. Low Edge Width (around 0.03–0.05) keeps it crisp. See TK_Honeycomb.
Start with Sine Wave or Curtain. Enable Flow to add a second layer of motion on top of the built-in animation. Higher Linearity values let the wave pattern dominate the sweep. See TK_Plasma or TK_Aurora.
Start with FBM Noise Sharp. Enable Blobs for spreading corrosion spots. Use a warm orange or brown Effect Color. Higher Pattern Scale (12–20) creates finer detail. See TK_Rust.
Start with any geometric pattern like Grid Cells or Voronoi Cells. Enable Warp with a high strength (0.5–0.8) to distort the clean edges into organic, melted shapes. See TK_Meltdown.
Start with FBM Noise Sharp or Ridged Noise. Enable all five features at once — Sparks, Blobs, Filaments, Warp, and Flow. Push vibrant HDR colors. See TK_Havoc or TK_Venom.
The demo scene is located at Assets/R2RGames/TransitionToolkit/Demo/Transitions.unity.
It contains a TransitionCarousel component that automatically cycles through all preset transitions. Each cycle plays a transition out (covering the screen), pauses briefly, then transitions back in (revealing the screen).
Controls:
The current preset name is displayed on screen. The carousel uses the same TransitionEvents system described in the Scripting API section, targeting each preset by its Transition ID.
The demo is a good way to see all the presets in action and understand the timing of the in/out cycle. You can also enable Autosave Changes on any preset and tweak values during Play Mode to experiment.
Cause: The preset prefab isn't set up correctly in the scene.
Solution:
RawImage component has the ToolkitTransition material assigned.Cause: A transition out was triggered but no transition in followed.
Solution: After calling TriggerTransitionOut, call TriggerTransitionIn with the same Transition ID once you're ready to reveal the screen. Alternatively, call ClearEffect() on the component for an immediate reveal.
Cause: Multiple presets have the same Transition ID, or the ID string doesn't match what you're triggering.
Solution: Check that each preset in your scene has a unique Transition ID. The comparison is case-sensitive — "magma" and "Magma" are different.
Cause: The Effect Color intensity is at 1.0 and there's no bloom post-processing.
Solution: Increase the Effect Color HDR intensity above 1.0 (try 2–4). For the glow to be visible, you need bloom enabled in your post-processing volume (URP) or post-processing stack (Built-in).
Cause: The transition Canvas renders on top of everything.
Solution: Adjust the Canvas Sort Order to control layering. A higher sort order renders on top. Place the transition Canvas above your game content but below any UI you want to remain visible (like a loading indicator).
Cause: The Autosave Changes toggle is not enabled on the preset you're editing.
Solution: Select the preset in the scene (not the prefab asset) and enable Autosave Changes at the bottom of the TransitionToolkit Inspector before entering Play Mode.
Yes. The shader contains both a URP SubShader and a Built-in SubShader. Unity selects the correct one automatically based on your project's render pipeline — you don't need to configure anything.
Yes. Place multiple preset prefabs under your Canvas. When you trigger a transition by Transition ID, only the matching preset plays — all others clear to transparent. You can have as many presets available as you like.
Trigger transition out, load the new scene asynchronously, then trigger transition in once the scene is ready. Since the transition Canvas uses Screen Space - Overlay, it persists across scene loads if you call DontDestroyOnLoad on the Canvas GameObject. See the Scene Loading Pattern in the Scripting API section for a code example.
Yes. The TransitionToolkit component reads its settings every frame, so you can modify any serialized property at runtime via script and see the change immediately. You can also adjust values in the Inspector during Play Mode — with Autosave Changes enabled, your tweaks are preserved.
Set Linearity to 1.0. This makes the transition entirely pattern-driven — pixels activate based on the noise or cell pattern alone, with no directional bias.
At Bias 0, filaments use isotropic ridged noise — they look like marble veins or lava channels, branching in all directions. At Bias 1, they stretch into vertical tendril-like strands, giving an organic overgrowth or root system look. Values in between blend the two styles.
The TransitionToolkit component is designed to work with Unity's UI system (Canvas + RawImage). It needs a RawImage to render the transition effect. The Canvas should be set to Screen Space - Overlay for full-screen transitions.
Yes. If you also own the Stage Manager package, Transition Toolkit presets work as transition effects within Stage Manager graphs. Both packages share a common event interface (ITransitionEffect and TransitionEvents), so transitions triggered by Stage Manager automatically activate the matching Transition Toolkit preset.