아이템이나 몬스터 데이터등 데이터를 파일에서 읽어서 플레이에 사용하려는데


이 읽은 데이터를 어떻게 관리해야 잘 관리하는지 모르겠어요 ㅠㅠ




1. Scriptableobject를 데이터 베이스로 잡고 읽은 데이터 저장하라는 방법을 GPT에게 추천받아서

인게임에서 Scriptableobject에서 파일 데이터를 읽고 Scriptableobject에 포함되어있는 자료구조에 메모리 저장을 동시 할려고하는데,


씬 간 이동(비전투씬이 포함될 수 있음)에 메모리가 해제 될 것 같아서 메모리 해제 여부를 확인을 계속하는 이 방식이 맞는지 모르겠어요


Scriptableobject에 bool 멤버변수를 생성하고 메모리 등록 or 해제(OnDisable, OnEnable)에 bool값을 건들어서 메모리 해제 여부를 확인하는게 좋을까요? 

아니면 메모리를 항상 유지하도록 싱글톤으로 gameobject를 만들고 거기에 Scriptableobject를 넣어놔야할까요??



2. 그리고 데이터 식별자는 보통 어떤 자료형으로 하나요?

지금은 ID를 파일에서 string으로 되어있는 변수를 바탕으로 사용하는데 인게임에서는 string으로 ID를 찾는건 성능상 안좋겠죠...?


만약 string이 아닌 int나 별도의 자료형을 사용하는게 더 효율적이라고하면,

파일에서 받아온 식별자 string를 키값해서 string 1: Type 1으로 대응시켜 자료구조에 저장해놓고 찾을것 같은데 더 좋은 방법이 있나요?



3. 파일에서 데이터를 class 형식으로 파싱해서 사용하는데 맞게 하는건가요?


또, 해당 데이터 저장 class를 상속 구조로 만들어서 사용해도 괜찮나요?