Quick answer: Switch Reflection Probe Type from Baked to Realtime, set Refresh Mode to Via Scripting, and call probe.RenderProbe() from your code only when scene lighting actually changes. Avoid Every Frame for cost reasons.
Day-night cycle ticking past noon, but the chrome car in your scene still reflects an orange sunset? Reflection probes are baked by default, and a baked probe will never see a light change again until you re-bake it.
The Symptom
Lights animate, the skybox rotates, the player opens a door — but reflective surfaces still mirror the scene as it looked when the level was last baked. The static reflection is correct for the original lighting and slowly drifts more wrong as the scene changes.
What Causes This
Reflection Probes have three Type options: Baked, Custom, and Realtime. Baked stores a cubemap on disk and never re-renders. Custom uses a manually authored cubemap. Only Realtime captures the live scene at runtime.
The Fix
Step 1: Type = Realtime. Inspector → Reflection Probe → Type → Realtime. The Bake button disappears; new fields appear for Refresh Mode and Time Slicing.
Step 2: Refresh Mode = Via Scripting. Do not use Every Frame — rendering six cubemap faces every frame is brutal even on desktop. Via Scripting gives you control over when the cost happens.
Step 3: Time Slicing = All Faces At Once or Individual Faces. All Faces is one big spike per refresh. Individual Faces spreads the cost across six frames at the cost of a 6-frame seam if reflections change mid-update. For most games, Individual Faces is the better tradeoff.
Step 4: Render when needed.
public class DayNightProbe : MonoBehaviour
{
public ReflectionProbe probe;
private float _lastSunAngle;
void Update()
{
var sunAngle = SunDirector.CurrentAngle;
if (Mathf.Abs(sunAngle - _lastSunAngle) > 5f)
{
probe.RenderProbe();
_lastSunAngle = sunAngle;
}
}
}
Refresh only when the lighting has visibly changed by some threshold. For static-lit environments with one moving event (a door, an explosion), trigger a refresh on that event and never otherwise.
Box Projection for Indoor Scenes
If your probe is inside a room and reflections look like the cubemap is at infinity (everything looks tiny and far away), enable Box Projection on the probe. The probe’s Box Size becomes the assumed reflection geometry, which makes wall reflections look correct.
Resolution Tradeoff
Probe Resolution defaults to 128 — fine for matte materials, blurry on chrome. Bump to 256 or 512 for visibly metallic surfaces. The cost scales quadratically with resolution; profile before going past 512.
“Realtime type, Via Scripting refresh, RenderProbe on real change. The mirror finally sees what is in front of it.”
Related Issues
For light probes failing on dynamic objects, see light probe seams. For PBR materials looking flat, see PBR specular.
Realtime. Via scripting. RenderProbe on change.