Creating a control panel - New version (experimental)
This version is experimental and was not tested in a production setting!
Our original control panel worked well for simple use cases, but had certain limitations when it came to more advanced setups and ease of use.
With the new version, we have created a better base to solve all these issues. In this experimental release we have focused on:
Making the control panel constantly in sync with the engine
Allowing for more complex use cases
by setting separate Source and Target properties
by allowing widgets to be controlled
by changing to a more flexible layout
This is the first step and we know that we still have a way to go, especially when it comes to usability.
This is the first of several iterations and we have grand plans for its future. We welcome your input and thoughts. If you are interested in giving feedback, sharing your use cases or contributing in general, we would love to invite you to our Control Panel slack channel! Just send an email to design@pixotope.com
Academy Tutorial - User configurable control panel
Introduction to our new control panel
Check out the example control panel
Download the
ExampleControlPanel.pxpanel
below and copy it into your project folder[Project folder]/Content/
Click “Rescan folders” from the Launch panel in Director
Open the control panel and launch the LVL_PixotopeARSample level to test the widgets
Note that some of the actions require the level to run in LIVE or Preview Live mode
Download ExampleControlPanel.pxpanel
:
Create a new control panel
Go to PRODUCTION > Show > Launch
Click "Create new control panel"
Check "New version (experimental)" and give it a descriptive name
Learn more about where control panels are stored
Open a control panel in Director
Go to PRODUCTION > Show > Launch
Hover over the control panel you want to open and click "Edit in browser"
Add a widget
You should start in Edit mode (yellow borders), if this mode is not active, press
R
or the "Play" button in the top header to switch between Edit and Preview Live modePress
T
to open toolboxDouble click the widget
OR select it and click "Confirm"Click and drag onto the canvas to place/draw the widget
If necessary Press
V
to switch between Draw and Select mode
Edit a widget
Select the widget
on the canvas
OR in the "Widgets" tab in the "Properties and Variables" drawer
Change any of the properties in the properties section by clicking into its value field

Populate Options for Tab and Select widget
Select the Tab or Select widget, add values and labels respectively
Double click
List
of a Enum or Array property in the "Engine" tab of the "Properties and Variables" drawer
Arrange widgets
To group select widgets, go into Select mode by pressing
V
Move, resize, cut, copy and paste the widgets
Add an action
An action is attached to a specific widget which triggers it
When triggered, it sends the Source value or property to the Target property
Actions can use properties from running levels, as well as from other widgets on the canvas
Double click the widget on the canvas to focus its action list
Select a property from the respective tabs in the "Properties and Variables" drawer
Click and drag the red circle of the Target property onto the target drop zone (for functions drag
FN
)This will automatically set the default value of the widget as the source
For the widget to read the target property when switching to Live mode, click on the arrow between source and target and set the direction of the action to "Bidirectional"
not available for Button (Trigger)
Optional: for the Source
Override the default Source property by dragging another property onto the source drop zone
OR set a constant value by double clicking into the source drop zone

Learn more about Supported target objects and properties below
Additional options
The Button (Toggle) and Tab widgets support adding actions to their individual options
To automatically trigger an action when switching to Live mode, enable the "STARTUP" toggle
To remove a value or property, click the x to the right of the Source or Target field
To remove the action, click the x all the way to the right of the action row

Go live
Remember to save the control panel using Ctrl+S
or the Save icon in the shortcuts bar on the left.
Preview Live mode
This mode allows you to use the widgets while you can still edit their properties and actions.
Press
R
or the "Play" button in the headerThe red border is removed
The canvas is centered
You cannot add move widgets
Live mode
This mode removes any ability to edit the control panel including switching between Edit and Preview Live mode
Click on "Launch panel" from the Launch panel in Director

Widget types
Button (Trigger)
Image | ![]() |
Behaviour | Sends values/properties or event triggers when clicked |
Action | On click |
Default source | None |
Main purpose |
|
Button (Toggle)
Same widget as Button, but with "Toggle" enabled.

Image | ![]() ON and OFF state |
Behaviour | Sends values/properties or event triggers when clicked Button shows last clicked state |
Action |
|
Default source |
|
Main purpose |
|
Tab
Image | ![]() |
Behaviour | Sends values ( Shows last clicked state List of options can be manually set up or imported from a |
Action |
|
Default source |
|
Main purpose |
|
Select
Image | ![]() |
Behaviour | Sends values ( Shows last clicked state List of options can be manually set up or imported from a |
Action |
|
Default source |
|
Main purpose |
|
Slider
Image | ![]() |
Behaviour | Sends a |
Action |
|
Default source |
|
Main purpose |
|
Number input
Image | ![]() |
Behaviour | Sends a |
Action |
|
Default source |
|
Main purpose |
|
Text input
Image | ![]() |
Behaviour | Sends a |
Action |
|
Default source |
|
Main purpose |
|
Multi-line text input
Image | ![]() |
Behaviour | Sends a |
Action |
|
Default source |
|
Main purpose |
|
Label
Image | ![]() |
Behaviour | Display static text/numbers or as Target for |
Action | None |
Default source |
|
Main purpose |
|
Image
Image | ![]() |
Behaviour | Display image URLs |
Action | None |
Default source |
|
Main purpose |
|
Listener
Image | ![]() |
Behaviour | Listens to changes of the Source property |
Action |
|
Default source | None |
Main purpose | Listens to changes of other properties and updates targets in tandem |
Supported target objects
Engine tab - Lists all objects in the running level
Any exposed engine property - Learn more about how to Expose properties for remote control
Widget tab - Lists all widgets of the control panel
Any exposed widget property
Variables tab - Lists all global variables of the control panel
Any global variables
Exposed tab
Any exposed widget property
Supported target properties
Property type | Source |
---|---|
|
|
| any float or integer number |
| any text string |
| any |
| individual
|
| custom properties with their respective property types |
|
|
|
|
|
|
Shortcuts
Action | Shortcut |
---|---|
Toggle edit/preview live mode |
|
Toggle properties and action drawer |
|
Center canvas in edit mode |
|
Show toolbox |
|
Toggle draw/select mode |
|
Select all |
|
Cut/Copy/Paste widget(s) |
|
Group/Ungroup selection |
|
Undo/Redo |
|
Delete widget(s) |
|
Save control panel |
|
Open control panel |
|
Pan canvas |
|
Focus the action list of the clicked widget |
|