Legacy Documentation: Version 4.5.0

Script language:

  • JS
  • C#
  • Boo
Script language

Select your preferred scripting language. All code snippets will be displayed in this language.

MonoBehaviour.OnTriggerStay(Collider)

Switch to Manual

Description

OnTriggerStay is called once per frame for every Collider other that is touching the trigger.

This message is sent to the trigger and the collider that touches the trigger. Note that trigger events are only sent if one of the colliders also has a rigid body attached.

	// Applies an upwards force to all rigidbodies that enter the trigger.

function OnTriggerStay (other : Collider) { if (other.attachedRigidbody) other.attachedRigidbody.AddForce(Vector3.up * 10); }

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour {
    void OnTriggerStay(Collider other) {
        if (other.attachedRigidbody)
            other.attachedRigidbody.AddForce(Vector3.up * 10);
        
    }
}
import UnityEngine
import System.Collections

public class ExampleClass(MonoBehaviour):

	def OnTriggerStay(other as Collider) as void:
		if other.attachedRigidbody:
			other.attachedRigidbody.AddForce((Vector3.up * 10))

OnTriggerStay can be a co-routine, simply use the yield statement in the function.