docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Class TutorialWindow

    The window used to display tutorials and their content

    Inheritance
    object
    Object
    ScriptableObject
    EditorWindow
    TutorialWindow
    Inherited Members
    EditorWindow.focusedWindowChanged
    EditorWindow.BeginWindows()
    EditorWindow.EndWindows()
    EditorWindow.ShowNotification(GUIContent)
    EditorWindow.ShowNotification(GUIContent, double)
    EditorWindow.RemoveNotification()
    EditorWindow.ShowTab()
    EditorWindow.Focus()
    EditorWindow.ShowUtility()
    EditorWindow.ShowPopup()
    EditorWindow.ShowModalUtility()
    EditorWindow.ShowAsDropDown(Rect, Vector2)
    EditorWindow.Show()
    EditorWindow.Show(bool)
    EditorWindow.ShowAuxWindow()
    EditorWindow.ShowModal()
    EditorWindow.GetWindow(Type, bool, string, bool)
    EditorWindow.GetWindow(Type, bool, string)
    EditorWindow.GetWindow(Type, bool)
    EditorWindow.GetWindow(Type)
    EditorWindow.GetWindowWithRect(Type, Rect, bool, string)
    EditorWindow.GetWindowWithRect(Type, Rect, bool)
    EditorWindow.GetWindowWithRect(Type, Rect)
    EditorWindow.GetWindow<T>()
    EditorWindow.GetWindow<T>(bool)
    EditorWindow.GetWindow<T>(bool, string)
    EditorWindow.GetWindow<T>(string)
    EditorWindow.GetWindow<T>(string, bool)
    EditorWindow.GetWindow<T>(bool, string, bool)
    EditorWindow.GetWindow<T>(params Type[])
    EditorWindow.GetWindow<T>(string, params Type[])
    EditorWindow.GetWindow<T>(string, bool, params Type[])
    EditorWindow.CreateWindow<T>(params Type[])
    EditorWindow.CreateWindow<T>(string, params Type[])
    EditorWindow.HasOpenInstances<T>()
    EditorWindow.FocusWindowIfItsOpen(Type)
    EditorWindow.FocusWindowIfItsOpen<T>()
    EditorWindow.GetWindowWithRect<T>(Rect)
    EditorWindow.GetWindowWithRect<T>(Rect, bool)
    EditorWindow.GetWindowWithRect<T>(Rect, bool, string)
    EditorWindow.GetWindowWithRect<T>(Rect, bool, string, bool)
    EditorWindow.SaveChanges()
    EditorWindow.DiscardChanges()
    EditorWindow.Close()
    EditorWindow.Repaint()
    EditorWindow.SendEvent(Event)
    EditorWindow.GetExtraPaneTypes()
    EditorWindow.TryGetOverlay(string, out Overlay)
    EditorWindow.dataModeController
    EditorWindow.rootVisualElement
    EditorWindow.overlayCanvas
    EditorWindow.wantsMouseMove
    EditorWindow.wantsMouseEnterLeaveWindow
    EditorWindow.wantsLessLayoutEvents
    EditorWindow.autoRepaintOnSceneChange
    EditorWindow.maximized
    EditorWindow.hasFocus
    EditorWindow.docked
    EditorWindow.focusedWindow
    EditorWindow.mouseOverWindow
    EditorWindow.hasUnsavedChanges
    EditorWindow.saveChangesMessage
    EditorWindow.minSize
    EditorWindow.maxSize
    EditorWindow.title
    EditorWindow.titleContent
    EditorWindow.depthBufferBits
    EditorWindow.antiAlias
    EditorWindow.position
    EditorWindow.windowFocusChanged
    ScriptableObject.SetDirty()
    ScriptableObject.CreateInstance(string)
    ScriptableObject.CreateInstance(Type)
    ScriptableObject.CreateInstance<T>()
    Object.GetInstanceID()
    Object.GetHashCode()
    Object.Equals(object)
    Object.InstantiateAsync<T>(T)
    Object.InstantiateAsync<T>(T, Transform)
    Object.InstantiateAsync<T>(T, Vector3, Quaternion)
    Object.InstantiateAsync<T>(T, Transform, Vector3, Quaternion)
    Object.InstantiateAsync<T>(T, int)
    Object.InstantiateAsync<T>(T, int, Transform)
    Object.InstantiateAsync<T>(T, int, Vector3, Quaternion)
    Object.InstantiateAsync<T>(T, int, ReadOnlySpan<Vector3>, ReadOnlySpan<Quaternion>)
    Object.InstantiateAsync<T>(T, int, Transform, Vector3, Quaternion)
    Object.InstantiateAsync<T>(T, int, Transform, Vector3, Quaternion, CancellationToken)
    Object.InstantiateAsync<T>(T, int, Transform, ReadOnlySpan<Vector3>, ReadOnlySpan<Quaternion>)
    Object.InstantiateAsync<T>(T, int, Transform, ReadOnlySpan<Vector3>, ReadOnlySpan<Quaternion>, CancellationToken)
    Object.InstantiateAsync<T>(T, InstantiateParameters, CancellationToken)
    Object.InstantiateAsync<T>(T, int, InstantiateParameters, CancellationToken)
    Object.InstantiateAsync<T>(T, Vector3, Quaternion, InstantiateParameters, CancellationToken)
    Object.InstantiateAsync<T>(T, int, Vector3, Quaternion, InstantiateParameters, CancellationToken)
    Object.InstantiateAsync<T>(T, int, ReadOnlySpan<Vector3>, ReadOnlySpan<Quaternion>, InstantiateParameters, CancellationToken)
    Object.Instantiate(Object, Vector3, Quaternion)
    Object.Instantiate(Object, Vector3, Quaternion, Transform)
    Object.Instantiate(Object)
    Object.Instantiate(Object, Scene)
    Object.Instantiate<T>(T, InstantiateParameters)
    Object.Instantiate<T>(T, Vector3, Quaternion, InstantiateParameters)
    Object.Instantiate(Object, Transform)
    Object.Instantiate(Object, Transform, bool)
    Object.Instantiate<T>(T)
    Object.Instantiate<T>(T, Vector3, Quaternion)
    Object.Instantiate<T>(T, Vector3, Quaternion, Transform)
    Object.Instantiate<T>(T, Transform)
    Object.Instantiate<T>(T, Transform, bool)
    Object.Destroy(Object, float)
    Object.Destroy(Object)
    Object.DestroyImmediate(Object, bool)
    Object.DestroyImmediate(Object)
    Object.FindObjectsOfType(Type)
    Object.FindObjectsOfType(Type, bool)
    Object.FindObjectsByType(Type, FindObjectsSortMode)
    Object.FindObjectsByType(Type, FindObjectsInactive, FindObjectsSortMode)
    Object.DontDestroyOnLoad(Object)
    Object.DestroyObject(Object, float)
    Object.DestroyObject(Object)
    Object.FindSceneObjectsOfType(Type)
    Object.FindObjectsOfTypeIncludingAssets(Type)
    Object.FindObjectsOfType<T>()
    Object.FindObjectsByType<T>(FindObjectsSortMode)
    Object.FindObjectsOfType<T>(bool)
    Object.FindObjectsByType<T>(FindObjectsInactive, FindObjectsSortMode)
    Object.FindObjectOfType<T>()
    Object.FindObjectOfType<T>(bool)
    Object.FindFirstObjectByType<T>()
    Object.FindAnyObjectByType<T>()
    Object.FindFirstObjectByType<T>(FindObjectsInactive)
    Object.FindAnyObjectByType<T>(FindObjectsInactive)
    Object.FindObjectsOfTypeAll(Type)
    Object.FindObjectOfType(Type)
    Object.FindFirstObjectByType(Type)
    Object.FindAnyObjectByType(Type)
    Object.FindObjectOfType(Type, bool)
    Object.FindFirstObjectByType(Type, FindObjectsInactive)
    Object.FindAnyObjectByType(Type, FindObjectsInactive)
    Object.ToString()
    Object.name
    Object.hideFlags
    object.Equals(object, object)
    object.GetType()
    object.ReferenceEquals(object, object)
    Namespace: Unity.Tutorials.Editor
    Assembly: Unity.Tutorials.Editor.dll
    Syntax
    public sealed class TutorialWindow : EditorWindow

    Properties

    CurrentContainer

    The category of which tutorial are being displayed. Null if the project and its packages contains no categories, meaning all tutorials are being displayed.

    Declaration
    public TutorialContainer CurrentContainer { get; }
    Property Value
    Type Description
    TutorialContainer

    CurrentTutorial

    The currently active tutorial, if any.

    Declaration
    public Tutorial CurrentTutorial { get; }
    Property Value
    Type Description
    Tutorial

    Instance

    The active instance of this window

    Declaration
    public static TutorialWindow Instance { get; set; }
    Property Value
    Type Description
    TutorialWindow

    IsTransitioningBetweenTutorials

    Are we currently (during this frame) transitioning from one tutorial to another?

    Declaration
    public bool IsTransitioningBetweenTutorials { get; }
    Property Value
    Type Description
    bool
    Remarks

    This transition typically happens when using a Switch Tutorial button on a tutorial page.

    Methods

    ClearLocalizationCache()

    Clear localization table cache

    Declaration
    public static void ClearLocalizationCache()

    ExitTutorial()

    Exits the current tutorial

    Declaration
    public static void ExitTutorial()

    ShowWindow()

    Shows Tutorials window using the currently specified behaviour.

    Declaration
    public static TutorialWindow ShowWindow()
    Returns
    Type Description
    TutorialWindow

    The the created, or already existing, window instance.

    Remarks

    Different behaviors:

    1. If a single root tutorial container (TutorialContainer.ParentContainer is null) that has Project Layout specified exists, the window is loaded and shown using the specified project window layout (old behaviour). If the project layout does not contain Tutorials window, the window is shown an as a free-floating window.
    2. If no root tutorial containers exist, or a root container's Project Layout is not specified, the window is shown by anchoring and docking it next to the Inspector (new behaviour). If the Inspector is not available, the window is shown an as a free-floating window.
    3. If there is more than one root tutorial container with different Project Layout setting in the project, one asset is chosen randomly to specify the behavior.
    4. If Tutorials window is already created, it is simply brought to the foreground and focused.

    ShowWindow(bool)

    Main logic for ShowWindow()

    Declaration
    public static TutorialWindow ShowWindow(bool shouldRefreshLayout)
    Parameters
    Type Name Description
    bool shouldRefreshLayout

    Whether or not we should reset the layout to the basic tutorial layout. Should be false when loading a tutorial step and true when first initializing the tutorial window.

    Returns
    Type Description
    TutorialWindow

    The TutorialWindow, created or found open.

    StartTutorial(Tutorial)

    Starts a tutorial as if it was clicked in the Table of content.

    Declaration
    public static void StartTutorial(Tutorial tutorial)
    Parameters
    Type Name Description
    Tutorial tutorial

    The tutorial to start

    Extension Methods

    EditorWindowUtils.DockWindow(EditorWindow, EditorWindow, EditorWindowUtils.DockPosition)
    In This Article
    Back to top
    Copyright © 2026 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)