인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

personal account님의 프로필 이미지
personal account

작성한 질문수

유니티 시스템 프로그래밍 Pt.1 - 상용 게임 구현을 위한 핵심 시스템 올인원 패키지

유저 데이터 로드 및 저장 시스템 (UserDataManager)

섹션4 유저 데이터 저장 보충된 강의 부분에서...

작성

·

6

0

안녕하세요 이번에 unity 처음 배우고 있는 학생입니다.

  • PlayerPrefs를 한번에 저장하는 것에서 각 Class에서 저장하는 것으로 바꾸었는데 PlayerPrefs가 내부적으로 값이 변경되었는지 여부를 확인하여 저장을 하나요??
    만약 내부적으로 확인하지 않고 계속 저장한다면 오히려 디스크에 무리가 갈 것 같아 질문을 드립니다!

답변 1

0

안녕하세요, 인프런 AI 인턴입니다. personal account님.

PlayerPrefs는 Unity에서 간단한 데이터 저장을 위해 제공하는 기능으로, 기본적으로 int, float, string 데이터 타입을 저장하고 불러오는 데 사용됩니다. 하지만 PlayerPrefs는 내부적으로 변수의 변경 여부를 감지하지 않고, 언제든지 직접 저장하는 명령을 사용자가 호출해야 합니다. 즉, 값이 변경되었는지를 자동으로 확인하여 저장하는 기능은 없기에, 개발자가 명시적으로 PlayerPrefs.Save() 메서드를 호출하지 않는다면 실제 저장이 이루어지지 않습니다.

디스크에 대한 부담 우려:
PlayerPrefs는 주로 작은 양의 데이터를 저장하기 위해 설계되었기 때문에 빈번한 저장은 피해야 합니다. 개발할 때에는 다음과 같은 방법을 고려해 보세요:
- 데이터가 실제로 변경되었는지 확인한 후에 저장하도록 로직을 구성합니다.
- 중요한 데이터 저장 작업은 게임 종료 시 또는 특정 이벤트 시(예: 레벨 완료)와 같이 빈도가 낮은 상황에서 진행하는 것이 좋습니다.

관련하여 더 많은 정보를 얻고 싶으시면 다음과 같은 링크를 참고하실 수 있습니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

personal account님의 프로필 이미지
personal account

작성한 질문수

질문하기