Skip to main content

Overview

Set Object Visibility shows or hides selected scene objects without removing them. Use it to reveal internal components, switch between alternate models, or hide instruction markers after a task. Hidden objects remain available to show again later.

Parameters

Visible accepts a checked or unchecked value. Use transition conditions to decide when a visibility action should run.

Key Behavior

  • Multiple targets: One action applies the same visibility setting to every selected target.
  • Parent visibility: Hiding a parent also hides its descendants. Showing a child cannot make it appear while an ancestor remains hidden.
  • Individual child settings: Showing a parent does not automatically change children that were hidden separately. Show those children explicitly when needed.
  • Loaded objects: A target must exist before its visibility can change. When using Add Object first, enable Wait Until Complete on the loading action.
  • Interaction settings: Use Set Interactable Objects to configure interaction availability. Visibility alone should not be used as a guarantee that every interaction or collision is disabled.
In the browser Trainee App, showing an object also leaves any disabled Mesh Renderer setting unchanged. If an object does not appear, check its ancestors and renderer settings as well as Visible.

Example: Reveal an Assembly’s Interior

The scene contains outer_cover, inner_cover, and internal_components as separate children of a visible assembly_base.
  1. Configure a Tap transition targeting outer_cover. Leave its target unset to stay in the current step.
  2. In its Actions list, add Set Object Visibility, select outer_cover, and uncheck Visible.
  3. Configure another Tap transition for inner_cover, with an action that hides that cover.
Removing the covers from view reveals the internal components. Keep assembly_base visible because hiding it would hide the entire assembly, including the interior.

Example: Hide Guidance After Interaction

The scene contains instruction_marker_1, instruction_marker_2, and target_component.
1

Show guidance on entry

In the step’s On Entry actions:
  1. Add Set Object Visibility for both markers with Visible checked.
  2. Add Highlight Object for target_component, leaving Duration empty.
2

Remove guidance after a tap

Create a Tap transition targeting target_component. Leave its target unset and add these Actions:
  1. Set Object Visibility: select both markers and uncheck Visible.
  2. Remove Highlight on Object: select target_component.
3

Verify the result

The markers and highlight disappear after the tap. The component remains visible, and the trainee stays in the current step.

Example: Show a Clean Replacement

Place dirty_part and clean_part at the same location as separate objects under a visible parent. In the step’s On Entry, show dirty_part and hide clean_part using two Set Object Visibility actions. Configure a Tap transition on dirty_part. In its Actions, hide dirty_part and show clean_part. Leave the target unset if this comparison should remain in the same step. This demonstrates a visual model swap. For a procedure that requires an actual cleaning interaction, use the event and conditions that represent completion of that task.

Example: Conditional Guidance from a Variable

Create a String variable named skillLevel and assign "beginner" or "advanced" before entering this step. The scene contains guide_button, beginner_guide, and advanced_tips.
1

Start with both guides hidden

In On Entry, add Set Object Visibility targeting beginner_guide and advanced_tips, with Visible unchecked.
2

Configure the beginner transition

Create a Tap transition targeting guide_button. Set its condition to skillLevel == "beginner" and leave its target unset.In its Actions, show beginner_guide and hide advanced_tips using separate Set Object Visibility actions.
3

Configure the advanced transition

Create a second Tap transition targeting the same button. Set its condition to skillLevel == "advanced" and leave its target unset.In its Actions, hide beginner_guide and show advanced_tips.
The recorded variable value determines which transition runs when the trainee taps the button. Conditions are evaluated before the transition’s actions; assign skillLevel earlier, not in the transition that checks it.