# Scene Setup
WARNING
This guide assumes pre-existing knowledge of XR Development in Unreal engine. For a more detailed overview, please visit the introductory documentation page (opens new window).
The Snapdragon Spaces Samples contain ready-to-use blueprints for common AR use cases.
# Core blueprints
These blueprints are prepared to work in an AR environment and are the basis for the sample project.
The BP_GameMode
(located under Content > SnapdragonSpaces > Common > Core
) defines the rules of an experience. Currently, it only sets the default pawn class to custom BP_Pawn
. To avoid customizing it for each map, go to Project Settings > Maps & Modes
and overwrite the Default GameMode.
In Unreal Engine, a pawn is the physical representation of the user and defines how the user interacts with the world. The custom BP_Pawn
(located under Content > SnapdragonSpaces > Common > Core
) can be used with a gaze or 3DoF controller for interaction. Furthermore, it also includes an implementation of these interaction controllers for testing them in the editor.
The D_ARSessionConfig
(located under Content/SnapdragonSpaces/Common/Core
) defines what features are used in the AR session. For basic information about this asset, please refer to the Unreal documentation (opens new window). Currently, BP_Pawn defines the session config that is being used in the samples.
# Passthrough (Only for MR devices)
Passthrough (opens new window) refers to the possibility to bring the physical environment as an image to VR devices. It can be enabled or disabled through a new widget with a Passthrough checkbox attached to Main Menu. This widget will only be active for the user if the device is Passthrough compatible. The check is done at BeginPlay
in the BP_MainMenuWidget
blueprint with the new function IsPassthroughSupported()
, that will retrieve a bool if Passthrough is supported in the SpacesEngineSubsystem
.
The checkbox on WBP_Passthrough
calls the function SetPassthroughEnabled(bool)
from SpacesEngineSubsystem
, that will set the new value of bPassthroughEnabled
, which will enable the user to see or hide the physical environment image. Another way of calling SetPassthroughEnabled(bool)
is by using the input SwitchPassthrough
that is bound to XRController(L) X
and XRController(R) A
.
The value of bPassthroughEnabled
can be accessed anytime with GetPassthroughEnabled()
or by binding when it is changed with delegate OnChangePassthrough
.