F01


Learning Objectives

By completing this lab, you should be able to:

  • Explain how a simple manufacturing step can be represented as an XR interaction.
  • Create a virtual component that can be picked up and manipulated.
  • Define a target installation location using a socket.
  • Use interaction events to recognize successful installation.
  • Provide clear visual feedback when the task is complete.
  • Describe how the same interaction could be extended into a richer training or task-support application.

Overview

In the lecture XR for Industrial Training & Real-Time Task Support, you saw how XR can support industrial training and real-time task support. In this lab you will experience that development process by building one very small VR assembly interaction. No prior XR development experience is required. This page provides the minimum steps needed for the exercise. Links to XR4E Module D are provided throughout for participants who want additional explanation or troubleshooting.

Estimated time:

  • Core VR lab: approximately 60–75 minutes.
  • Optional passthrough MR exploration: approximately 30 additional minutes.
  • Participants completely new to Unity may require additional time.

Manufacturing Scenario

A worker must install a small engineering component onto a fixture. The component can be a sensor, mounting bracket, connector, cover, small electronic module, or a simple Unity cube standing in for a part. The interaction sequence is Inspect → Grab → Install → Complete.

  • Inspect: Identify the component and the target installation location.
  • Grab: Pick up and manipulate the component.
  • Install: Move the component into the designated installation point.
  • Complete: Successful placement produces clear confirmation.

The exercise is intentionally generic and does not represent a proprietary Hyundai or HMG manufacturing process.


What You Will Build

The finished scene needs only:

  • one simple workstation or table,
  • one grabbable component,
  • one installation socket,
  • one small instruction or status message, or one simple completion indicator,
  • one clear success state.

Keep it small. One component, one target location, and one successful interaction are enough. Unity primitives are enough. A factory model and a CAD model are unnecessary. If you already have XFactory assets, you may use a simple part from that library. XFactory is optional.


Step 1 — Start a VR Project

  1. Open Unity Hub.
  2. Create a new project using Unity’s VR Template.
  3. Open the default sample scene, typically Assets/Scenes/SampleScene.
  4. Press Play. Confirm that the XR scene starts and the Console shows no red errors.
  5. Press Play again to stop. Exit Play Mode before editing. Changes made while playing are discarded.
  6. If a headset is unavailable, test with Unity’s XR Device Simulator. Use the simulator included in the template scene, and follow the control hints in the Game view.

Unity’s VR Template already includes much of the XR Interaction Toolkit setup required for this exercise. Do not rebuild the XR rig from scratch. The template already provides headset tracking, controllers, and the interaction system, so the lab can stay focused on the manufacturing task.

Resources:


Step 2 — Create a Simple Workstation

Use the Scene view to place objects. After you press Play, the Game view shows the headset view. The template’s example objects can remain. Add your own workstation in front of the XR Origin.

  1. Right-click in the Hierarchy and choose 3D Object → Cube. Name it Workstation.
  2. Set Scale to about 1, 0.1, 0.6 so it reads as a small table or fixture. Place it a short distance in front of the XR Origin, with the top near waist height.
  3. Create a second Cube named Component. Set Scale to about 0.2, 0.1, 0.15. Rest it on the tabletop.
  4. Save the scene, then press Play.

Check:

  • The workstation is visible.
  • The component is reachable.
  • The scale feels reasonable for a small part on a table.
  • You can move or look around the scene.

The workstation only gives the task a place to happen. The lesson is the interaction.


Step 3 — Make the Component Grabbable

  1. Select Component.
  2. Confirm it has a Collider. A new Cube already has a Box Collider. Leave Is Trigger unchecked. Collider defines the interactive physical region.
  3. Click Add Component and add a Rigidbody. Rigidbody allows Unity physics to control the object.
  4. Click Add Component and add XR Grab Interactable. XR Grab Interactable makes the object grabbable through the XR Interaction Toolkit.
  5. Leave the advanced settings at their defaults unless the object behaves incorrectly.
  6. Enter Play Mode. Select the component, pick it up, move it, and release it.

The component should follow the controller and settle when released. If it falls through the table, confirm the workstation still has a solid Collider. Grabbing is the worker action an industrial XR system must recognize before installation can count. If the component twists to an odd angle when picked up, see D3 — Preserving Orientation. That page is optional troubleshooting.

Want to understand grabbing in more depth?

D3 — XR Grab Interactable


Step 4 — Create the Installation Location

  1. Right-click in the Hierarchy and choose Create Empty. Name it InstallSocket.
  2. Place it where the component should be installed.
  3. Add a Box Collider and check Is Trigger. Size the trigger so it covers the installation point: large enough to reach, and small enough that the part must be brought there.
  4. Add an XR Socket Interactor. Leave the socket without a Rigidbody so the installation point stays fixed.
  5. Right-click InstallSocket and choose Create Empty. Name the child SnapPose. Move and rotate it to the installed pose, then assign it to the socket’s Attach Transform.
  6. Enter Play Mode. Grab the component, move it into the socket, and release it.
  7. Confirm that the component snaps into place. If it does not, confirm Is Trigger is checked, the socket component is present, and you released the part inside the trigger.

The socket represents a valid installation location. When the component enters the socket and is accepted, Unity raises an event that can represent “installation completed.” That acceptance is the system’s evidence that the part reached the expected location. In a real engineering training application, the accepted position and orientation would normally reflect actual assembly tolerances. For this introductory lab, basic socket snapping is sufficient.

Want to understand socket behavior in more depth?

D4 — XR Socket Interactor

D4 — Implementation is an optional walkthrough of a larger socket setup.


Step 5 — Add Completion Feedback

Create one visible completion indicator. The socket event will turn it on. No custom script is required.

  1. Right-click in the Hierarchy and choose 3D Object → Text - TextMeshPro. If Unity asks you to import TextMeshPro essentials, import them, then create the text object.
  2. Name it InstructionLabel. Set the text to INSTALL COMPONENT. Place it above the workstation and scale it until it is readable.
  3. Duplicate it and name the copy CompletionLabel. Set the text to INSTALLATION COMPLETE, set the text color to a distinct success color such as green, and uncheck the box beside its name so it starts inactive.
  4. Select InstallSocket. Under XR Socket Interactor, expand Interactor Events → Select Entered.
  5. Click +. Drag CompletionLabel into the object field. An inactive object can still be dragged from the Hierarchy.
  6. Open the function menu and choose GameObject > SetActive, using the entry that adds a checkbox. Check the box so the label turns on.
  7. Click + again. Drag in InstructionLabel, choose GameObject > SetActive, and leave the checkbox unchecked so the instruction turns off.
  8. Enter Play Mode and install the component. INSTALL COMPONENT should hide, and INSTALLATION COMPLETE should appear.

Use Select Entered, the event for a socket accepting the component. Hover Entered only means the part is nearby. If turning off the instruction is awkward, leave it visible and only activate CompletionLabel. Successful placement still needs a visible confirmation. This event-driven pattern is fundamental to industrial XR. The user performs an action, the system detects a meaningful state change, and the interface responds.

Learn more about event-driven interaction: D5 — Event-Driven Design

For a world-space panel instead of 3D text, see D7 — UI as Input and D7 — Interactive UI Elements.


Optional Step — Add Feedback

Participants who finish early can add one more confirmation when the socket accepts the component: a short sound, a haptic pulse, a color change, or another simple cue. The cue should tell the worker that the system recognized the action. The completion label’s color is enough for a visual cue. For a sound, add an Audio Source to InstallSocket, turn off Play On Awake, assign a short clip already in the project, and call AudioSource → Play from the same Select Entered event. For a haptic pulse, follow D6 — Simple Haptic Feedback. Haptics require a physical controller.


Test Your Prototype

  1. Start the scene.
  2. Locate the component.
  3. Grab it.
  4. Move it to the installation point.
  5. Release it into the socket.
  6. Confirm that it snaps into place.
  7. Confirm that the completion feedback appears.
  8. Repeat the interaction once. Restarting Play Mode is enough.
Test Expected result
Scene XR scene starts correctly
Grab Component can be picked up and moved
Install Component snaps into the socket
Completion Success feedback appears
Repeat Interaction can be tested again

The XR Device Simulator is sufficient for basic interaction testing. A physical headset is needed to judge reach, scale, comfort, controller feel, and haptic feedback.


What You Just Built

This prototype uses the same basic logic found in much larger industrial XR systems: Manufacturing task → user action → system recognition → state change → worker feedback

In this lab In an industrial XR workflow
Component Task object
Grabbing Worker interaction
Socket Expected task condition
Socket event Recognition of a successful action
Completion message Worker feedback

A person moves a part, the system recognizes the correct placement, and the worker receives confirmation.


Optional Extension — Add a Verification Step

The required lab finishes when the socket accepts the component. For a more advanced interaction, show INSTALLATION COMPLETE only after a VERIFY button is pressed, and make that button meaningful only once the component is installed. Explore that state-dependent pattern here:


Optional Extension — Passthrough Mixed Reality

The required VR lab is training away from the physical workstation. The same idea can become real-time task support with passthrough mixed reality. This extension is optional.

  1. Open Unity’s Mixed Reality Template or an existing passthrough project.
  2. Enable passthrough.
  3. Identify a physical table or working surface.
  4. Place virtual instructions or a virtual component near that surface.
  5. Anchor the content where the device supports anchors.
  6. Inspect stability from multiple viewpoints.

A detected surface, a placement pose, and an anchor are different concepts. Anchoring improves spatial stability but does not guarantee precision registration with real equipment.

Safety: Passthrough mixed reality does not eliminate the need for physical-space awareness. Keep the test area clear, preserve access to boundaries and exit paths, and do not treat virtual overlays as certified safety indicators.


Industrial Reflection

Your prototype recognizes only one simple installation action. What would be required before an XR system like this could be used for actual workforce training? Consider:

  • accurate product and workstation geometry,
  • approved work instructions,
  • realistic assembly tolerances,
  • incorrect actions and recovery,
  • assessment and qualification criteria,
  • process and product variants,
  • headset deployment and support,
  • safety and human-factors evaluation,
  • content ownership and updates.

Reflection questions:

  1. What is one thing this prototype would need for technical validity?
  2. What is one thing it would need for workforce adoption?
  3. What metric would you use to determine whether it improves training?

Need More Help?

Topic XR4E reference
Starting a VR project D1 — Fundamentals of VR
Testing without a headset D1 — XR Device Simulator
Grabbing the component D3 — XR Grab Interactable
Socket installation D4 — XR Socket Interactor
Interaction events D5 — Event-Driven Design
Haptic feedback D6 — Simple Haptic Feedback
World-space UI D7 — UI as Input
Passthrough surfaces E6 — Plane Detection
Passthrough anchoring E7 — Placement and Anchoring

Completion Criteria

You have completed the required lab when:

  • a simple VR scene runs,
  • the component can be grabbed,
  • the component can be placed into the socket,
  • successful installation produces visible confirmation,
  • and you can explain what each part of that interaction represents in an industrial XR workflow.

Key Takeaways

  • A manufacturing procedure can be represented as a sequence of meaningful XR interactions and states.
  • Unity’s XR Interaction Toolkit provides reusable components for common interactions such as grabbing and installation.
  • Effective industrial XR connects user actions to clear system recognition and feedback.
  • A working prototype is only the first step. Real deployment requires validated work instructions, usability, training effectiveness, safety, and operational support.