[Unity] 44. 필드 직렬화

Connected Brain·2025년 5월 9일

면접 질문 대비

목록 보기
44/60

Unity에서 필드를 직렬화하려면 어떻게 해야하는지 설명해주세요.

SerializedField

  • 기본적으로 public으로 선언된 변수, 배열, 리스트는 직렬화되어 인스펙터 창에 표시됨
  • private으로 선언된 변수, 배열, 리스트는 [SerializedField]를 추가해 직렬화 가능
  • 기본적으로 직렬화되지 않는 Dictionary나 클래스도 Serializable을 추가해 직렬화 가능하게 만들 수 있음
[Serializable]
public abstract class BaseBuff : IObservable
{
    [SerializeField] protected BuffData buffData;
    [SerializeField] private int stack;
    [ShowInInspector, ReadOnly] private int addedFrame;
...
  • 클래스를 직렬화 가능하게 만든 예시

직렬화의 장점

  • 에디터 상에 값이 노출되므로 매번 코드를 수정하는 것이 아니라, 런타임에서 해당 변수를 수정하면서 적용해볼 수 있음
  • 씬이나 프리팹이 저장될 때 직렬화된 정보를 저장하므로 각각이 다른 값을 가지도록 저장할 수 있음

0개의 댓글