게임 매니저

public class Managers : MonoBehaviour
{
	// 유일한 Managers 인스턴스를 저장하는 정적 변수
	static Managers s_instance; 
	
	// 외부에서 Managers.Instance로 접근 가능 (싱글톤)
	public static Managers Instance 
	{ 
		get 
		{ 
			Init(); 
			return s_instance; 
		} 
	}
	
	// 유니티 생명 주기 함수, 시작 시 Init() 호출
	void Start()
	{
		Init();
	}
	
	// 싱글톤 초기화 및 씬 전환 시 유지 처리
	static void Init()
	{
		if (s_instance == null)
		{
			// @Managers 오브젝트를 찾거나 새로 생성
			GameObject go = GameObject.Find("@Managers");
			if (go == null)
			{
				go = new GameObject { name = "@Managers" };
				go.AddComponent<Managers>();
			}
			
			// 씬 전환 시 파괴되지 않도록 설정
			DontDestroyOnLoad(go);
			
			// 인스턴스를 해당 컴포넌트로 설정
			s_instance = go.GetComponent<Managers>();
		}
	}
}

플레이어

public class Player : MonoBehaviour
{
	void Start()
	{
		Managers mg = Managers.Instance;
	}
}