using UdonSharp; using UnityEngine; using VRC.SDK3.UdonNetworkCalling; using VRC.SDKBase; using VRC.Udon; using VRC.Udon.Common.Interfaces; public class TeamMachineSwitch : UdonSharpBehaviour { [SerializeField] private Animator switchAnimator; [SerializeField] private AudioSource switchAudioSource; private bool isActive = false; public override void Interact() { if (!Networking.IsOwner(gameObject)) return; SendCustomNetworkEvent(NetworkEventTarget.All, nameof(ActivateSwitch)); } [NetworkCallable] public void ActivateSwitch() { isActive = !isActive; switchAnimator.SetBool("isActive", isActive); switchAudioSource.Play(); RequestSerialization(); } }