using UdonSharp; using UnityEngine; using VRC.SDKBase; using VRC.Udon; [UdonBehaviourSyncMode(BehaviourSyncMode.None)] public class TriggerToggle : UdonSharpBehaviour { [SerializeField] private Collider _Collider = null; [SerializeField] private GameObject _ToggledObject = null; [Tooltip("When true, object is active when player is inside trigger volume. If false, object is inactive when inside trigger volume.")] [SerializeField] private bool _ActiveOnTrigger = true; public override void OnPlayerTriggerEnter(VRCPlayerApi Player) { if (Player.isLocal) { _ToggledObject.SetActive(_ActiveOnTrigger); } base.OnPlayerTriggerEnter(Player); } public override void OnPlayerTriggerExit(VRCPlayerApi Player) { if (Player.isLocal) { _ToggledObject.SetActive(!_ActiveOnTrigger); } base.OnPlayerTriggerExit(Player); } }