Skip to content

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

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.

Step By Step

  • 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 Information in 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.

Directive Sequence

  • 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 Action dropdown to Import and Format to 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 / scale panel
  • Panel Billboarding to face the 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.

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 Type and add / define an optional Menu Map if it's Multi-Level
  • Populate the Menu Items list with Scenes or Modules
  • 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.

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 scene or simpleAR Module
  • To Add a new / custom Nav Item to the menu, select the Add New Nav Item at the bottom of the list
  • To modify and display or hide certain Nav Items, select the Standard Panel component and Panel Display > Customize Display to show / hide specific Nav Items in the menu
  • Once the Nav Menu is properly configured, enter Play Mode in the Editor using Holographic Remoting for MRTK2 / MRTK3 if using XR Compatability
  • If the menu is configured as Hand Anchored for XR Panel Type in the Standard Panel Menu the Nav Menu will appear next to the users left or right open palm
  • Panel items can be dragged from the docked position next to the menu into free-floating World Space or recalled to the docked position when selecting the same Nav 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.