
스크립터블 오브젝트
유니티에서 제공하는 데이터 컨테이너
값의 사본이 생성되는 것을 방지하여 프로젝트의 메모리 사용을 줄일 수 있다
변경되지 않는 데이터를 사용하는 프리팹에 유용함
모노비헤이비어를 사용하는 일반 스크립트와 달리 오브젝트에 컴포넌트로 부착이 불가능
using UnityEngine;
[CreateAssetMenu(fileName = "Zombie Data", menuName = "Scriptable Object/Zombie Data", order = int.MaxValue)]
public class ZombieData : ScriptableObject
{
[SerializeField]
private string zombieName;
public string ZombieName { get { return zombieName; } }
[SerializeField]
private int hp;
public int Hp { get { return hp; } }
[SerializeField]
private int damage;
public int Damage { get { return damage; } }
[SerializeField]
private float sightRange;
public float SightRange { get { return sightRange; } }
[SerializeField]
private float moveSpeed;
public float MoveSpeed { get { return moveSpeed; } }
}
CreateAssetMenu 속성은 스크립터블 오브젝트 스크립트를 이용해서 빠르고 쉽게 에셋을 생성할 수 있게 만들어주는 속성이다.

코드를 빌드하고 에디터로 돌아가서 Assets 메뉴를 보면 추가한 menuName 대로 Create>Scriptable Object>Zombie Data 항목이 새로 생긴 것을 볼 수 있다.


'내일배움캠프_TIL' 카테고리의 다른 글
10월 5일 TIL (1) | 2023.10.06 |
---|---|
9월 27일 TIL (0) | 2023.09.28 |
9월 25일 TIL (1) | 2023.09.25 |
9월 20일, 21일 TIL (0) | 2023.09.21 |
9월 19일 TIL (0) | 2023.09.19 |