728x90
반응형
- 개요
유니티에서 일반적인 애셋들은 Scene에서 참조될 때 자동 로드되지만
Resource 기능을 사용하면 런타임 중에 코드로 에셋을 직접 로드할 수 있다
해당 기능을 사용하기 위해서는 애셋은 반드시 "Resources" 이름의 폴더에 저장되어 있어야 한다
- Resource의 사용방법


위와 같이 Resource 폴더를 구성하였다

시험해볼 코드의 구성은 위와 같다
Resource 폴더에서 애셋을 로드하는 방식은 총 3가지가 존재한다
- Load<T>() : 특정 애셋을 로드
- LoadAll<T>() : 특정 경로의 모든 애셋을 로드
- LoadAsync<T>() : 특정 애셋을 비동기 로드
예제에서 사용하지는 않았지만 로드된 애셋을 메모리에서 해제하여 최적화하는 것도 가능하다
- UnloadAsset() : 사용하지 않는 특정 애셋을 메모리에서 해제
- UnloadAssets() : 사용하지 않는 모든 애셋을 메모리에서 해제
스크립트는 위와 같이 구성하여 Load 함수와 LoadAsync 함수를 사용한다
- ResourceCube 애셋과 ResourceSphere 애셋은 애셋의 이름과 애셋의 경로를 넘겨주어 로드
- ResourceCapsule 애셋은 애셋의 이름을 넘겨주어 비동기 로드
- 이때 비동기 로드가 완료되면 콜백 함수를 호출하여 로드된 애셋을 출력

최종 실행 결과는 위와 같다
ResourceCube 애셋과 ResourceCapsule 애셋은 로드한 후에 Instantiate 함수를 호출하여 생성하였고,
ResourceCapsule 애셋은 로드된 후에 이름이 출력된 것을 확인할 수 있다
- Resource의 장단점
최종적으로 Resource의 장단점을 정리하면 다음과 같다
- 장점 : 직접적인 인스펙터 참조 없이 경로명만으로 에셋에 즉시 접근 가능 + 런타임에 애셋 로드가 가능
- 단점 : 빌드의 크기가 증가 + 대형 애셋은 로딩에서 불리함 + 남용하면 메모리에 영향을 줌
728x90
반응형
'유니티 엔진 > 유니티 엔진의 구성' 카테고리의 다른 글
| 유니티 엔진의 구성 - 19) Pivot vs Center와 Global vs Local (0) | 2026.02.14 |
|---|---|
| 유니티 엔진의 구성 - 18) Game Object Icon Gizmos (0) | 2026.02.11 |
| 유니티 엔진의 구성 - 16) Assembly Definition (0) | 2026.02.02 |
| 유니티 엔진의 구성 - 15) Render Objects (0) | 2026.01.26 |
| 유니티 엔진의 구성 - 14) ProBuilder (0) | 2026.01.22 |