Unity PlayerPrefs

이진호·2023년 11월 22일

C#... 그리고 Unity

목록 보기
1/15

UnityEngine에서 제공하는 데이터 관리 클래스

int, float, string, bool 타입을 저장 할 수 있다.

사용처

  • 런타임시 변경되는 데이터를 변수로 보관하기 보다, 자료구조의 'Dictionary' 처럼 키와 값을 쌍으로 저장하는 방식.

저장공간

  • Windows
    - 레지스트리에 저장, 'HKEY_CURRENT_USER\Software~'.

  • Mac
    - '~/Library/Preferences/회사명.제품명.plist' 파일에 저장.

  • Linus
    - '~/.config/unity3d/회사명/제품명/prefs 디렉터리에 XML 파일로 저장.

  • Android
    - 애플리케이션의 데이터 폴더에 저장됩니다. '/data/data/패키지 이름/shared_prefs/회사명.제품명_prefs.xml' 경로에 저장.

  • iOS
    - 'Library/Preferences/회사명.제품명.plist' 파일에 저장.

  • WebGL
    - 브라우저의 로컬 스토리지에 저장.


키워드

  • DeleteAll : 저장했던 모든 값을 삭제(초기화).

  • DeleteKey : 특정 키 값을 삭제.

  • Get

    • GetFloat : float타입의 값을 반환.
    • GetInt : Int타입의 값을 반환.
    • GetString : String타입의 값을 반환.
    • GetBool : true,false을 반환.
  • Set

    • SetFloat : float 타입의 값을 저장.
    • SetInt : int 타입의 값을 저장.
    • SetString : string 타입의 값을 저장.
    • SetBool : true, false을 저장.
  • HasKey : 특정 키의 존재여부를 반환.

  • Save : 변경된 모든 키 값을 저장.

  • SaveKey : 특정 키의 현재 값을 저장.


사용방법

사용예시_1
PlayerPrefs.GetInt("level_date", 0);
//Playerprefs.GetInt("저장할 이름", 초기값); 이름은 문자열, 초기값은 설정 안해도 무방함.
//level_date이라는 데이터베이스에 값타입으로 0을 초기값으로 설정한다.(초기값 생략시 기본값은 0)
>사용예시_2
PlayerPrefs.Save();
//PlayerPrefs 데이터의 변경된 값을 저장한다.
PlayerPrefs.DeleteKey("level_date");
//level_date의 데이터를 초기화 한다.

추가 사용법

  • SceneManager.GetActiveScene().name //Unity 현재 씬의 이름
    위와 같은 방식으로 저장한 string 타입을 저장할 수도 있다.
profile
콜라 없는 내 인생은 김빠진 콜라

0개의 댓글