It’s 2017 and there still isn’t much online about designing 3D User Interface (UI) for Virtual Reality (VR).
I’ve played with a few programs and took some notes about UI layout that I thought might be helpful to consider when designing in the space.
Medium by Oculus
Scaling is achieved by gripping triggers on both controllers and pushing/pulling them away from each other with a gesture. Additionally, positioning can be changed by depressing both controllers triggers and moving them relative to each other and the virtual canvas.
Unique to Medium, the right controller has a virtual representation of the active tool, tool-specific menu options, and the user may adjust the size of the brush by pulling the thumbstick up or down. Color selection is assigned to one of the top facing buttons, and is chosen by the dominant hand, so as not to make the user look away from their sculpture when choosing color options.
Undo and Redo functions are located on the non-dominant controller, and are accessible with the flick of the thumbstick left or right.
![]() |
Controller avatars. The active tool is displayed on the right controller, and the tool size can be adjusted by holding the thumbstick up or down. |
![]() |
Game menu is accessed through the non-dominant controller buttons. Items are selected by a ray-cast from the dominant controller. |
![]() |
Layers can be accessed through thumbstick down on the non-dominant controller. Selections are made by pointing the dominant controller at the UI. |
![]() |
Tools are selected through the radial menu by holding the non-dominant thumbstick upwards and pointing the dominant controller over the tool type desired. |
Quill by Story Studio
The program has a somewhat unique UI selection mechanism– users must “poke” or “touch” elements on the left handed UI pallet in order to select them. There is no ray-cast/pointing system. In my experience, this was a novel and more intuitive system, especially with the haptic feedback provided with virtual button collisions and presses.
Overall, the Quill UI requires a lot of practice and trial and error from the user. Again, it is not the most intuitive system, with much of it’s functionality not even touched upon in the tutorial.
![]() |
The intro tutorial and controller avatars of Quill (purple square and black sphere). |
![]() |
UI Load/Save functionality of the left controller, after pressing button X, as illustrated in the tutorial. |
![]() |
Paint tool customization functionality on the left hand controller. Buttons are selected by touch gesture, as |
![]() |
The color picker in Quill. It seems ill-designed, as the clunky interface is hard to navigate and change on the fly between brush strokes. |
![]() |
A closeup of the controller avatars. |
Modbox by Alientrap
The build pallet is ambidextrous and can be brought up by pressing either controller’s trackpads. Build and Play functionality are separated into two play modes, accessible through labeled controller UI. Teleportation is assigned to the grip buttons, and can be cast in an arc by either controller.
![]() |
Modbox’s four-faced UI pallet. |
![]() |
Controller avatars in Play mode are hands, with a virtual controller overlaid onto them with button maps. |
![]() |
UI menu selections are ambidextrous, they can be brought up on either controller, selections are made by pointing the dominant controller onto the UI of the pallet. |
![]() |
Object selection from the UI pallet in build mode. Objects are one out of the four 3D GUI faces of the pallet. |
![]() |
Advanced tool functionality (i.e. Paint, Delete), another face of the 3D GUI pallet. |
![]() |
Color Pallet functionality. Color is pointed to by dominant controller, and selected with trigger squeeze. Objects are colored by pointed to them with the dominant controller and pulling the trigger. |
![]() |
Scale can be adjusted in Modbox through a slider in the Settings UI face of the pallet. |
Tilt Brush by Google
Tilt Brush is a 3D painting program for VR. As such, there is a great amount of functionality that had to be designed into the controllers.
The active tool is easy to preview with the swish of a controller (a short fading trail of the active brush is always rendered), and the active color represented by the controlled color. Like Medium, Undo and Redo functions are controlled by the left thumb clicks, keeping the right controller functionality purely creative-oriented.
Movement is based on a Teleport function selected in the tools menu, but it should be noted that Tilt Brush makes it very easy to scale and move a 3D creation by depressing both grip buttons of the controller, and moving them relative to the the creation position.
![]() |
Waving the dominant controller results in a temporary preview of the active brush that quickly fades away. |
![]() |
Tool functionality is separated on it’s own face in Tilt Brush. Note teleport functionality. |
IKEA VR Experience
IKEA VR is a virtual kitchen experience released in 2016. The app is designed to showcase the potential for VR to be an effective interior design mockup medium, and the UI, although basic, has some cool functionality.
![]() |
The UI on the left hand controller is always displayed in a single face. Selections can be made by pointing the right controller at the UI of the left hand pallet, and expanding the UI category out. |
![]() |
Teleportation in the experience is completed by using the controller’s grip input and throwing an arced raycast from either controller. |