Thank you for choosing Easy Transition! This asset is a powerful and flexible system for creating professional, animated scene transitions in your Unity project, built on a robust ScriptableObject architecture.
Time.timeScale is set to 0.TransitionEffect class.SceneTransitioner prefab from Easy Transition/Prefabs/ into your first scene (e.g., your Main Menu).Create -> Easy Transition to create a new Fade Effect, Wipe Effect, etc. Select this new asset and configure its settings in the Inspector.// 1. Load by Scene Name
SceneTransitioner.Instance.LoadScene("YourSceneName", yourTransitionEffect);
// 2. Load by Build Index
SceneTransitioner.Instance.LoadScene(1, yourTransitionEffect);
// 3. Play a transition without changing scenes (pass an Action for the midpoint)
SceneTransitioner.Instance.PlayTransition(YourCustomMethod, yourTransitionEffect); Done! See the Demo Scene in Assets/Easy Transition/Demo/Scenes/ for an interactive live sandbox.
The core of this asset is the TransitionEffect ScriptableObject. Instead of having one complex manager, you create small, reusable "Effect" assets in your project. This allows you to create many different transition styles and variations easily without coding.
For example, you can create a "FastWipe.asset" and a "SlowWipe.asset" from the same WipeEffect script, just with different duration or smoothness values.
SceneTransitioner Prefab: The "brain" of the system. A singleton that persists across scenes and runs the transitions. You only need one in your very first scene.TransitionEffect Scripts: The ScriptableObject assets that define what a transition looks like (e.g., FadeEffect, CircleEffect).TransitionEventListener Script: A helper component used to safely link local scene objects (like UI or AudioSources) to the global transition events without causing missing reference errors when scenes reload.OnTransitionStart, OnFadeOutComplete, OnSceneLoaded, OnFadeInStart, OnTransitionFinished) allowing you to easily sync sound, UI, or gameplay logic with the transition lifecycle.You can configure your transitions globally or on a case-by-case basis:
1. Default Transitions:
Set the "Default Transition" field on the SceneTransitioner prefab. If you call LoadScene() without specifying an effect, this one will be used automatically.
2. Per-Transition Override:
Pass a specific TransitionEffect asset directly into the LoadScene() or PlayTransition() method. This is the recommended approach.
3. Canvas Setup (VR & Sorting):
On the SceneTransitioner prefab, you can adjust the Render Mode. Standard games should use ScreenSpaceOverlay. If you are developing for VR, switch this to ScreenSpaceCamera and assign your main camera. You can also adjust the Canvas Sorting Order here to ensure transitions always render on top of your UI.
You can easily create your own effects:
TransitionEffect.AnimateOut and AnimateIn methods.[CreateAssetMenu] attribute to your new class.You can look at FadeEffect.cs or WipeEffect.cs for a clear example of how to interact with the material properties.
A: The SceneTransitioner automatically creates its own Canvas with a very high "Sort Order" (999). If you are using multiple Canvases with custom Sort Orders, you can increase the Sort Order setting directly on the SceneTransitioner prefab.
A: Yes! On the SceneTransitioner prefab, change the Canvas Render Mode from ScreenSpaceOverlay to ScreenSpaceCamera and assign your player's camera (Tested on Meta Quest 2). The system will automatically handle the rest.
A: Attach the TransitionEventListener component to any object in your scene. You can plug your local AudioSources or ParticleSystems directly into its UnityEvents in the Inspector. It safely connects to the global manager without throwing errors when the scene unloads, and even includes a handy PlayGlobalSound() method.
A: No. The transition system uses unscaled time, meaning it will animate smoothly even if Time.timeScale is set to 0 (perfect for pause menus or dramatic slow-motion effects).
A: By default, no. The SceneTransitioner automatically enables a hidden CanvasGroup that safely blocks all raycasts/clicks during the entire transition pipeline. You can disable this behavior by unchecking "Block UI Interaction" on the prefab.
A: Look at DemoAudioManager.cs in the Demo folder for a clean example of how to use the UnityEvents to mathematically fade your music out and in, perfectly synced with the screen transition.
If Easy Transition saves you time and helps your project, please consider leaving a 5-star review on the Asset Store page. It helps the asset grow immensely.
Email is the fastest way to reach me. If you encounter any bugs, need help, or have feature requests, please contact me directly before leaving a review so I can resolve it for you immediately:
pixeladderdev@gmail.com
(Please include "[Easy Transition]" in the email subject line so it doesn't get caught in spam.)