SO공부하다가 직렬화 얘기나와서

잠깐 직렬화 공부하다가 지금 몇시간이 지난건지 모르겠는데

내가 빡통이라 그런가 이해가 된건지 안된건지 모르겠다


이해한거 설명해보자면


초보들은 직렬화를 인스펙터에 public이 아닌 변수를 띄우게하는 기능이라고만 이해하지만


사실 직렬화는 데이터 구조나 오브젝트 상태를 unity에디터가 저장하고 나중에 재구성할 수 있는 포맷으로 자동으로 변환하는 프로세스

쉽게말해 세이브파일을 만든다는 개념


이 세이브파일을 만드는 이유는 타 기기간 원활한 전송을 위한 것도 있고

프로그램을 열었을 때 이 세이브파일을 값을 바탕으로 씬이나

게임오브젝트나 에셋을 재구성하기 때문


인스펙터에서 직렬화된 필드를 볼수있는건 유니티에서 부가적으로 지원하는 기능때문이지

이게 직렬화의 핵심개념은 아닌것 그러나 유용함


직렬화를 사용하는 이유는 다른 기기 or 다른 시간대에서 우리가 저장했던 정보(씬, 게임오브젝트, 에셋)를 그대로 구현할 수 있는

설정 값을 저장하는 파일을 만들기 위함


유니티는 씬이나 프리팹에 대한 직렬화 데이터 저장 시 YAML을 사용


맞게 이해한거임?

진짜 정신나갈것같애