Develog
로그인

[Unity] Scriptable Object

muchan
muchan
∙2026년 5월 19일∙조회 5
Unity
유니티 공부 기록
본문 로딩 중...
이전 글[Unity] 유니티 mcp 사용하기
다음 글[Unity]UI 배치하기2
0
muchan

게임 버그도 콘텐츠입니다.

새 글이 올라오면 Develog 알림으로 알려드려요

댓글 0

개요

Scriptable Object는 데이터를 게임 오브젝트와 분리해서 저장할 수 있게 해주는 Unity 전용 데이터 컨테이너

  • MonoBehaviour: 오브젝트에 붙어서 동작하는 스크립트
  • Scriptable Object: 프로젝트 파일처럼 존재하는 데이터 저장용 객체

왜 사용하는가?

보통 게임을 만들다 보면 아래와 같은 데이터가 많아진다

  • 무기 정보
  • 몬스터 스탯
  • 아이템 데이터
  • 스킬 정보

이걸 전부 MonoBehaviour에 넣으면:

  • 같은 데이터가 여러 오브젝트에 중복 저장됨
  • 메모리 낭비
  • 관리 힘듦
  • 수정 시 일일이 찾아야함

그래서 데이터를 따로 빼서 관리하는 게 Scriptable Object다

예시

csharp
using UnityEngine;

[CreateAssetMenu(fileName = "ResourceAsset", menuName = "Scriptable Objects/ResourceAsset")]
public class ResourceAsset : ScriptableObject
{
    public string ResourceID;
    public GameObject DropPrefab;

    [HideInInspector]
    public ResourceData Data;
}

현재 진행중인 프로젝트에서 사용하는 코드이다.

자원을 캐거나 몬스터를 죽였을 때 나오는 아이템들을 Scriptable Object로 관리하려고 스크립트를 만들었다

Scriptable Object를 만들어서 스크립트에 ResourceAsset 필드를 만들어 정보를 넘겨주면

데이터 처리가 편하다

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

아직 댓글이 없습니다. 첫 번째 댓글을 작성해보세요.

관련 글

[Unity] 제네릭의 컴파일

[Unity] 제네릭의 컴파일

ㅇㅇ

10월 7일42
[Unity] 제네릭과 가변성(variance)

[Unity] 제네릭과 가변성(variance)

제네릭과 가변성

10월 6일821
[Unity] IEnumerator 개요

[Unity] IEnumerator 개요

코루틴에이저포에버

10월 6일4
[Unity] 제네릭의 컴파일
Unity

NEW[Unity] 제네릭의 컴파일

ㅇㅇ

KYO
KYO
420
KYO
KYO
∙10월 7일
420
[Unity] 제네릭과 가변성(variance)
Unity

[Unity] 제네릭과 가변성(variance)

제네릭과 가변성

KYO
KYO
821
KYO
KYO
∙10월 6일
821
[Unity] IEnumerator 개요
Unity

[Unity] IEnumerator 개요

코루틴에이저포에버

KYO
KYO
400
KYO
KYO
∙10월 6일
400