Step by step guide
1. Setting up Passthrough
https://www.youtube.com/watch?v=PmDPQe-mnnI
2. Create an empty game object in the Hierarchy and name it PassthroughBrightnessAdjuster
3. Add a component and create a new script named PassthroughBrightnessAdjuster.cs
Uses the right joystick (OVRInput.Axis2D.SecondaryThumbstick.y)
Smoothly adjusts brightness (no sudden jumps)
4. Open PassthroughBrightnessAdjuster.cs and add script
Final Script: Adjust Brightness with Right Joystick
---
using UnityEngine;
public class PassthroughBrightnessAdjuster : MonoBehaviour
{
private OVRPassthroughLayer passthroughLayer;
private float minBrightness = -1.0f; // Darkest setting
private float maxBrightness = 1.0f; // Brightest setting
private float brightnessSpeed = 1.0f; // Adjust speed
private float currentBrightness = 0.0f; // Default brightness
void Start()
{
// Find the OVRPassthroughLayer in the scene
passthroughLayer = FindFirstObjectByType<OVRPassthroughLayer>();
if (passthroughLayer == null)
{
Debug.LogError("OVRPassthroughLayer not found! Make sure it's added to Main Camera.");
}
}
void Update()
{
if (passthroughLayer != null)
{
// Read right joystick Y-axis (UP increases, DOWN decreases brightness)
float joystickY = OVRInput.Get(OVRInput.Axis2D.SecondaryThumbstick).y;
if (Mathf.Abs(joystickY) > 0.1f) // Dead zone to prevent unwanted drift
{
float newBrightness = Mathf.Clamp(currentBrightness + joystickY * brightnessSpeed * Time.deltaTime, minBrightness, maxBrightness);
// Apply brightness only if it has changed
if (Mathf.Abs(newBrightness - currentBrightness) > 0.01f)
{
currentBrightness = newBrightness;
passthroughLayer.SetBrightnessContrastSaturation(currentBrightness, 0.0f, 0.0f);
Debug.Log($"Passthrough Brightness: {currentBrightness:F2}");
}
}
}
}
}
Right Joystick (OVRInput.Axis2D.SecondaryThumbstick.y) Controls Brightness
Push Up (Y = 1.0f) → Increases brightness
Push Down (Y = -1.0f) → Decreases brightness
Dead zone (> 0.1f) → Prevents joystick drift
Smooth adjustments using Time.deltaTime
Ensure PassthroughBrightnessAdjuster.cs is attached to PassthroughBrightnessAdjuster
Connect Meta Quest 3 via USB-C
Switch platform to Android (File > Build Settings > Android)
Click "Build & Run"
Use the RIGHT JOYSTICK
Push Up → Increases brightness
Push Down → Decreases brightness
Added by : Eunjin Hong 2025/02/21