Unity 2021.3은 2021.1과 2021.2에서 릴리스된 기능을 포함하는 LTS 릴리스이며 2년 간 지원됩니다. 자세한 내용과 기타 사용 가능한 LTS 설치 프로그램에 관해서는 LTS 릴리스 페이지를 참조하십시오.
Unity 2021 릴리스의 새로운 기능, 변경 사항, 개선 사항에 대해 자세히 알아보려면 다음을 참조하십시오.
이전 Unity 버전의 기존 프로젝트를 업그레이드하는 경우 업그레이드 가이드를 참조하여 프로젝트에 미치는 영향에 대한 자세한 내용을 확인하십시오. 다음은 LTS별 업그레이드 가이드입니다.
2020 LTS 이후 Unity 2021 LTS에서 변경된 기능을 살펴보고 영향을 받는 부문에 대한 문서를 확인하십시오.
Unity에서 2D 게임을 개발하기 위한 워크플로를 제공하는 2D 게임 개발 퀵스타트 가이드가 릴리스되었습니다. 이 퀵스타트 가이드를 이용하여 게임에서 구현할 게임 시점과 아트 스타일을 결정하고, Unity 프로젝트를 설정하고, 2D 게임을 제작할 수 있습니다.
Unity에서 3D 게임을 개발하기 위한 워크플로를 제공하는 3D 게임 개발 퀵스타트 가이드가 릴리스되었습니다. 이 퀵스타트 가이드를 이용하여 Unity 프로젝트를 설정하고 3D 게임을 제작할 수 있습니다.
씬 뷰에 씬 툴(이동, 회전, 스케일 등), 컴포넌트 툴, 방향 및 검색을 위한 아티스트 중심의 컨텍스트 기반 툴 및 커스터마이즈 가능 부동 툴바에 대한 오버레이가 포함됩니다. 이 시스템은 확장이 가능하므로 커스텀 툴 및 툴바를 오버레이로 추가할 수 있습니다.
sqrt(9)
또는 *=2는 전체 선택 항목에 대해 값을 2배로 더 크게 만듭니다. 다양한 C# 수학 타입(예: Vector3)의 ToString()
이 기본적으로 두 개의 십진수를 출력합니다.빈 그래프 에디터 창을 열면 그래프를 생성하거나 로드하는 방법에 대한 안내가 표시됩니다. 아이콘이 Unity 에디터와 더욱 일관되게 바뀌었습니다. “유닛”은 “노드”로 이름이 지정되고 “슈퍼 유닛”은“하위 그래프”로 이름이 변경됩니다. 새 노드를 사용하여 스크립트 그래프 및 상태 그래프에 대한 액세스를 단순화할 수 있습니다.
새로운 테이블 뷰를 사용하여 여러 프로퍼티의 검색 결과를 비교하고 이름 또는 설명별로 항목을 정렬하십시오. 에셋 선택기를 통해 레퍼런스를 선택할 때 검색을 사용하여 더 관련성 높은 항목을 가져올 수 있습니다.
패키지 관리자에 2D 게임 개발 또는 모바일용 제작과 같은 특정 성과에 필요한 패키지를 함께 그룹화하는 기능 집합이 포함됩니다.
Apple 실리콘 에디터는 M1 Mac 사용자에게 네이티브 Unity 에디터 경험을 제공합니다.
Import Activity 창에는 임포트/재임포트한 에셋, 작업 시점, 작업 소요 시간 등을 비롯하여 임포트 프로세스 동안 발생하는 활동이 나와 있습니다.
텍스처 임포트 가속화, 메시 임포트 최적화, 새로운 임포트 옵션(예: Force Fast Compressor 에셋 임포트 오버라이드) 덕분에 에셋 임포트 속도가 더욱 빨라졌습니다.
이 릴리스에는 빌드 프로세스를 최적화하기 위한 스크립터블 빌드 파이프라인 최적화 및 빌드 캐시 성능 개선 사항이 포함되어 있습니다. Windows, macOS, Android 및 WebGL용 플레이어 코드 빌드 파이프라인이 증분 C# 스크립트 컴파일을 지원합니다. 따라서 프로젝트를 약간 변경할 때 빌드 시간이 더욱 단축됩니다.
빌드 설정 메뉴의 IL2CPP Code Generation 옵션은 최대 50% 적은 코드를 생성합니다. 이를 통해 IL2CPP 빌드 시간이 단축되고 실행 파일 크기가 더 작아집니다.
프로그래밍 워크플로에 다음과 같은 성능 개선 사항이 적용됩니다.
이 릴리스에는 다음과 같은 프로파일링 툴 집합 개선 사항이 포함되어 있습니다.
이제 버전 정의를 사용하여 최신 API 기능을 포함하고, 이전 버전의 Unity 및 API에 대한 이전 버전과의 호환성을 단일 코드 베이스 내에서 모두 제공할 수 있습니다.
timeAsDouble
을 사용하여 정확한 시간 기반 기능 빌드Time.timeAsDouble
은 프로젝트에서 배정밀도 시간을 사용할 수 있도록 해주는 다양한 AsDouble
프로퍼티를 도입했습니다. 이는 장기 실행 애플리케이션(예: 전용 게임 서버)을 빌드하는 제작자에게 특히 유용합니다.
Unity의 코드 커버리지 패키지와 테스트 러너를 함께 사용하여 프로젝트 코드의 테스트 커버리지를 확인하십시오. 여기에는 현재 테스트 제품군에서 누락되는 영역을 찾기 위한 상세한 HTML 포맷 보고가 포함됩니다.
관리되는 데이터 타입에 대해 모든 관련 데이터(예: 다차원 배열)가 보고되도록 메모리 프로파일러 패키지가 업데이트되었습니다. 또한 텍스처 및 메시 메모리 보고에 대한 개선 사항도 적용되었습니다.
이제 하나의 컴퓨터에서 여러 플레이어 인스턴스를 실행하고 Unity 프로파일러를 특정 인스턴스에 연결하여 성능에 대한 심도 있는 인사이트를 얻을 수 있으므로, 더 적은 하드웨어로 생산성을 높일 수 있습니다. 2021.1에서 다중 플레이어 프로파일링이 동작하는 방식에 대한 YouTube 비디오를 시청하십시오.
이제 기기 시뮬레이터가 기본 Unity 설치에 포함되므로, 더 이상 패키지로 추가할 필요가 없습니다. 기기 시뮬레이터를 사용하여 게임이 모바일 디바이스에서 어떻게 보이는지 확인하십시오.
이제 비주얼 스크립팅이 핵심 기능으로 포함되어 Unity에 직접 통합됩니다. 따라서 시각적인 드래그 앤 드롭 그래프로 로직을 생성하여 코드를 보완할 수 있으므로 프로토타이핑 및 반복 작업이 더 빨라집니다. 또한 비주얼 스크립팅을 사용하면 프로그래밍을 모르는 팀원도 스크립트에 쉽게 액세스하여 툴을 제작할 수 있습니다.
새로운 화면 API는 게임의 디스플레이 설정에 대한 뛰어난 제어 기능을 제공하며, 여러 개의 모니터를 보유한 플레이어가 게임 창을 표시할 모니터를 선택할 수 있도록 지원합니다.
Screen.mainWindowPosition
Screen.mainWindowDisplayInfo
Screen.GetDisplayLayout()
Screen.MoveMainWindowTo()
Unity가 Chrome OS 기기용 x86, x86–64 및 Arm 아키텍처를 지원합니다. Unity는 빌트인 입력 에뮬레이션을 지원하지만, 자체 입력 컨트롤을 생성하여 마우스 및 키보드 설정을 활용할 수도 있습니다.
Unity는 에셋 빌드를 위한 Android의 새로운 확장 파일 포맷인 Android 앱 번들(AAB)을 직접 지원합니다. AAB를 사용하면 Google Asset Delivery 요구 사항을 충족하여 새 앱을 Google Play에 퍼블리시할 수 있습니다.
Adaptive Performance가 CPU/GPU 리소스의 우선순위를 지정하여 애플리케이션을 더 빠르게 실행할 수 있습니다. 또한 Unity 프로파일러와의 통합을 추가하므로, 일반 워크플로에서 Adaptive Performance를 더 효율적으로 프로파일링할 수 있습니다.
Android 스레드 설정을 사용하면 애플리케이션이 특정 하드웨어에서 성능을 최대화하도록 실행되는 방식을 세세하게 제어할 수 있습니다. 또한 에너지 효율 또는 높은 성능을 위해 애플리케이션을 최적화할지 여부에 대한 옵션이 포함됩니다.
WebGL 개선 사항에는 다음이 포함됩니다.
압축 오디오 지원은 WebGL 플레이어가 오래 실행되는 배경 음악 및 대용량 오디오 파일에 대해 브라우저에서 사용하는 메모리 양을 줄입니다.
모바일 웹 브라우저를 타겟으로 하는 ASTC 또는 ETC/ETC2 압축 텍스처 포맷과 데스크톱 브라우저에서 고품질 압축 텍스처를 사용하기 위한 BC4/5/6/7 텍스처 포맷을 선택할 수 있습니다.
에디터 플레이 모드에서 UDP에 대한 게임 IAP 구매 및 소비 방식을 테스트할 수 있습니다. 퍼블리싱 포털에는 UDP 구현에 도움이 되는 지침과 코드 샘플이 포함된 시작하기 가이드가 포함되어 있습니다.
이제 슬라이싱 옵션을 사용하여 연속되는 인접 아이소메트릭 타일이 포함된 스프라이트 시트를 슬라이싱할 수 있습니다. 이렇게 하면 아트가 단일 이미지에 포함되었을 때 아이소메트릭 타일맵을 준비하는 프로세스가 더 빨라질 수 있습니다.
이제 레코더는 릴리스된 패키지이며, 그래픽스와의 더 나은 호환성을 제공하는 새로운 코덱(예: Apple ProRes)과 캡처 경험을 향상하는 편의성 업데이트를 포함합니다.
최신 레코더 릴리스에는 임의 출력 변수(AOV) 기록이 통합되었습니다. AOV는 VFX 및 합성에서 분리를 만드는 데 유용합니다. 또한 레코더 패키지에는 더욱 사실적인 렌더링 효과를 위해 통합 경로 추적 및 누적 모션 블러가 포함되어 있습니다.
최신 Alembic 릴리스를 사용하면 임포트를 실질적으로 우회하여 임의 위치에서 Alembic 파일을 스트리밍할 수 있습니다.
단순화된 시네머신 임펄스를 사용하면 카메라가 게임 내 이벤트(예: 폭발)에 반응하는 방식을 간편하게 설정할 수 있습니다.
이제 FBX 익스포터는 릴리스된 패키지입니다. 애니메이션에 대한 씬 레퍼런스를 익스포트하고, 효율적인 반복 작업을 위해 Maya, Max와 같은 인기 3D 모델링 소프트웨어와 상호운용할 수 있습니다. 에디터에서 애니메이션을 기록할 수도 있으므로, 레퍼런스를 익스포트하고 애니메이션을 다시 입력할 수 있습니다.
최신 버전의 Python for Unity는 Python 3.7을 지원하며 Python을 설치할 필요가 없습니다. 이제 인프로세스 Python은 도메인 재로드 시 다시 초기화되지 않습니다. PySide 샘플은 훨씬 간단하고 인프로세스 방식으로 실행되며, 가상 환경 지원이 제한적입니다.
이제 비방향성 섀도우 맵의 일부를 캐싱할 수 있으므로, 성능이 향상될 수 있습니다. HDRP는 동적 섀도우 캐스터를 각 프레임의 해당 섀도우 맵으로 렌더링합니다.
HDRP 12.0에서는 기본 Volumetric Clouds 설정을 변경하여 다양한 종류의 사실적인 구름을 만들 수 있습니다. 고급 결과를 위해 추가 설정에 액세스하고 세밀한 예술적 제어를 위해 텍스처 맵을 임포트할 수 있습니다.
HDRP 12.0에는 렌즈 플레어를 구현하기 위한 새로운 시스템이 포함되어 있습니다. 모든 게임 오브젝트에 Lens Flare(SRP) 컴포넌트를 연결할 수 있습니다. 시스템 테스트를 위해 HDRP에는 프리셋 및 텍스처가 있는 렌즈 플레어 샘플이 포함되어 있습니다. 각 렌즈 플레어에는 개별적으로 제어할 수 있는 선택적인 다중 요소가 있습니다.
HDRP에서 다음 업샘플링 방식을 사용할 수 있습니다.
HDRP 12.0에는 Path Tracer 기능에 대한 개선 사항이 포함되어 있습니다. 이제 리니어 안개 대신 경로 추적 씬에서 볼류메트릭 산란을 사용할 수 있습니다. 이 기능은 머리카락, 패브릭, 스택릿, AxF 머티리얼도 제공합니다. 또한 HDRI 하늘로 씬에 조명을 비출 때 화질을 개선하는 우수한 HDRI 샘플링이 포함되어 있습니다.
HDRP에는 하늘 위에 구름 텍스처를 렌더링하는 데 사용할 수 있는 새로운 클라우드 레이어 볼륨 오버라이드가 포함되어 있습니다.
HDRP 12.0부터 More Options가 Additional Properties로 이름이 변경되었습니다. 다음과 같은 새로운 방식으로 이 프로퍼티에 액세스할 수 있습니다. 컴포넌트 헤더에 있던 톱니바퀴가 컨텍스트 메뉴의 항목이 되었습니다. Show Additional Properties를 활성화하면 Unity는 각 추가 프로퍼티의 배경을 몇 초 동안 강조 표시하여 위치를 표시합니다.
HDRP 12.0에는 밀도 볼륨(이제는 로컬 볼류메트릭 안개라고 지칭됨)에 대한 여러 개선 사항이 포함되어 있습니다. 이러한 개선 사항은 다음과 같습니다.
또한 HDRP 12.0에는 다양한 3D 텍스처 해상도와 RGBA 3D 텍스처를 지원하는 향상된 3D 텍스처 아틀라스도 포함되어 있습니다.
다음 HDRP 데칼 플레이스먼트 툴의 UX를 개선했습니다.
최신 URP 릴리스에는 앰비언트 오클루전에 대한 개선 사항, 빌트인 렌더 파이프라인에서 URP로 전환하기 위한 강력한 툴, 새로운 패키지 샘플이 포함되어 있습니다. URP의 최신 변경 사항에 대한 자세한 내용은 URP의 새로운 기능을 참조하십시오.
이 릴리스에는 다음을 검사할 수 있는 새로운 렌더 파이프라인 디버그 창을 포함하여, URP의 씬 디버그 뷰 모드에 대한 개선 사항이 포함되어 있습니다.
반사 프로브 블렌딩 및 박스 투영에 대한 새로운 설정을 이용하면 프로브를 사용하여 반사 품질을 향상하고, 빌트인 렌더 파이프라인과 동등한 기능을 URP에 제공합니다.
URP 디퍼드 렌더러는 모든 버텍스 및 픽셀 셰이더가 렌더링된 후 별도 렌더링 패스의 스크린 공간에서 광원 셰이딩을 수행합니다. 디퍼드 셰이딩은 씬 지오메트리를 조명 계산에서 분리하므로, 각 광원의 셰이딩은 실제로 영향을 주는 가시 픽셀에 대해서만 계산됩니다. 이렇게 하면 씬에서 많은 수의 조명을 렌더링할 때 성능이 향상됩니다.
데칼 렌더러를 사용하면 프로젝트 데칼 머티리얼을 씬의 표면에 투사할 수 있습니다. 데칼은 메시를 둘러싸고 씬의 조명과 상호작용합니다. 데칼은 씬에 텍스처 디테일을 더하고, 머티리얼의 반복성과 디테일 패턴을 깨는 데 유용합니다.
뎁스 프리패스는 프래그먼트 셰이딩 비용 없이 뎁스 버퍼를 채우기 위해 모든 가시 불투명 메시를 렌더링하는 렌더링 패스이며, 후속 패스에서 재사용할 수 있습니다. 뎁스 프리패스는 지오메트리 렌더링 오버드로우를 제거하거나 크게 줄입니다. 즉 후속 컬러 패스가 이 뎁스 버퍼를 재사용하여 픽셀당 하나의 프래그먼트 셰이더 호출을 생성합니다.
광원 레이어는 씬의 특정 광원 마스킹이 동일한 레이어에 할당된 특정 메시에만 영향을 주도록 만드는 특정한 렌더링 레이어입니다.
URP 광원 쿠키를 사용하면 밖으로 나가는 광원의 강도를 마스킹 또는 필터링하여 패턴화된 조명을 생성할 수 있습니다. 이 기능을 사용하여 캐스트된 광원의 형상, 모양 및 강도를 변경하여 원하는 예술적 효과를 얻으십시오. 또한 런타임 성능에 대한 영향을 최소화한 상태로 복잡한 조명 시나리오를 시뮬레이션할 수 있습니다.
이 업스케일 필터는 공간 초해상도 방식을 사용하여 품질과 성능 간의 균형을 맞춥니다.
다음의 신규 기능은 URP 및 HDRP와 호환됩니다.
라이트 앵커 기능을 사용하여 월드 공간 대신 피벗 포인트 주변의 광원을 조작하십시오. 이렇게 하면 시네마틱용 광원을 더욱 쉽고 효율적으로 만들 수 있습니다. 다양한 프리셋을 통해 캐릭터 주변 또는 관심 영역 중앙에 광원을 빠르게 배치할 수 있습니다. 이 기능은 빌트인 렌더 파이프라인에서도 사용할 수 있습니다.
이 기능을 사용하면 광원 및 머티리얼 프로퍼티의 실시간 변경에 반응하는 간접 조명을 구현할 수 있습니다. 인터랙티브 비주얼 피드백은 조명 디자인 반복 시간을 크게 단축합니다.
HDRP와 빌트인 렌더 파이프라인에서 인라이튼 실시간 전역 조명이 지원되며, URP에 대한 지원도 추가되었습니다.
GPU 프로그레시브 라이트매퍼의 새로운 라이트매퍼 타일링 기능은 베이크 프로세스를 언제든지 사용 가능한 GPU 메모리에 맞출 수 있는 관리 가능한 청크로 나눕니다. 이렇게 하면 GPU 메모리 요구 사항을 줄이고 베이크 속도를 높일 수 있습니다.
워크플로를 개선하고 SRP 렌더 파이프라인 간의 일관성을 유지하기 위해 다양한 UI/UX가 개선되었습니다. 여기에는 URP와 HDRP 간의 광원 및 카메라 컴포넌트 일치가 포함됩니다.
이제 터레인 툴에 다음 기능이 포함됩니다.
HDRP를 사용하여 풀, 덤불, 바위 같은 메시 터레인 디테일을 페인팅할 수 있습니다. SpeedTree 8 초목이 HDRP 및 URP에 대해 지원됩니다. 여기에는 셰이더 그래프에서 생성된 SpeedTree 바람 시스템을 사용하는 애니메이션화된 초목에 대한 지원도 포함됩니다.
셰이더 그래프로 만든 HDRP 셰이더(예: 언릿, 릿, 헤어, 패브릭)를 사용하여 비주얼 이펙트 그래프에서 프리미티브를 렌더링할 수 있습니다. 이러한 변경 사항은 결과적으로 HDRP에 대한 지원이 중단된(하지만 여전힘 지원됨) 셰이더 그래프의 시각 효과 타겟을 대체합니다. 또한 버텍스 수준에서 파티클을 수정할 수 있으므로, 셰이더 애니메이션 날개를 퍼덕거리는 새와 같은 효과나 비누 거품 같이 흔들거리는 파티클을 구현할 수 있습니다.
새로운 서명된 거리 필드 베이크 툴을 사용하면 에디터에서 텍스처 3D의 정적 지오메트리를 서명된 거리 필드로 직접 빠르게 베이크할 수 있습니다.
새로운 경계 도우미를 사용하면 파티클의 경계를 간편하게 설정하여 컬링 성능을 향상하거나, 잘못된 경계로 인한 파티클 시스템 컬링을 방지할 수 있습니다.
구조화/그래픽스 버퍼를 사용하여 비주얼 이펙트 그래프에 데이터를 전달할 수 있습니다. 이는 머리카락이나 유동적인 움직임을 추가하는 복잡한 시뮬레이션을 구현하거나, 비주얼 이펙트 그래프를 사용하여 여러 명의 적 포지션 같은 동적 데이터를 프로그래밍 방식으로 할당할 때 유용합니다.
셰이더에 대한 키워드 제한이 실질적으로 제거되었습니다. 이제 더욱 효율적인 API를 키워드 작업에 사용할 수 있으며, 전역 셰이더 키워드와 로컬 셰이더 키워드를 명확하게 구분합니다.
ShaderLab 패키지 종속성 기능은 ShaderLab 구문을 확장하며, 셰이더 작성자가 패키지에 대한 셰이더 종속성을 표현할 수 있도록 지원합니다.
UI 툴킷은 시각적 작성 및 디버깅 UI를 위한 전용 툴을 제공하고, TextMesh Pro를 사용하여 멋지고 확장 가능한 텍스트를 렌더링하고, 선명하고 텍스처가 없는 렌더링을 지원하며, Unity UI(UGUI)와 함께 사용할 수 있습니다.
이 릴리스에는 2D 툴의 사용성 및 안정성 개선 사항이 포함되어 있으며, 스프라이트 스왑 워크플로 및 2D 그래픽스에 중점을 둡니다.
2D 렌더러에 마스크, 알파 채널, 오버드로우, 밉맵과 같은 뷰를 제공하는 새로운 SceneView 디버그 모드가 포함됩니다. 스프라이트 마스크 기능이 SRP에서 올바르게 동작합니다. 액세스하려면 Window > Analysis > Rendering Debugger > Material Override로 이동하십시오.
렌더러 기능을 사용하여 2D 렌더러를 커스터마이즈하고, 커스텀 패스를 추가할 수 있습니다.
2D 광원이 실험 단계를 벗어나 광원 탐색기 창에 통합되었습니다. 2D 그림자는 그림자를 단일 채널로의 렌더링과 광원별 그림자 컬링을 지원하도록 최적화되었습니다.
2D 광원으로 생성된 2D 광원 텍스처는 셰이더 그래프에서 2D 광원 텍스처 노드를 통해 액세스할 수 있습니다. 이를 통해 스프라이트용 이미시브 머티리얼 생성과 같이 다양하게 활용할 수 있습니다.
이제 VFX 그래프가 2D 언릿 셰이더를 지원합니다. 단, 비주얼 이펙트 렌더러는 2D 광원의 영향을 받지 않습니다.
새로운 2D URP 템플릿에는 이 템플릿을 기반으로 새 프로젝트의 로드 시간을 개선하기 위해 사전 컴파일된 모든 검증된 2D 툴이 포함되어 있습니다. 이 템플릿에는 미리 설정된 2D 렌더러가 있는 URP와 2D 프로젝트에 최적화된 기본 설정이 있는 패키지도 포함되어 있습니다.
2D PSD 임포터가 임포트된 Photoshop 레이어와 스프라이트 이름 매핑에 대한 더욱 세세한 컨트롤을 제공합니다. Unity에서 임포트된 PSD 레이어 그룹을 평탄화할 수 있으며, 임포터는 임포트된 레이어에 대한 물리 모양을 자동으로 생성할 수 있습니다.
이를 통해 더욱 쉽게 컬러를 구분하거나 컬러에 따라 뼈대를 구성할 수 있습니다. 스키닝 에디터 툴의 툴팁에 해당 단축키가 표시되며, 스프라이트가 뼈대에 미치는 영향을 확인할 수 있는 새로운 툴이 추가되었습니다.
기존 타일 팔레트 버튼에 새로운 기능을 추가하거나 현재 기능을 오버라이드하여 타일맵에 대한 커스텀 툴을 만들 수 있습니다. 새로운 API는 애니메이션화된 타일에 대한 정보를 제공하거나 다양한 타일을 가져옵니다. 또한 TileChangeData
구조체를 사용하여 타일의 포지션과 컬러를 설정하고 한 번에 변환할 수 있습니다.
새로운 통합 셰이프 그룹 기능을 사용하여 프리미티브 물리 셰이프(원, 캡슐, 폴리곤, 에지)를 읽거나 작성할 수 있습니다. 이러한 새 API를 통해 물리 셰이프 그룹에 기본 셰이프를 추가하거나 Collider2D
, 또는 Rigidbody2D
에 연결된 모든 Collider2D
에서 검색해서 가져올 수 있습니다. 또한 새로운 CustomCollider2D
에 셰이프 그룹을 직접 작성하여 Collider2D
내부에 대한 신속한 직접 액세스를 제공합니다. 기존 Collider2D
의 특징을 재현하고, 단순한 새 Collider2D
를 만들거나, 또는 CustomCollider2D
가 포함된 복잡한 절차적 콜라이더를 만들 수도 있습니다.