.
커스텀 컴포넌트를 추가해서 인스펙터로 값을 많이 입력하고 있었는데, 리팩토링하면서 타입과 내용을 변경할 일이 생겼습니다. 그냥 바꿨다간 인스펙터에 입력했던 값들이 모두 날아가기 때문에 별도의 방법을 써야하나 고민이었는데..
결과적으론 FormerlySerializedAs( oldName ) 속성을 사용하면 해결됩니다.
using UnityEngine;
using UnityEngine.Serialization;
public class MyMonster : MonoBehaviour
{
[FormerlySerializedAs("hitpoints")]
public int health;
}
위처럼, FormerlySerializeAs 인자로 이전 변수 이름을 넣어주면, 새로운 변수에 값이 반영됩니다.
타입만 변경하는 경우엔, 내부 인자값이 바뀌지만 않으면 변경된 타입으로 바로 교체됩니다.
https://docs.unity3d.com/ScriptReference/Serialization.FormerlySerializedAsAttribute.html
.
728x90
반응형
'유니티 엔진 (Unity Engine)' 카테고리의 다른 글
[Unity] 간단한 SoundManager 소스코드 공유 (0) | 2021.03.01 |
---|---|
[Unity] 유튜브의 Unity 강좌 채널 5개 (0) | 2020.12.01 |
[Unity] Custom Editor, ReorderableList 적용하기 (0) | 2020.10.13 |
[Unity] UGUI, Scroll View 만들기 (0) | 2020.10.11 |
유니티를 이용한 VR 앱 개발, 초보자도 VR게임을 만들 수 있을까? (0) | 2020.10.05 |
[Unity][Asset] DOTween, 트위닝 애니메이션 플러그인 (0) | 2020.10.05 |
[Unity] Canvas Hierarchy 순서 가장 위/아래로 이동시키기 (0) | 2020.10.05 |