ScriptableObject는 유니티 엔진에서 제공하는 스크립팅 클래스로, 데이터를 저장하고 공유하기 위해 사용되는 특별한 종류의 오브젝트다
ScriptableObject는 MonoBehaviour를 상속받지 않으며, 씬에 직접 배치되지 않고 프로젝트 내에서만 사용된다
- 데이터 저장
ScriptableObject는 데이터 저장에 주로 사용된다
게임 오브젝트에 종속되지 않고, 프로젝트 내에서 공유되는 데이터를 저장하는 용도로 활용된다
예를 들어, 아이템 데이터, 게임 설정, 퀘스트 정보 등을 ScriptableObject로 정의하여 사용할 수 있다 - 인스턴스화 가능
ScriptableObject는 유니티의 에디터에서 쉽게 인스턴스화할 수 있다
에디터 상에서 ScriptableObject을 생성하고 설정한 뒤, 프로젝트 내에서 필요한 곳에서 해당 인스턴스를 참조하여 사용할 수 있다 - 에디터 확장성
ScriptableObject는 에디터 기능을 확장하는 데에도 사용될 수 있다
에디터 윈도우, 커스텀 에디터, 인스펙터 커스터마이징 등에서 활용할 수 있다
이를 통해 사용자 정의 데이터를 편리하게 생성하고 수정할 수 있다 - 직렬화 지원
ScriptableObject는 직렬화(serialization)를 지원하여, 데이터를 파일에 저장하고 로드할 수 있다
이를 통해 게임 데이터를 유지하고, 프로젝트 간에 데이터를 공유하거나 백업할 수 있다 - 메모리 효율
ScriptableObject는 유니티의 메모리 관리 기능을 활용하여 메모리 효율적으로 사용할 수 있다
ScriptableObject는 참조를 통해 공유되고, 필요한 경우에만 인스턴스화되므로 중복된 데이터를 가지지 않고도 여러 곳에서 사용할 수 있다
'내일배움캠프_TIL' 카테고리의 다른 글
12월 4일 TIL (0) | 2023.12.04 |
---|---|
11월 30일 TIL (0) | 2023.12.01 |
11월 28일 TIL (0) | 2023.11.28 |
11월 27일 TIL (1) | 2023.11.28 |
11월 23일 TIL (0) | 2023.11.23 |