com.unity.learn.iet-framework 2.0.0-pre.5

com.unity.learn.iet-framework

Notes: processedReleased May 18, 2021

Browse versions

PreviousNext

Unity Compatibility

Minimum Unity: 2019.4

Features

  • Added support for multiple `TutorialContainer` assets within a project, allowing multiple set of tutorials ("tutorial projects") for the user to choose from.
  • Checkbox to enable progress tracking in tutorials. Enabling progress tracking generates a GUID for the tutorial's **Lesson Id** automatically.
  • UI: Added **Select Container** button to the authoring toolbar. This button selects the currently effective tutorial container in the project.
  • UI: Added **Tutorials** > **Welcome Dialog** menu item for accessing the possible welcome dialog of the project conveniently at all times.
  • UI: Added custom editor views for `TutorialProjectSettings` and `TutorialStyles` assets.
  • `Tutorial`: Added `Quit` event.
  • `Criterion`: Added `Completed` and `Invalidated` events.
  • `TutorialPage`: Added `CriteriaValidated`, `MaskingSettingsChanged`, and `NonMaskingSettingsChanged` events.

📈 Improvements

  • Tutorial logic: Tutorials are not shown as completed until the criteria of its last page are completed.
  • UI: Tutorial cards do not have completion markers unless progress tracking is enabled.
  • UI: Improved tutorial page's **Custom Callbacks** authoring view by making it more compact.
  • UI: Cleaned up and restructured the **Tutorials** menu, authoring-related items can be now found under the **Tutorials** > **Authoring** submenu.
  • UI: Changed authoring toolbar's buttons to use icons instead of text labels.
  • Scripting API: Made `TutorialManager` part of the public API of the package.
  • **Breaking change**: Split `UnityEngine.InteractiveTutorialsFramework` assembly into `Unity.InternalAPIEditorBridge.007` and `Unity.InternalAPIEngineBridge.007`.
  • Note that these assemblies are only for internal use and they should not be depended on.
  • **Breaking change**: Made `LocalizationDatabaseProxy`, `GUIViewProxy`, and `POFileUtils` classes internal.
  • **Breaking change**: Renamed `Whitespace` to `WhiteSpace` in `StringExtensions` and `StringExt` function names.
  • **Breaking change**: Changed tutorial assets' events to use the `UnityEvent` class instead of the standard C# `event` implementation.
  • **Breaking change**: Made the following functions internal or private:
  • - `Tutorial`: constructor
  • - `TutorialPage`: `OnPageCompleted`, `RaiseOnBeforePageShownEvent`, `RaiseOnAfterPageShownEvent`, `UpdateFutureObjectReferenceName`, and `ResetUserProgress`
  • - `UserStartupCode`: `IsInitialized` and `SetInitialized`
  • **Breaking change**: Renamed `Tutorial` class's `TutorialInitiated` to `Initiated` (event), `TutorialCompleted` to `Completed` (event), and `Completed` to `IsCompleted` (get-property).
  • **Breaking change**: Renamed `Criterion` class's `Completed` property to `IsCompleted`.
  • **Breaking change**: Renamed the following event-raising functions:
  • - `Tutorial.RaiseTutorialModifiedEvent` to `RaiseTutorialModified`
  • - `TutorialPage.RaiseTutorialPageMaskingSettingsChangedEvent` to `RaiseMaskingSettingsChanged`
  • - `TutorialPage.RaiseTutorialPageNonMaskingSettingsChangedEvent` to `RaiseNonMaskingSettingsChanged`
  • - `TutorialWelcomePage.RaiseModifiedEvent` to `RaiseModified`
  • - `TutorialContainer.RaiseModifiedEvent` to `RaiseModified`
  • **Breaking change**: Renamed `TutorialWindowMenuItem` to `MenuItems`.

API Changes

  • Omitted tests from the package.
  • Documentation: Excluded `*.Tests` and `SerializableCallback` namespaces from the Scripting API documentation.
  • UI: Removed the searchable menu that was added in 2.0.0-pre.3 in Unity 2019, as the menu implementation was causing serialization issues for the tutorial assets.
  • **Breaking change**: Removed `ScriptableObjectUtils` class.
  • **Breaking change**: Removed `Tutorial.TutorialPagesModified` event and `RaiseTutorialPagesModified` function, superseded by the `Modified` event.
  • **Breaking change**: Removed `Tutorial.SkipTutorialBehavior`.
  • **Breaking change**: Removed `TutorialProjectSettings.StartupTutorial`. This functionality can be now implemented by using `TutorialManager.StartTutorial()` if wanted.

🔧 Bug Fixes

  • Authoring: Fixed `TutorialCallbacks.asset` not being guaranteed to be created in the same folder as `TutorialCallbacks.cs` when using the **Create Callback Handler** button.
  • UI: Fixed the **Next** button's state (enabled/disabled) to match the completion criteria of a tutorial page in cases where the criteria are invalidated after the initial completion.
  • UX: Fixed unnecessary window layout restoring when when quitting a tutorial which did not have a window layout set.
  • Fixed "Editing of Tutorial Pages no longer works on pages that have a Criterion" (case 1332176)
  • Fixed `OnBeforePageShown` and `OnAfterPageShown` events not being raised for the first page of a tutorial when starting the tutorial.