com.unity.learn.iet-framework 2.0.0-pre.5
Notes: processedReleased May 18, 2021
Unity Compatibility
Minimum Unity: 2019.4
Package Dependencies
✨ 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.
