Stable identity for this component, unique within a session. Auto-generated for runtime-created components; the editor overwrites it with a persistent id when projecting a saved document so references survive save / load / undo.
Whether this component participates in simulation and rendering. When false,
the GameObject skips its update/updateRender and the scene's
render collectors (mesh renderers, camera, lights, …) ignore it — the
component stays attached and keeps its state, like Unity's Behaviour.enabled
/ Renderer.enabled. Defaults to true.
The owning GameObject; assigned by addComponent before onAttach runs.
True between onAttach and onDetach — i.e. while this component sits on a GameObject that is part of a live Scene. Managed by GameObject. Internal — do not set directly.
What this probe captures.
When this probe re-bakes.
Local-space half-extents of the probe's oriented bounding box. World extent is the box transformed by the GameObject's world matrix. Both capture culling (scene mode) and per-pixel influence falloff key off this box.
Parallax-correct the reflection ray against the probe box. On by default.
Width of the influence falloff zone as a fraction of extentHalfSize.
Points outside the box get zero weight; points at fraction 1 - fade
from the box surface (toward the center) get full weight; the band in
between blends linearly. Set to 0 for hard-edged influence.
Requested capture cube face size (px). Forward-compatibility; the feature currently uses its own global value. See class header.
Requested prefiltered IBL face size (px). Same caveat as captureSize.
Requested irradiance IBL face size (px). Same caveat as captureSize.
The simulation clock of the scene this component belongs to. Read inside
update (or any time after the GameObject is added to a scene) for
absolute time, frame count, FPS, and timeScale-aware delta — e.g.
this.time.elapsed, this.time.delta, this.time.frameCount.
this.time.delta equals the dt argument passed to update, so
components can ignore that argument entirely and pull everything from here.
Connect to a Signal with automatic disconnect when this component is removed from its GameObject — the safe default for cross-object listening, so a destroyed component never leaks into (or gets called by) a signal it once observed. Typically called from onAttach:
onAttach(): void {
const health = this.gameObject.getComponent(Health)!;
this.listen(health.died, () => this.playDeathEffect());
}
The signal to connect to.
Listener, forwarded to Signal.connect.
Optionalopts: SignalConnectOptionsSee SignalConnectOptions.
The unsubscribe function, for listeners that also want to disconnect early; calling it is optional and idempotent.
Disconnect every signal connection made through listen. Called by GameObject.removeComponent after onDetach (so it runs even when a subclass overrides onDetach without calling super). Internal — do not call directly.
Called when the component joins a live scene — from addComponent when the
GameObject is already in a scene, otherwise when the GameObject is added to
one. this.gameObject.scene (and scene.engine) is always set here.
Override to acquire references to siblings/children or initialize resources.
Called when the component leaves the scene — removed via GameObject.removeComponent, or its GameObject removed from the scene. Override to release resources or unsubscribe from events.
Called every frame by the GameObject's update traversal.
Frame delta time in seconds.
Called when this component's GameObject begins touching another body, with the GameObject it collided with. Dispatched by the physics system after each world step (only while playing), so handlers may freely mutate the scene. Requires a physics body (RigidBody / CharacterBody) on the object.
The other GameObject involved in the contact.
Called every frame by the GameObject's render traversal, after update and any input/controller mutations to the transform. Override to refresh per-frame state that render passes consume (e.g. Camera recomputes its cached view/projection matrices here).
Active render context (provides canvas width/height etc.).
World-space position of the probe center.
Local→world matrix of the GameObject.
Request that the probe re-bake on the next frame. Honored regardless of updateMode (sets the internal dirty flag).
Reflection probe component. Renders the environment around the probe's world position into a cubemap, then convolves that cube into an irradiance
Reflection probes are a powerful and efficient way to capture local lighting variation across a scene, especially for large static features like the sky and clouds. They can also capture dynamic features (moving objects, time of day changes) but require more careful management of their update mode and bake timing to avoid excessive GPU cost.
Probes operate in one of three capture modes (
captureContent):'scene'mode) and the influence volume (per-pixel blend weight in the lighting pass falls off as the shaded point approaches the box surface).Capture / IBL resolution is configured at the ReflectionProbeFeature level so all probes share one cube-array texture set; the per-probe
captureSize/prefilteredSizefields are declared here as a forward-compatibility surface but are not honored on a per-probe basis yet (the manager logs a warning when they disagree with its global size).