Recommended settings for Unity

Unity provides a set of default options that are generally the average case for all platforms. However, Unity offers some HoloLens specific behaviors that can be toggled through project settings.

Holographic splash screen

To toggle holographic splash screens settings, go to Edit > Project Settings... > Player page, click on the Windows Store tab and find the Splash Image > Show Unity Splash Screen setting and the Windows Holographic > Holographic Splash Image.

  • Toggling the Show Unity Splash Screen option will enable or disable the Unity branded splash screen. If you do not have a Unity Pro license, the Unity branded splash screen will always be displayed.
  • If a Holographic Splash Image is applied, it will always be displayed regardless of whether the Show Unity Splash Screen checkbox is enabled or disabled. Specifying a custom holographic splash image is only available to developers with a Unity Pro license.
Show Unity Splash Screen Holographic Splash Image Behavior
On None Show default Unity splash screen for 5 seconds or until the app is loaded, whichever is longer.
On Custom Show Custom splash screen for 5 seconds or until the app is loaded, whichever is longer.
Off None Show transparent black (nothing) until app is loaded.
Off Custom Show Custom splash screen for 5 seconds or until the app is loaded, whichever is longer.

Tracking loss

HoloLens depends seeing the environment around it to construct a coordinate system, which allows holograms to remain in position. When the HoloLens is unable to locate itself in the world, we call this lost tracking. In these cases, functionality dependent on coordinate systems like spatial mapping do not work.

If a loss of tracking occurs, Unity's default behavior is to stop rendering holograms, pause the game loop), and display a tracking lost notification that comfortably follows the users gaze. Custom notifications can also be provided in the form of a tracking loss image. For apps that depend upon tracking for their whole experience, it's sufficient to let Unity handle this entirely until tracking is regained.

Customize tracking loss image. Developers can supply a custom image to be shown during tracking loss. To customize the tracking lost image, go to Edit > Project Settings... > Player page, click on the Windows Store tab and find the Windows Holographic > Tracking Loss Image.

Opt-out of automatic pause. Some apps may not require tracking or may need to continue processing uninterrupted while tracking is lost. In these cases, apps can opt out of the default loss of tracking behavior. Developers who choose this are responsible for hiding/disabling any objects which would not render properly in a tracking-loss scenario. In most cases, the only content that is recommended to be rendered is body locked content.

To opt out of automatic pause behavior, go to Edit > Project Settings... > Player page, click on the Windows Store tab and find the Windows Holographic > On Tracking Loss Pause and Show Image checkbox.

Tracking loss events. To define custom behavior when tracking is lost, handle the global tracking loss events.

Capabilities

For an app to take advantage of certain functionality on HoloLens, it must declare certain capabilities in its manifest. The manifest declarations can be made in Unity so they are included in every subsequent project export. The setting are found in Player Settings > Windows Store > Publishing Settings > Capabilities. The applicable capabilities for enabling the commonly used APIs for Holographic apps are:

Capability API's requiring capability
WebCam PhotoCapture and VideoCapture
SpatialPerception SurfaceObserver and SpatialAnchor
Microphone DictationRecognizer, GrammarRecognizer, and KeywordRecognizer
picturesLibrary / videosLibrary / musicLibrary PhotoCapture and VideoCapture (for still photos, video, and audio respectively)

See also