The tutorial framework hub allows you to quickly generate in-unity tutorials that derive most of their content from your already existing documentation markdown files, such as your README.md. Once completed, the tutorial hub can be opened via the menu item: Meta > Tutorial Hub > Show Hub.
You can integrate this package into your own project by using the Package Manager to add the following Git URL:
https://github.com/meta-quest/Unity-UtilityPackages.git?path=com.meta.tutorial.framework- With the Meta Tutorial Framework imported into your project, add
META_EDIT_TUTORIALSto the project’s Scripting Define Symbols, under the Project Settings tab’s Player section, and apply. - After Unity refreshes, you should find several new dropdown menu items:
- Meta > Tutorial Hub > Toggle Edit Tutorials > Disable
Removes theMETA_EDIT_TUTORIALSdefine, and prevents tutorials from being edited or authored - Right click in Assets panel > Meta Hub Tutorial > Tutorial Config
- Right click in Assets panel > Meta Hub Tutorial > Tutorial Markdown Context
- Right click in Assets panel > Meta Hub Tutorial > Tutorial References Context
- Meta > Tutorial Hub > Toggle Edit Tutorials > Disable
- Author your tutorial by creating a config first, then associate it with any new tutorial context that you create to ensure your tutorial pages appear grouped together, since the hub is capable of showing more than one tutorial.
- Preview your results via: Meta > Tutorial Hub > Show Hub.
- Once you are happy with the tutorial you’ve created, delete the pages folder that is created right next to the context files, and open the tutorial one more time to ensure all generated page assets have been correctly created and associated with all necessary components.
- Disable tutorial editing mode using the menu item mentioned above.
You can always regenerate a page by pressing the Generate button in the inspector of the context while in Edit mode. It will delete all pages related to that context and generate the updated pages. This is useful when changing settings on the context.
It is also possible to regenerate the all context related to a tutorial config with the Generate All button in the inspector of the TutorialConfig file.
Finally you can also regenerate all config and their related contexts by using the Meta > Tutorial Hub > Edit Tutorials > Regenerate All Configs menu item.
| Field | Description |
|---|---|
| Title | The name of the page that is listed in the nav bar on the left |
| Priority | Used to determine the order of the page in the list. Lower values appear closer to the top. |
| Tutorial Config | Must be assigned |
| Show Banner | Determines whether or not to render the banner at the top of the page when the page is selected |
| Markdown Path | Path to .md file that will populate this page and/or child pages. Path is relative to project root (parent of Assets folder). Once a valid path is entered, the Page Configs field will populate with all sections separated by level 1 headers. |
| Page Configs | Section titles cannot be renamed, but the checkboxes for each can be edited. Currently there are only 2 supported modes of use: All (or some) sections are marked to appear in context, and none are marked to appear as children. All (or some) sections are marked to appear as children, and none are marked to appear in context. Combining content to appear in both modes may produce unintended behaviors. |
| Field | Description |
|---|---|
| Title | The name of the page that is listed in the nav bar on the left |
| Priority | Used to determine the order of the page in the list. Lower values appear closer to the top. |
| Tutorial Config | Must be assigned |
| Show Banner | Determines whether or not to render the banner at the top of the page when the page is selected |
| References | Entries in this list can be used to highlight and select assets or scene objects. Each one gets a header(1), a description(2), and a reference(3) that needs to be set up. By default, that field is set to the Reference Type of Serialized Object(4), and the Object field is empty. You can drag & drop both assets and scene GameObjects into that Object field. If you drag a GameObject, it will reconfigure the Reference Type to Scene Object and write out the object’s path in the Name field. |
| Field | Description |
|---|---|
| Title | The name of the page that is listed in the nav bar on the left |
| Priority | Used to determine the order of the page in the list. Lower values appear closer to the top. |
| Tutorial Config | Must be assigned |
| Show Banner | Determines whether or not to render the banner at the top of the page when the page is selected |
| GitHub Url | The url to the GitHub repository. (If empty, the github section will be hidden) |
| Show MQDH Link | Determines whether or not we show the section to send users to MQDH feedback page through deeplink. |


