오늘은 종일 개인 프로젝트를 진행하면서 언제 ScriptableObjects를 사용해야할까라는 고민에 대해 이야기해보고자 합니다.
미리 말씀드리지만 정답도 아직 잘 모르겠고 결론도 내리지 못했다는 점 알아주시면 좋겠습니다 :)
개인 프로젝트를 계속 진행하면서 이건 ScriptableObjects를 사용해야 하나? 여기엔 굳이 사용할 필요가 없을 것 같은데라는 고민을 계속 했습니다.
가장 고민이 되었던 부분이 Status와 Item이었습니다. Status의 경우엔 강의에서 나온 프로젝트라면 ScriptableObjects를 사용하는 것이 적합한 상황이었는데 개인 프로젝트의 상황에서는 굳이 Status를 ScriptableObjects로까지는 만들 필요가 없다고 생각이 들었습니다. Item마다 객체 내부의 변수들이 일정한 요소들에 대해서는 ScriptableObjects가 적합하다고 생각했지만 Status처럼 상황에 따라 변하는 정보들은 ScriptableObjects가 적합하지 않다고 저는 느꼈습니다.
Status를 Player에게만 적용하는 상황이라서 그런 것도 없지 않은 것 같습니다. 제가 ScriptableObjects를 처음 공부했을 때, 같은 능력치를 가지는 적을 만들기 위해 ScriptableObjects를 사용하는 예시를 가장 많이 접했습니다. 하지만 지금 개인 프로젝트는 적을 만들어야할 상황이 없습니다. (차후에 어떻게 될진 모르지만...)
위의 적은 이야기들이 맞는 것인지 아직까지도 잘 모르겠고 프로젝트를 진행하면서 더 고찰해보고 튜터님들에게 질문도 해볼 생각입니다. Unity를 오래해왔지만 여전히 배울 것 투성이인 것 같습니다. (그런데 왜 Unity는 사람들을 밀어내는가...)