Unity 스크립팅 API 가이드
이 문서는 Unity의 스크립팅 아키텍처 및 .NET 개요에 대한 정보를 제공합니다. Unity는 안정적인 스크립팅 런타임을 제공하며, 이 가이드는 그 제한 사항과 관련된 내용을 설명합니다.
Unity의 .NET 런타임
Unity는 최신 .NET 런타임을 지원합니다. 그러나 .NET 런타임을 사용할 경우 다음과 같은 문제가 발생할 수 있습니다:
코드 크기
안정적인 스크립팅 런타임은 레거시 스크립팅 런타임보다 더 큰 .NET 클래스 라이브러리 API와 함께 제공됩니다. 이로 인해 코드 크기가 증가할 수 있으며, 크기 제약이 있는 AOT(Ahead-of-Time) 플랫폼에서 문제가 될 수 있습니다.
코드 크기 증가를 완화하는 방법
- .NET 프로파일 선택: 가능한 한 가장 작은 .NET 프로파일을 선택하세요. 예를 들어, .NET Standard 2.0 프로파일은 .NET 4.x 프로파일의 절반 정도의 크기입니다.
- Strip Engine Code 활성화: Unity 에디터의 Player 설정에서 "Strip Engine Code"를 활성화합니다. 이 옵션을 선택하면 프로젝트의 관리되는 코드가 정적으로 분석되고 사용되지 않는 코드가 제거됩니다.
- 경고: 이 옵션은 IL2CPP 스크립팅 백엔드에서만 사용할 수 있습니다.
.NET 프로파일 지원
Unity에서는 여러 .NET 프로파일을 지원합니다. 각 프로파일은 서로 다른 기능과 크기를 가집니다.
프로파일 | 설명 |
---|---|
.NET Standard 2.0 | 상대적으로 작은 크기 |
.NET 4.x | 더 많은 기능을 제공하지만 크기가 큼 |
추가 클래스 라이브러리 및 어셈블리 레퍼런스
Unity에서는 추가 클래스 라이브러리 및 어셈블리를 참조할 수 있습니다. 이러한 리소스는 프로젝트의 기능을 확장하는 데 유용하게 사용됩니다.
활용 예제
- 코드 최적화:
- AOT 플랫폼에서 실행할 게임의 경우, .NET Standard 2.0을 선택하여 코드 크기를 줄임으로써 불필요한 메모리 사용을 최소화할 수 있습니다.
- 불필요한 코드 삭제:
- Strip Engine Code 옵션을 활성화하여 프로젝트를 빌드하면, 최종 실행 파일 크기가 작아지고 성능이 향상될 수 있습니다.
참고 자료
이 가이드는 Unity의 스크립팅 및 .NET 런타임을 효율적으로 활용하고 최적화하는 방법을 이해하는 데 도움이 될 것입니다.