OnWillRenderObject is called for each camera if the object is visible and not a UI element.
The function is not called if the MonoBehaviour is disabled.
The function is called during the culling process just before rendering each culled object.
For usage in a proper context, see the script Water.cs
in Assets->Import Package->Effects
Note that Camera.current will be set to the camera that will render the object.
Note: This has no effect when called from a UI element.
using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { public Renderer rend; void Start() { rend = GetComponent<Renderer>(); } void OnWillRenderObject() { if (Camera.current.name == "MiniMapcam") rend.material.color = Color.red; else rend.material.color = Color.white; } }
Also, this is called multiple times per frame.