• 게임
  • 산업 분야
  • 리소스
  • 커뮤니티
  • 학습
  • 문의하기
개발
Unity 엔진
모든 플랫폼 위한 2D 및 3D 게임 제작
다운로드플랜 및 가격
수익화
인앱 결제/인앱 구매(IAP)
스토어 간 IAP 검색 및 관리
Mediation
수익 / 매출 극대화 및 수익화 / 수익 창출 최적화(하다)
Ad Quality
앱 유저. '광고 지면'의 타겟 고객 경험 보호
탭조이
장기적인 유저. '광고 지면'의 타겟 고객 충성도 구축
모든 수익화 / 수익 창출 제품
사용자 확보
사용자 확보
모바일 사용자를 검색하고 Acquire
Unity 벡터 AI
적합한 게임으로 플레이어 연결
Aura 디바이스 단위 광고
최대 참여/인게이지먼트 시 기기 내 사용자 도달률
모든 성장 제품
활용 부문
3D 협업
실시간 3D 프로젝트 빌드 및 검토
몰입형 교육
몰입도 높은 환경 제작
고객 경험
인터랙티브 3D 경험 제작
모든 업계 솔루션
산업 분야
제조업
운영 우수성 확보
리테일
상점 경험을 온라인 경험으로 전환
자동차
혁신 및 차량 내 경험 향상
전체 산업 분야
테크니컬 라이브러리
기술 자료
공식 유저. '광고 지면'의 타겟 고객 매뉴얼 및 API 레퍼런스
개발자 툴
릴리스 버전 및 이슈 트래커
로드맵
예정된 기능 검토
용어집
기술 용어 라이브러리
분석 자료
활용 사례
실제 성공 사례
베스트 프랙티스 가이드
전문가 팁
모든 리소스
새로운 기능
블로그
업데이트, 정보, 기술 팁
뉴스
뉴스, 스토리, 보도 센터
커뮤니티 허브
토론
토론, 문제 해결, 소통
이벤트
글로벌 이벤트 및 현지 이벤트
커뮤니티 사례
Made with Unity
Unity 크리에이터 소개
Livestreams
개발자, 크리에이터, Insider와의 소통
Unity Awards
전 세계 Unity 크리에이터 축하
모든 레벨 지원
Unity Learn
무료로 Unity 기술 마스터
전문 교육
Unity 강사와 함께 팀의 역량을 강화하세요
Unity 처음 사용하시나요
시작하기
학습 시작하기
Unity 필수 학습 길잡이
Unity 사용이 처음이신가요? 여정 시작하기
사용법 가이드
실용적인 팁 및 베스트 프랙티스
교육
학생용
커리어 시작하기
교육 담당자 대상 교육
교육 효율 극대화
교육 라이선스
교육 기관에 Unity 강력한 기능 도입
자격증
Unity 숙련도를 입증하세요
지원 옵션
도움 받기
성공을 위한 Unity
Success 플랜
전문가 지원을 통해 더 빠르게 목표 도달률 달성
FAQ
일반적인 질문에 대한 답변
문의하기
유니티 팀과 소통하기
플랜 및 가격
언어
  • English
  • Deutsch
  • 日本語
  • Français
  • Português
  • 中文
  • Español
  • Русский
  • 한국어
소셜
통화
구매
  • 제품
  • 유니티 애즈
  • 구독
  • Unity 에셋 스토어
  • 리셀러
교육
  • 학생
  • 교육 담당자
  • 기관
  • 인증 시험
  • 레벨업 아카데미
  • Skills Development Program
다운로드
  • Unity Hub
  • 다운로드 아카이브
  • 베타 프로그램
Unity Labs
  • Labs
  • Publications
리소스
  • Unity 학습 플랫폼
  • 커뮤니티
  • 기술 자료
  • Unity QA
  • FAQ
  • Services Status
  • 활용 사례
  • Made with Unity
Unity
  • 회사
  • 뉴스레터
  • 블로그
  • 이벤트
  • 채용 정보
  • 도움말
  • Press
  • 파트너
  • 투자자
  • 어필리에이트
  • 보안
  • 소셜 임팩트
  • Inclusion & Diversity
  • 문의하기
Copyright © 2025 Unity Technologies
  • 법적 고지 사항
  • 개인정보처리방침
  • 쿠키
  • 개인정보 판매 또는 공유 금지

'Unity', Unity 로고 및 기타 Unity 상표는 미국 및 기타 국가에서 유니티 테크놀로지스 또는 계열사의 상표 또는 등록상표입니다(여기에서 자세한 정보 확인). 기타 명칭 또는 브랜드는 해당 소유자의 상표입니다.

Hero background image

더 강력한 성능을 위한 Unity 프로젝트 설정

이 웹페이지는 이해를 돕기 위해 기계 번역으로 제공됩니다. 기계 번역으로 제공되는 콘텐츠에 대한 정확도나 신뢰도는 보장되지 않습니다. 번역된 콘텐츠의 정확도에 관해 의문이 있는 경우 웹페이지의 공식 영어 원문을 참고해 주시기 바랍니다.
여기를 클릭하세요.

이 글은 Unity 프로젝트 최적화 팁을 unpack하는 시리즈의 첫 번째입니다. 더 적은 자원으로 더 높은 프레임 속도로 실행하기 위한 가이드로 사용하세요. 이 최선의 방법을 시도한 후에는 시리즈의 다른 페이지도 확인하세요:

  • 고품질 그래픽스를 위한 성능 최적화
  • PC 및 콘솔 게임용 GPU 사용량 관리
  • 고급 프로그래밍 및 코드 아키텍처
  • 매끄러운 게임플레이를 위한 향상된 물리 성능

Unity 6 개발자 및 아티스트를 위한 최신 최적화 가이드를 확인하세요:

  • Unity에서 모바일, XR, 웹용 게임 성능 최적화
  • Unity에서 콘솔 및 PC용 게임 성능 최적화
  • 더 강력한 성능을 위한 프로젝트 설정
  • 불필요한 Player/Quality 설정 비활성화
  • IL2CPP로 전환하세요
  • 올바른 프레임 속도 선택
  • 가속도계 주파수 줄이기 또는 비활성화
  • 큰 계층 구조 피하기
  • 텍스처 압축하기
  • 텍스처 가져오기 설정 활용하기
  • 텍스처 아틀라스 만들기
  • 다각형 수 확인하기
  • 메시 임포트 설정 관리
  • 더 많은 메시 최적화 보기
  • 자산 감사
  • 비동기 텍스처 버퍼 조정
  • Mip 맵 및 텍스처 스트리밍
  • 어드레서블 사용

더 강력한 성능을 위한 프로젝트 설정

잘 최적화된 자산 파이프라인은 로드 시간을 단축하고, 메모리 사용량을 줄이며, 런타임 성능을 향상시킬 수 있습니다. 경험이 풍부한 기술 아티스트와 협력함으로써, 팀은 자산 형식, 사양 및 임포트 설정을 정의하고 시행하여 효율적이고 간소화된 워크플로를 보장할 수 있습니다.

기본 설정에만 의존하지 마십시오. 플랫폼별 오버라이드 탭을 활용하여 텍스처, 메시 기하학 및 오디오 파일과 같은 자산을 최적화하십시오. 잘못된 설정은 더 큰 빌드 크기, 더 긴 빌드 시간 및 불량 메모리 사용을 초래할 수 있습니다.

특정 프로젝트 요구에 맞춘 기준 설정을 수립하기 위해 프리셋 사용을 고려하십시오. 이러한 사전 예방적 접근 방식은 자산이 처음부터 최적화되도록 도와주어, 모든 플랫폼에서 더 나은 성능과 일관된 경험을 제공합니다.

더 많은 지침을 원하시면 아트 자산에 대한 모범 사례를 참조하거나 Unity Learn에서 모바일 애플리케이션을 위한 3D 아트 최적화 과정을 탐색하십시오. 이러한 리소스는 Unity 웹 빌드, 모바일 및 XR 애플리케이션에 대한 자산 최적화에 대한 정보에 입각한 결정을 내리는 데 도움이 되는 귀중한 통찰력을 제공합니다.

Unity에서 2D 스프라이트를 패킹할 때의 세 가지 유형의 아틀라스
UNITY에서 2D 스프라이트를 패킹할 때의 세 가지 유형의 아틀라스

불필요한 플레이어 또는 품질 설정 비활성화

플레이어 설정에서 지원되지 않는 플랫폼에 대해 자동 그래픽 API를 비활성화하여 과도한 셰이더 변형 생성을 방지하십시오. 응용 프로그램이 지원하지 않는 경우 구형 CPU에 대해 대상 아키텍처를 비활성화하십시오.

품질 설정에서 불필요한 품질 수준을 비활성화합니다.

그래픽 API에 대해 자세히 알아보세요.

품질 설정
품질 설정에서 불필요한 품질 수준을 비활성화합니다.

IL2CPP로 전환하세요

스크립팅 백엔드를 모노에서 IL2CPP (중간 언어에서 C++)로 전환하면 전반적으로 더 나은 실행 성능을 제공할 수 있습니다. 그러나 빌드 시간이 증가할 수도 있습니다. 일부 개발자는 더 빠른 반복을 위해 로컬에서 모노를 사용한 다음, 빌드 머신 및/또는 릴리스 후보를 위해 IL2CPP로 전환하는 것을 선호합니다. 빌드 시간을 줄이는 방법에 대한 자세한 내용은 IL2CPP 빌드 시간 최적화 문서를 참조하세요.

참고: 이 옵션을 사용하면 Unity는 스크립트와 어셈블리의 IL 코드를 C++로 변환한 후, 대상 플랫폼을 위한 네이티브 바이너리 파일(.exe, .apk, .xap)을 생성합니다.

IL2CPP 내부 소개를 참조하거나 컴파일러 옵션 매뉴얼 페이지를 참조하여 다양한 컴파일러 옵션이 실행 성능에 미치는 영향을 알아보세요.

올바른 프레임 속도 선택

모바일 프로젝트는 프레임 속도와 배터리 수명 및 열 제한을 균형 있게 조절해야 합니다. 60 fps의 한계를 넘기기보다는 30 fps에서 실행하는 것을 고려해 보세요. Unity는 모바일에 대해 기본적으로 30 fps를 설정합니다.

XR 플랫폼을 목표로 할 때 프레임 속도 고려 사항은 더욱 중요합니다. 72 fps, 90 fps 또는 120 fps의 프레임 속도가 종종 몰입감을 유지하고 멀미를 방지하는 데 필요합니다. 이러한 높은 프레임 속도는 VR 환경에서 편안함을 위해 중요한 부드럽고 반응적인 경험을 보장하는 데 도움이 됩니다. 그러나 이러한 것들은 특히 독립형 VR 헤드셋에서 전력 소비 및 열 관리와 관련된 자체적인 도전 과제를 동반합니다.

적절한 프레임 속도를 선택하는 것은 모바일 장치, 독립형 VR 헤드셋 또는 AR 장치와 같은 대상 플랫폼의 특정 요구 사항과 제약을 이해하는 것입니다. 적절한 프레임 속도를 신중하게 선택함으로써 다양한 플랫폼에서 성능과 사용자 경험을 최적화할 수 있습니다.

런타임 중에 Application.targetFrameRate를 사용하여 프레임 속도를 동적으로 조정할 수 있습니다. 예를 들어, 느리거나 상대적으로 정적인 장면에서는 30 fps 이하로 떨어뜨리고 게임 플레이를 위해 더 높은 fps 설정을 예약할 수 있습니다.

자세한 정보는 문서에서 확인할 수 있습니다.

가속도계 주파수 줄이기 또는 비활성화

Unity는 모바일의 가속 센서를 초당 여러 번 풀링합니다. 애플리케이션에서 사용하지 않는 경우 이를 비활성화하거나 전체 성능을 개선하기 위해 주파수를 줄이세요.

가속 센서<1>}에 대해 자세히 알아보세요.

가속 센서 주파수 설정 방법
모바일 게임에서 사용하지 않는 경우 가속 센서 주파수를 비활성화하세요.

큰 계층 구조 피하기

계층 구조를 분리하세요. GameObject가 계층 구조에 중첩될 필요가 없다면 부모 관계를 단순화하세요.

더 작은 계층 구조는 장면의 변환을 새로 고치는 데 멀티스레딩의 이점을 누립니다. 복잡한 계층 구조는 불필요한 변환 계산과 가비지 수집에 더 많은 비용을 발생시킵니다.

변환에 대한 팁은 계층 최적화 및 이 Unite 강연을 참조하세요.

텍스처 압축하기

위의 두 예는 동일한 모델과 텍스처를 사용합니다. 왼쪽의 설정은 오른쪽의 설정보다 메모리를 거의 26배 더 소비하며, 시각적 품질의 개선은 거의 없습니다.

모바일, XR 및 웹을 위해 적응형 확장 텍스처 압축(ATSC)을 사용하세요. 개발 중인 게임의 대다수는 ATSC 압축을 지원하는 최소 사양 장치를 목표로 합니다.

유일한 예외는 다음과 같습니다:

  • A7 장치 또는 그 이하를 목표로 하는 iOS 게임(예: iPhone 5, 5S 등) – PVRTC 사용
  • 2016년 이전의 장치를 목표로 하는 Android 게임 – ETC2(Ericsson 텍스처 압축) 사용

PVRTC 및 ETC와 같은 압축 형식이 충분히 고품질이 아니거나, ASTC가 목표 플랫폼에서 완전히 지원되지 않는 경우 32비트 텍스처 대신 16비트 텍스처를 사용해 보세요.

자세한 내용은 플랫폼별 추천 텍스처 압축 형식에 대한 매뉴얼을 참조하세요.

압축되지 않은 텍스처와 DXT1 압축 텍스처 비교
압축되지 않은 텍스처에는 압축된 텍스처보다 더 많은 메모리가 필요합니다.

텍스처 가져오기 설정 활용하기

텍스처는 과도한 리소스를 사용할 수 있으므로, 가져오기 설정을 최적화하는 것이 중요합니다. 일반적으로 다음 지침을 따르도록 하세요:

  • 최대 크기 줄이기:시각적으로 수용 가능한 결과를 생성하는 최소 설정을 사용하세요. 이것은 비파괴적이며 텍스처 메모리를 빠르게 줄일 수 있습니다.
  • 2의 거듭제곱(POT) 사용:Unity는 텍스처 압축 형식에 대해 POT 텍스처 차원을 요구합니다.
  • 읽기/쓰기 사용 가능 옵션 끄기:이 옵션이 활성화되면 CPU와 GPU 주소 지정 메모리에 복사본이 생성되어 텍스처의 메모리 사용량이 두 배가 됩니다. 대부분의 경우 비활성화하고, 런타임에 덮어쓸 필요가 있는 텍스처를 생성할 때만 활성화하세요. 이 옵션은 Texture2D.Apply를 통해 강제할 수 있으며, makeNoLongerReadable를 True로 설정하여 전달할 수 있습니다.
  • 불필요한 Mip Maps 비활성화:Mip Maps는 화면에서 일관된 크기를 유지하는 텍스처(예: 2D 스프라이트 및 UI 그래픽)에는 필요하지 않습니다. 그러나 카메라와의 거리 변화가 있는 3D 모델에는 Mip Maps를 활성화해 두세요.

텍스처 가져오기 설정에 대해 더 알아보세요.

텍스처 아틀라스 만들기

아틀라싱은 여러 개의 작은 텍스처를 하나의 큰 텍스처로 그룹화하는 과정입니다. 텍스처 아틀라스는 메모리 사용량을 줄이고 드로우 호출 수를 줄여 GPU의 작업량을 감소시킵니다.

  • 2D 프로젝트의 경우: 스프라이트 아틀라스 (자산 > 생성 > 2D > 스프라이트 아틀라스)를 사용하여 개별 스프라이트나 텍스처를 렌더링하는 것보다 더 나은 선택입니다.
  • 3D 프로젝트에 대해: 원하는 디지털 콘텐츠 제작 (DCC) 패키지를 사용할 수 있습니다. MA_TextureAtlasser 또는 TexturePacker와 같은 여러 서드파티 도구를 사용하여 텍스처 아틀라스를 만들 수도 있습니다.

고해상도 맵이 필요하지 않은 모든 3D 기하학에 대해 텍스처를 결합하고 UV를 재매핑합니다. 비주얼 편집기를 사용하면 텍스처 아틀라스 또는 스프라이트 시트에서 크기와 위치를 설정하고 우선순위를 지정할 수 있습니다.

텍스처 팩커는 개별 맵을 하나의 큰 텍스처로 통합합니다. Unity는 그런 다음 성능 오버헤드를 줄이면서 패킹된 텍스처에 접근하기 위해 단일 드로우 호출을 발행할 수 있습니다.

스프라이트 아틀라스에 대해 여기에서 더 읽어보세요.

텍스처 아틀라스 인터페이스
드로우 호출 수를 줄이기 위해 텍스처 아틀라스를 사용하십시오.

다각형 수 확인하기

고해상도 모델은 더 많은 메모리 사용과 잠재적으로 더 긴 GPU 시간을 의미합니다. 배경 기하학이 50만 개의 폴리곤이 필요합니까? 원하는 DCC 패키지에서 모델을 줄이는 것을 고려하십시오. 카메라의 시점에서 보이지 않는 폴리곤을 삭제하고 고밀도 메시 대신 텍스처와 노멀 맵을 사용하여 세부 사항을 표현합니다.

모델에서 얼굴 제거
모델을 최적화하기 위해 보이지 않는 얼굴을 제거하십시오.

메시 임포트 설정 관리

텍스처와 마찬가지로 메시도 상당한 메모리를 소모할 수 있으므로 최적의 가져오기 설정을 선택하십시오. 다음 방법으로 메시의 메모리 사용량을 줄이십시오:

  • 메시 압축: 공격적인 압축은 디스크 공간을 줄일 수 있습니다(런타임 메모리는 영향을 받지 않음). 메시 양자화는 부정확성을 초래할 수 있으므로, 모델에 적합한 압축 수준을 실험해 보세요.
  • 읽기/쓰기를 비활성화: 이 옵션을 활성화하면 메모리에 메시가 복제되어 시스템 메모리에 메시의 한 복사본과 GPU 메모리에 또 다른 복사본이 유지됩니다. 대부분의 경우, 이 옵션을 비활성화해야 합니다 (Unity 2019.2 및 이전 버전에서는 이 옵션이 기본적으로 선택되어 있습니다).
  • 리그 및 블렌드 쉐이프 비활성화: 메시가 스켈레탈 또는 블렌드쉐이프 애니메이션이 필요하지 않은 경우, 가능한 한 이 옵션들을 비활성화하세요.

노멀 및 탄젠트 비활성화: 메시 재질이 노멀이나 탄젠트를 필요로 하지 않는 것이 확실하다면, 추가 절약을 위해 이 옵션들을 선택 해제하세요.

메시 임포트 설정을 확인하세요.
메시 임포트 설정을 확인하세요.

더 많은 메시 최적화 보기

추가 메시 최적화 옵션은 플레이어 설정에서 사용할 수 있습니다:

  • 정점 압축은 각 채널의 정점 압축을 설정합니다. 예를 들어, 위치와 라이트맵 UV를 제외한 모든 것에 대해 압축을 활성화할 수 있습니다. 이것은 메시의 런타임 메모리 사용량을 줄일 수 있습니다.
  • 참고: 각 메시의 임포트 설정에서 메시 압축 설정이 정점 압축 설정을 무시합니다. 그 경우, 메시의 런타임 복사본은 압축 해제되어 더 많은 메모리를 사용할 수 있습니다.
  • 메시 데이터 최적화는 적용된 재질에 필요하지 않은 메시의 데이터를 제거합니다 (예: 탄젠트, 노멀, 색상 및 UV).

자산 감사

감사 프로세스를 자동화함으로써 자산 설정을 실수로 변경하는 것을 피할 수 있습니다. 자산 후처리기는 임포트 설정을 표준화하거나 기존 자산을 분석하는 데 도움을 줄 수 있습니다. 자산을 임포트할 때 스크립트를 실행할 수 있으며, 본질적으로 모델, 텍스처, 오디오 등을 임포트하기 전후에 설정을 사용자 정의하도록 요청합니다.

자산 감사에 대한 자세한 내용은 최적화 가이드 이해하기를 참조하세요.

비동기 텍스처 버퍼 조정

Unity는 GPU에 텍스처를 푸시하기 위해 링 버퍼를 사용합니다. 이 비동기 텍스처 버퍼는 QualitySettings.asyncUploadBufferSize를 통해 수동으로 조정할 수 있습니다.

업로드 속도가 너무 느리거나 메인 스레드가 여러 텍스처를 동시에 로드하는 동안 정지하면 이 텍스처 버퍼들을 조정하세요. 일반적으로 장면에서 로드해야 하는 가장 큰 텍스처의 크기(MB)로 값을 설정할 수 있습니다.

기본 값을 변경하면 높은 메모리 압박이 발생할 수 있다는 점을 염두에 두세요. 또한 Unity가 할당한 후에는 링 버퍼 메모리를 시스템에 반환할 수 없습니다. GPU 메모리가 과부하되면 GPU는 가장 최근의 사용되지 않은 텍스처를 언로드하고, 다음에 카메라 프러스텀에 들어갈 때 CPU가 다시 업로드하도록 강제합니다.

텍스처 버퍼에 대한 모든 메모리 제한을 메모리 관리 튜토리얼에서 탐색하고, 로딩 성능을 개선할 수 있는 방법을 보려면 로딩 성능 최적화를 참조하세요.

Mip 맵 및 텍스처 스트리밍

밉 맵 스트리밍 시스템은 메모리에 로드해야 할 밉 맵 레벨을 제어할 수 있게 해줍니다. Unity의 품질 설정(편집 > 프로젝트 설정 > 품질)으로 이동하여 텍스처 스트리밍 옵션을 체크하여 활성화하세요. 고급 아래의 텍스처 가져오기 설정에서 스트리밍 밉 맵을 활성화할 수 있습니다.

이 시스템은 현재 카메라 위치를 렌더링하는 데 필요한 밉 맵만 로드하기 때문에 텍스처에 필요한 총 메모리 양을 줄입니다. 그렇지 않으면 Unity는 기본적으로 모든 텍스처를 로드합니다.

텍스처 스트리밍은 잠재적으로 많은 GPU 메모리를 절약하기 위해 소량의 CPU 리소스를 거래합니다. 또한 사용자 정의 메모리 예산 내에서 유지하기 위해 자동으로 밉 맵 레벨을 줄입니다.

추가 제어를 위해 밉 맵 스트리밍 API를 사용할 수 있습니다.

텍스처 스트리밍 옵션
텍스처 스트리밍 설정

어드레서블 사용

주소 지정 자산 시스템은 콘텐츠를 관리하는 간소화된 방법을 제공합니다. 이 통합 시스템은 자산 번들을 "주소" 또는 별칭으로 로드하며, 로컬 경로 또는 원격 콘텐츠 전송 네트워크(CDN)에서 비동기적으로 로드합니다.

비코드 자산(모델, 텍스처, 프리팹, 오디오, 심지어 전체 장면)을 AssetBundle으로 분할하면 다운로드 가능한 콘텐츠(DLC)로 분리할 수 있습니다.

그런 다음 Addressables를 사용하여 모바일 애플리케이션의 초기 빌드를 더 작게 만드세요. Cloud Content Delivery를 사용하면 게임 진행에 따라 플레이어에게 게임 콘텐츠를 호스팅하고 전달할 수 있습니다.

Unity Learn의 튜토리얼 Addressables 시작하기를 참조하여 Addressable Asset System이 프로젝트에서 어떻게 작동하는지 빠르게 개요를 확인하세요.

그리고 여기를 클릭하여 Addressable Asset System이 자산 관리의 번거로움을 어떻게 덜어줄 수 있는지 확인하세요.

Addressable Asset System을 사용하여 "주소"로 자산을 로드하세요.
ADDRESSABLE ASSET SYSTEM을 사용하여 "주소"로 자산 로드하기
Unity의 더 많은 모범 사례
Unity 6을 위한 더 많은 팁

고급 Unity 개발자와 제작자를 위한 더 많은 모범 사례와 팁을 Unity 모범 사례 허브에서 찾아보세요. 산업 전문가, Unity 엔지니어 및 기술 아티스트가 만든 30개 이상의 가이드 중에서 선택하여 Unity의 도구 세트와 시스템을 효율적으로 개발하는 데 도움을 받을 수 있습니다.

더 많은 모범 사례