using UdonSharp; using UnityEngine; using VRC.SDKBase; using VRC.Udon.Common; [UdonBehaviourSyncMode(BehaviourSyncMode.Manual)] public class PositionMarker : UdonSharpBehaviour { [SerializeField] private GameObject _Marker; [UdonSynced] private string _PlayerName; public override void OnDeserialization(DeserializationResult Result) { _SetPlayer_Synced(); base.OnDeserialization(Result); } public void SetPlayer(string Name) { _PlayerName = Name; _SetPlayer_Synced(); RequestSerialization(); } private void _SetPlayer_Synced() { _Marker.SetActive(Networking.LocalPlayer.displayName == _PlayerName); } public void ClearPlayer() { _PlayerName = ""; _SetPlayer_Synced(); RequestSerialization(); } }