Content Development
The simpleAR Pro Content Development Guide is intended for Developers looking to create interactive XR (Extended Reality) Experiences using the simpleAR Pro Platform.
Prereqs
- Installation of Unity and simpleAR Pro
- Familiarity with Unity Essentials
Sequence Editor
The Sequence Editor sits at the heart of interactive content development with simpleAR Pro. simpleAR Pro experiences are composed of Sequences that control the steps and logic and interactivity in the application.
- To launch the Sequence Editor, select SimpleAR Pro > Sequence Editor from the top toolbar
Info
There are 2 types of Sequences in simpleAR Pro including:
- Step Sequences: Step Sequences define the order and instructional text of Steps of an interactive experience.
- Directive Sequences: Directive Sequences define the logic of what happens in a particular Step of an interactive experience.
Step Sequences
Step Sequences define the order and instructional text of Steps of an interactive experience.
- To create a Step Sequence, select the Step Sequence option from "+" menu from the Sequence Editor
- Name the Step Sequence, and select the Create button
By default, the following Step Nodes are created in the Step Sequence:
| Name | Description | Input(s) | Output(s) |
|---|---|---|---|
| Start Step Node | This node is called when the Step Project is initiated | n/a | Start Project - connects to the first step |
| End Step Node | This node is called when the Step Project is completed | End Project - connects to the last step in the project / sequence | n/a |
Step Sequence Options
Step Sequence options can be adjusted when the Step Sequence is selected in the Unity Hierarchy and the Inspector is visible.
| Option | Description |
|---|---|
| Project Name | This is the name of the Step Project / Sequence. For a given Unity Scene, multiple Step Projects which map to Step Sequences can be created. Names should be unique. |
| Format of Steps | This option determines the instructional text organization for each step. Different formats map to different levels of detail for instruction text / subtext. |
Note
the Basic Step type is recommended in most cases which includes fields for a a Step Title, Instruction Title, and Instruction.
Adding Steps
- To add a Step Node to the Step Sequence, right click in the graph editor and select the New Step option
- To edit the Step's instructional content, select the node and update the node's
Step Informationin the Unity Inspector - To change the step order, drag a Connection from the node input on the left or output socket on the right
Note
To change the Step Node's name, right click over the Step Node and Select the Rename Step option.
Adding Step Conditions
Conditions enable an Author to jump to a specific project Step when the condition is triggered.
- To add a Condition, select the Add a Condition button from the Inspector
Note
To link a Condition to a Step, right click on any output socket on the Any Step Node in the graph editor and select the desired Condition. Drag the output connection into the desired input connection for the Step you want to trigger when the Condition is true.
Directive Sequences
Directive Sequences define the logic of what happens in a particular Step of an interactive experience.
- To create a Directive Sequence, select the Directive Sequence option from "+" menu from the Sequence Editor
- Name the Directive Sequence, and select the Create button
Info
Directive Sequences can also be created by selecting the Add button on a Step Node when adding a Step Sequence. Adding a Step Sequence using this method will create a link between the Step Sequence and Directive Sequence to more easily switch between the two in the Sequence Editor.
Adding Directives to the Graph
- To add a Directive to a Directive Sequence, right click on the graph and use the menu to search for the desired Directive
Note
All Directives are searchable via intellitype. Start typing the name of the Directive when invoking the Directives menu to fuzzy search for the Directive.
Info
Directives have inputs, outputs, and variables. The functionality of each Directive, and a description of what each variable controls are described in the Directive Documentation in the simpleAR Pro App.
Directive Types
There are various Directive Types with different capabilities:
| Directive Type | Description |
|---|---|
Initiator |
When an Initiator is triggered, a Directive Sequence begins |
Action |
An Action is called after an initiator and can receive and pass execution in a sequence |
Modifier |
Modifiers can modify data from other nodes in a sequence when called |
Condition |
Conditions can evaluate true and false and only pass execution when true |
Data |
Data Directives can hold and manipulate data for various types and pass their values to other Directives in a sequence |
Note |
Notes are just descriptive footnotes in a Sequence that can describe functionality or intent of the Author |
Directive Documentation
Documentation for all of the Directives in simpleAR Pro are listed directly in the application.
- To access the Directive documentation, select SimpleAR Pro > Documentation from the top toolbar menu item in Unity
IMRSA Import
The simpleAR IMRSA Import tool allows a user to bring in IMRSA compliant projects into Unity and simpleAR Pro, speeding up the process for creating or enhancing procedures, and providing interoperability between other software solutions such as ARCreate).
Important
Any IMRSA project assets such as files or content must be in the same directory as your IMRSA xml file in order to be imported.
To start using the IMRSA Import:
- Open the Unity Scene you wish to import the IMRSA project into
- From the Unity top toolbar, select IMRSA->Utilities->Manager
- In the IMRSA Manager, set the
Actiondropdown to Import andFormatto XML - Press the Select File button and from the open file window, select your project's IMRSA xml file
- Press the Import button and wait for the import to complete
On import a named folder structure will be created from your IMRSA file and bring in any associated content, such as narration or images/video into the Unity project. The import will additionally covert the IRMSA steps and instructions into Step Nodes and a connected simpleAR Step Sequence. For each step, a Directive Sequence will be created and add associated content Directives from that step.
Note
At this time the IMRSA import supports automatic creation of Directives for Audio Narration assets only.
SimpleAR Toolbox
The simpleAR Toolbox enables adding reusable assets w/ various XR configurations for common simpleAR Pro project instructional and simulation needs. Each toolbox asset is a Unity Asset Prefab that can be reused in your project's scenes.
The main Toolbox asset categories include:
| Type | Description |
|---|---|
UI |
Assets for handling UI in XR scenarios |
Locomotion |
Assets for handling locomation and movement in XR scenerios |
Tools |
General utility assets for XR simulation and training |
Other |
Catch-all for other non-conforming assets |
Access the simpleAR Toolbox
- To launch the simpleAR Pro Toolbox, select SimpleAR Pro > SimpleAR Toolbox from the top toolbar menu item in Unity
Get simpleAR Pro Toolbox Assets
To get simpleAR Pro toolbox assets to add to your project:
-
Go to the downloads page and find the desired Toolbox Asset Unity Package to add to your project
-
Once you've downloaded the package, follow Unity's asset package process to add the assets to your simpleAR Toolbox
Toolbox Standard Assets
The Toolbox Standard Assets are designed to satisfy a range of XR instructional training needs for content developers using simpleAR Pro across a range of platforms and XR libraries such as MRTK, and XR Interaction Toolkit.
The Standard Assets consist of Panels with functionality that's driven by simpleAR Pro with configurable XR and non-XR settings to suit your instructional project's needs.
Standard Asset Component Architecture
All Standard Assets include the following components at the root level of the GameObject:
| Component | Description |
|---|---|
Standard Panel |
This component is used style visual elements of the panel and handle the desired XR configuration |
[Panel Type] Features |
This component is used to control the included features of the selected panel type and setup the panel for use w/ simpleAR Pro |
Standard Asset Info |
Metadata for the panel that's used by the SimpleAR Toolbox to properly categorize the asset in the UI |
Standard Panel Component
The Standard Panel Component attached to simpleAR Standard Assets enables the content developer to control the panels visual and UI elements as well core shared behaviors for all Standard Assets.
The Standard Panel Component includes the following configuration parameters for Panel Setup:
| Parameter | Description |
|---|---|
XR Compatability |
Dynamically adds or removes required components to support a selected XR library such as MRTK2 or XRI |
XR Panel Type |
*For supported XR libraries, changes whether the menu should be Hand Anchored or free in World Space |
Panel Aspect |
Dynamically changes the aspect of the panel in the editor maintaining the correct layout and proportions |
Panel Depth |
Dynamically adjusts the z-depth of child elements in the hierarchy to give more depth to the panel in XR scenarios |
Depth Curve |
Specifies the desired depth by child based on the curve |
XR Compatability
For XR Compatability, the following interactions are supported by default:
- Near Interaction Touch for
buttons/input fields/other UI elements - Far Interaction Click for
buttons/input fields/other UI elements - Bounds Control to indepedently
move/scalepanel - Panel Billboarding to
facethe user
The Standard Panel Component includes the following configuration parameters for Panel Styles:
| Parameter | Description |
|---|---|
Use Custom Styles |
Toggles the ability to use custom styles for the panels UI elements |
Panel Theme |
References a Panel Theme scriptable object to use to style the panel using a primary, secondary color, button colors and logos |
Custom Hover Depth Properties |
Specify custom hover depth properties for on hover rollover button states. |
Enable Hover Depth |
Toggle to enable or disable the hover depth behavior on button rollover states. |
Hover Depth Properties |
The specific properties to affect the behavior of the hover depth button rollover state. |
Instruction Panel
The Standard Instruction Panel Toolbox Asset is for simpleAR Pro project's using the Step Sequencer. The Panel is automatically configured to step through a Step Sequence without any additional requirements.
To start using the Standard Instruction Panel:
- Add it to a Unity Scene containing a simpleAR Step Sequence
- Select the XR Configuration for the panel and setup any customizations to the panel visuals via the Standard Panel Component
- Enable or disable any of the default behaviors for the Instruction Panel (Keep all selected by default)
- Add any additional XR dependencies required by your XR library to your scene
- Run the Scene / Select Play Mode
Note
Compatible Directives are listed on the Component in the Editor. Directives are the standardized way to interact with the panel and manage interactivity.
Main Menu Panel
The Standard Main Menu Panel Toolbox Asset enable configuration of single or multi-level menu navigation systems of simpleAR Pro created content.
Key Parameters for configuration include:
| Parameter | Description |
|---|---|
Menu Type |
Select whether the menu should have a singe or multiple layers of navigation |
Menu Map |
Multi-level menus need a reference to a Menu Map Scriptable Object file to define the hierachical structure |
Grid Properties |
Each page of the menu can display a fixed number of elements, the row and height maximum can be set here. |
Menu Items |
*Each procedure you want in the Main Menu can be defined in this list, properties for each include a scene reference, name, icon and menu path if the Menu Type is set to Multi Level |
To start using the Standard Main Menu Panel:
- Add it to it's own Unity Scene to serve as the Main Menu
- Enable or disable any of the default behaviors for the Main Menu Panel (Keep all selected by default)
- Select the
Menu Typeand add / define an optionalMenu Mapif it'sMulti-Level - Populate the
Menu Itemslist withScenesorModules - Run the Scene / Select Play Mode
Recommended Project Architecture
For simpleAR Pro projects using the Standard Main Menu Panel, individual procedures and Step Sequences should be packaged within standalone Scene files. At the lowest level of menu navigation, the panel will load the Scene either locally or remotely if the Scene was setup as a simpleAR Module.
Video Panel
The Standard Video Panel Toolbox Asset is a panel to display and control Video content in an XR or non-XR environment.
To start using the Standard Video Panel:
- Add it to a Unity Scene containing a simpleAR Step Sequence
- Select the XR Configuration for the panel and setup any customizations to the panel visuals via the Standard Panel Component
- Enable or disable any of the default behaviors for the Video Panel (Keep all selected by default)
- Add any additional XR dependencies required by your XR library to your scene
- Run the Scene / Select Play Mode
Note
Compatible Directives are listed on the Component in the Editor. Directives are the standardized way to interact with the panel and manage interactivity.
Image Panel
The Standard Image Panel Toolbox Asset is a panel to display and control Image content in an XR or non-XR environment.
To start using the Standard Image Panel:
- Add it to a Unity Scene containing a simpleAR Step Sequence
- Select the XR Configuration for the panel and setup any customizations to the panel visuals via the Standard Panel Component
- Enable or disable any of the default behaviors for the Image Panel (Keep all selected by default)
- Add any additional XR dependencies required by your XR library to your scene
- Run the Scene / Select Play Mode
Note
Compatible Directives are listed on the Component in the Editor. Directives are the standardized way to interact with the panel and manage interactivity.
Nav Menu Panel
The Standard Nav Panel Toolbox Asset is a panel to display and dock / undock panels within the current scene / experience module via a Hand Anchored vertical menu.
Note
By default the Standard Nav Panel is configured as a Hand Anchored menu in the Standard Panel Component. This panel can also be configured as a standard World Space menu.
Standard Panels that the Nav Panel interfaces with by default include:
| Panel | Nav Menu Behavior |
|---|---|
Main Menu Panel |
Docks and displays a Main Menu panel |
Adjust Panel |
Currently not implemented, disabled by default. A user-defined panel or asset can be added in it's place. |
Instruction Panel |
Docks and displays an Instruction panel |
References Panel |
Currently not implemented, disabled by default. A user-defined panel or asset can be added in it's place. |
Metrics Panel |
Currently not implemented, disabled by default. A user-defined panel or asset can be added in it's place. |
Settings Panel |
Currently not implemented, disabled by default. A user-defined panel or asset can be added in it's place. |
To start using the Standard Nav Panel:
- Add it to a Unity Scene via the SimpleAR Toolbox where you want access to the Nav Menu (the scene should include other Standard Panel assets)
- Select the Nav Menu Features component in the Unity Inspector when the Nav Menu is highlighted in the Scene Hierarchy
- Expand the Nav Items list if it's collapsed and see the list of the corresponding Nav Items that map to each of the nav buttons in the menu
- Update the Nav Items to reference any Standard Panels in the Scene or configure the Nav Items to reference an
externally loaded sceneorsimpleAR Module - To Add a
new/customNav Item to the menu, select theAdd New Nav Itemat the bottom of the list - To modify and
displayorhidecertain Nav Items, select the Standard Panel component andPanel Display > Customize Displaytoshow/hidespecific Nav Items in the menu - Once the Nav Menu is properly configured, enter Play Mode in the Editor using Holographic Remoting for
MRTK2/MRTK3if usingXR Compatability - If the menu is configured as
Hand AnchoredforXR Panel Typein the Standard Panel Menu the Nav Menu will appear next to the usersleftorrightopen palm - Panel items can be dragged from the
dockedposition next to the menu into free-floatingWorld Spaceorrecalledto thedockedposition when selecting the sameNav Item
Warning
It's advised not to remove any of the default Nav Items included in the Nav Items list. A better practice is to enable or disable their display elements via the Standard Panel Component.
Danger
Applying changes from a modified prefab to the base Nav Panel prefab could cause unexpected behavior and corrupt the base prefab asset. A better practice would be to create a prefab variant if the Nav Menu needs to be globally referenced by multiple scenes.
A Nav Item is composed of the following properties requiring configuration in the Unity Inspector:
| Property | Description |
|---|---|
Button Label |
The display name for the nav item button |
Menu Icon |
The sprite icon that should be displayed for the nav item button |
Reference Type |
How the panel should be referenced / loaded into the scene. Possible options include By Asset and By Scene or Module. |
Reference Type |
How the panel should be referenced / loaded into the scene. Possible options include By Asset and By Scene or Module. |
Load Type |
Determines if the Scene or simpleAR Pro Module should be loaded as a replacement or additively to the current scene when the Reference Type is set to By Scene or Module |
Note
An Asset reference requires a reference to a Unity Prefab or Asset in the scene. If an instance of the referenced Unity Prefab is already in the scene, it will default to manipulation of that instance during runtime. If the instance does not exist in the scene, one will be instantiated from the provided reference at runtime. A Scene or Module reference requires a reference to a Unity Scene or simpleAR Pro Module.
Camera Capture Panel
The Camera Capture Panel Toolbox Asset is a panel to capture and display images from compatible hardware platforms' web cams and save those same images to persistant storage on the device.
Note
At this time only Hololens2 and Windows desktop platforms are supported by the Camera Capture Panel.
To start using the Camera Capture Panel:
- Add it to a Unity Scene containing a simpleAR Step Sequence
- Select the XR Configuration for the panel and setup any customizations to the panel visuals via the Standard Panel Component
- Enable or disable any of the default behaviors for the Camera Capture Panel (Keep all selected by default)
- Add any additional XR dependencies required by your XR library to your scene
- Run the Scene / Select Play Mode
Important
At this time some MRTK2 and MRTK3 features are not currently automatically updated when using the Standard Panel Component toggle. Copy the specific variants from their associated sample scenes for each library.
Important
If using MRTK3 and the voice command functionality of the Camera Capture Panel a required dependency is the MRTK3 Speech Subsystem. Folllow the guide and include the subsystem in your project to enable voice command functionality.
Note
Compatible Directives are listed on the Component in the Editor. Directives are the standardized way to interact with the panel and manage interactivity.
Object Anchor Panel
The Object Anchor Panel Toolbox Asset is a panel to place and align virtual content within a user's environment, through a designated anchor object and object model used as reference.
Note
At this time only the MRTK 2 panel configuration is supported by the Object Anchor Panel.
Note
At this time only the Manual Placement Object Anchor Type is supported by the Object Anchor Panel.
To start using the Object Anchor Panel:
- Add it to a Unity Scene containing a simpleAR Step Sequence
- Select the XR Configuration for the panel and setup any customizations to the panel visuals via the Standard Panel Component
- Enable or disable any of the default behaviors for the Object Anchor Panel (Keep all selected by default)
- Add an Anchor Game Object and an Anchor Object Model to your configuration, representing the virtual content you want to align and the reference model, respectively.
- Add any additional XR dependencies required by your XR library to your scene
- Run the Scene / Select Play Mode
Important
At this time some MRTK2 and MRTK3 features are not currently automatically updated when using the Standard Panel Component toggle. Copy the specific variants from their associated sample scenes for each library.
Note
Compatible Directives are listed on the Component in the Editor. Directives are the standardized way to interact with the panel and manage interactivity.

