부트캠프/Unity [ 스파르타 ]

[스파르타 ][TIL] 유니티 스파르타 7기 49일차 - Variant

맏난거 2025. 4. 18. 22:10

✅ 1. Addressables의 Variant (유니티 기준)

의미: Addressables에서의 Variant는 리소스의 다른 버전을 의미합니다.
예를 들어, 같은 프리팹이지만 고해상도 버전과 저해상도 버전이 있을 수 있고, 이들을 Variant로 구분해서 빌드/로딩할 수 있습니다.

Assets/
└── Prefabs/
    ├── Character.prefab
    ├── Character_HD.prefab   ← 고화질 Variant
    └── Character_LD.prefab   ← 저화질 Variant

사용법 개념:
어드레서블 그룹에서 "Character"라는 키로 여러 Variant를 등록하고, 런타임 시점에 필요한 Variant를 로드합니다.

// 유니티 Addressables 예시
Addressables.LoadAssetAsync<GameObject>("Character_HD");

✅ 2. Unreal Engine의 Variant

의미: 언리얼에서 Variant는 오브젝트의 상태/옵션 전환을 위한 시스템입니다.
예: 버튼을 누르면 의자의 색이나 모양이 바뀌는 시스템을 만들 때 사용.

✅ 3. 프로그래밍 일반 개념에서 Variant

이건 타입과 관련된 내용인데, 예전 VB나 COM에서는 Variant 타입이 모든 타입을 담을 수 있는 유연한 타입이었습니다.
C#에서는 object, dynamic이 그 역할을 대신합니다.

object variant = 123;
variant = "Hello"; // 타입 바꿔치기 가능

👀 결론 요약

문맥의미예
Unity Addressables 리소스의 버전(HD/LD) "Character_HD"
Unreal Engine 오브젝트 옵션 전환 시스템 의자 색상 Variant
일반 프로그래밍 다양한 타입을 담는 컨테이너 object, dynamic