C#_ Unity Game programming

Unity - 빌드 사이즈와 메모리의 차이점 및 Addressable System의 활용

doyyy_0 2024. 2. 24. 13:44

게임 개발 시, 빌드 사이즈와 메모리 사용량을 이해하는 것이 중요하다. 가령, A, B, C라는 리소스가 Resources 폴더 내에 위치하고 있다고 한다면, 씬 1에서는 A와 B가 필요하며, 씬 2에서는 C가 필요하다. 이 경우 빌드 사이즈에는 A, B, C 모든 리소스의 용량이 포함되지만, 메모리에는 필요한 씬에 따라 해당 리소스만 로드된다.

빌드 사이즈와 메모리 사용량의 차이

빌드 사이즈는 디스크나 저장 장치에 저장되는 게임 파일의 크기를 말한다. 즉, 게임이 설치될 때 필요한 공간이다. 반면, 메모리 사용량은 게임 실행 도중 실시간으로 RAM에서 사용되는 데이터의 양을 의미한다. 씬 1 실행 시 A와 B 리소스만 메모리에 로드되고, 씬 2가 실행될 때 C 리소스가 메모리에 로드된다.

메모리 최적화의 중요성

가용한 RAM 사이즈를 넘어서면 게임이 강제 종료되거나 성능 저하가 발생할 수 있다. 따라서 리소스를 필요할 때만 로드하고, 더 이상 사용하지 않을 때는 적시에 메모리에서 해제하는 메모리 최적화 작업이 중요하다.

빌드 사이즈 최소화 전략

모든 리소스를 게임 빌드에 포함시키는 것이 아니라, 일부 리소스를 서버에서 관리하여 필요할 때만 다운로드 받는 방식을 통해 빌드 사이즈를 최소화할 수 있다. 이 방식을 사용하면 게임의 초기 다운로드 크기를 줄일 수 있으며, 서버에서 직접 리소스를 변경할 수 있어, 게임 업데이트 시 사용자가 전체 게임을 다시 다운로드 받지 않아도 되는 장점이 있다.

이러한 전략은 특히 모바일 게임 개발에서 주로 사용되며, 어드레서블 에셋 시스템(Addressable Asset System)과 같은 기술을 사용하여 구현할 수 있다. 이 시스템을 사용하면 개발자는 리소스 관리를 보다 유연하게 할 수 있고, 사용자는 더 빠른 게임 시작 시간과 최적화된 메모리 사용을 경험할 수 있다.