# Troubleshooting and helpful tips

## Troubleshooting

### Flickering environment

If the environment flickers while see-through mode is enabled, try moving to a
room with different lighting conditions. Some LED light sources are known to
produce a flickering image.

### Degraded tracking performance

If tracking degrades while see-through mode is enabled, try moving to a room with
different lighting conditions. Some lighting is known to degrade tracking. LED
lighting is especially likely to cause flicker and impact performance. While
see-through mode is enabled on the device, even if not in active use, the tracking
quality is slightly impacted. Simply disable the see-through mode feature and
reboot to return the device to the original state.

## Design guidelines

### Design guidelines for shaders

- Game engines don't typically expect to have to alpha composite correctly
  over a background and thus sometimes ignore the alpha channel. Because
  see-through mode is often intended to replace the background, special
  shaders may be needed to correctly compose transparency over see-through
  mode content.

- In Unity, any shader that uses `Blend SrcAlpha OneMinusSrcAlpha` should add
  the alpha channel blend function to it to composite properly with
  see-through mode:

      Blend SrcAlpha OneMinusSrcAlpha, OneMinusDstAlpha One

- The Google VR SDK for Unity provides the material **GoogleVR \> Beta \> Materials \>
  GvrSeeThroughUI** . This material is a clone of Unity's built-in `DefaultUI`
  material with the blend function fixed up for see-through mode.

### Design guidelines for tone mapping

- Most cameras used for see-through mode are almost certainly monochrome. To enable greater creative control over the images use the Tone-mapping API to color cast and tone map the see-through mode images to control the mood of your experience through creative color choices.