프로세스 킬

업데이트 후에 PlayerPrefs 의 정보가 날아가는 이슈 발생 !

으악!! 또 뭐가 잘못된거야 ㅠ_ㅠ…

테스트 해보니

void Main()
{
  Application.Quit()// 대신에 
  //잘 모르는 함수였던 
  System.Diagnostics.Process.GetCurrentProcess().Kill(); // 이걸 쓴게 화근이었다. 
}

Unity 의 로컬 저장으로 편리한 기능을 제공하는 PlayerPrefs는

temp 로 데이터를 들고 있다가 , Application.Quit() 이 호출 될 때

PlayerPrefs.Save() 가 발동 되는 개념이다.

따라서 , 매번 Process.Kill() 을 사용하면 저장되지 않았던 정보들이 날아가기도 하는 것이다.

해결 방법은 다음과 같다.

  1. 그냥 원래대로 Application.Quit() 쓰자.
  2. 적당한 타이밍에 PlayerPrefs.Save() 를 수동으로 콜해준다. ( 매번이 아닌 이유는 성능상의 이슈가 있다고 메뉴얼에 적혀있다 . 애초에 수동으로 부르는 게 권장이 아님 )