[Unity] SerializeField 왜 쓰는걸까?

ChangJin·2023년 12월 14일
0

Unity

목록 보기
1/17
post-thumbnail

공식 Documentation을 참고해보면..


https://docs.unity3d.com/ScriptReference/SerializeField.html

스크립트에서 private field를 직렬화하기 위해서 사용한다.

유니티가 코드를 직렬화할 때, 오직 public field만 직렬화하는데 private field도 직렬화하고 싶을 때 SerializeField를 사용하면 된다!

직렬화란 하면 개체의 상태를 저장, 전송 또는 재구성할 수 있는 형식으로 변환하는 일종의 프로세스. 유니티에서는 게임 상태를 저장 및 로드하거나 에디터와 런타임 간 데이터를 전송하는데 쓰인다.



코드 참고

using UnityEngine;

public class SomePerson : MonoBehaviour
{
	// public 이니까 직렬화된다
    public string firstName = "John";

	// private 이니까 직렬화 되지 않는다
    private int age = 40;

	// SerializeField 사용했으므로 private 임에도 불구하고 직렬화 됩니다.
    [SerializeField]
    private bool hasHealthPotion = true;

    void Start()
    {
        if (hasHealthPotion)
            Debug.Log("Person's first name: " + firstName + " Person's age: " + age);
    }
}
profile
게임 프로그래머

0개의 댓글

관련 채용 정보