Immersive wallpaper

Overview

ImmersiveMode is a feature available on Lume Pad devices with updated firmware (1.2.7+) where the device's backlight can be set to "immersive mode."
In this mode, most content will appear 2D, but periodic background content will simultaneously appear 3D. We can use this mode to display 3D wallpapers in a Unity app, while content is shown in 2D in the foreground of the app.

Building the minimum working demo

A demo scene, LeiaLoft/Modules/ImmersiveWallpaper/Example/FullscreenImmersiveBackground.unity, is provided for your reference. Build this to your Lume Pad with firmware 1.2.7+.
This scene has a
  • SetDeviceBacklightManually script to set the device's light to ImmersiveMode for you
  • FullscreenCameraEffect script and FullscreenPeriodicContent shader to draw fullscreen periodic content for you

Building your own immersive wallpaper

Generally to use ImmersiveMode you will want to branch off of the FullscreenImmersiveBackground example, and keep the following items in mind:
  • remove any LeiaCamera or LeiaDisplay objects from your scene. These interfere with immersive mode and simultaneous 2D / periodic 3D rendering
  • use LeiaLoft/Modules/ImmersiveWallpaper/Scripts/SetDeviceBacklightManually.cs to set backlight to ImmersiveMode
  • use LeiaLoft/Modules/ImmersiveWallpaper/Resources/FullscreenPeriodicContent.shader to draw periodic backgrounds which will appear 3D

Platform constraints

ImmersiveMode is only supported on Unity apps built to Lume Pad devices with updated firmware (1.2.7+).