IL2CPP를 사용하여 빌드를 시작하면 Unity에서 다음 절차를 자동으로 수행합니다.
Unity 스크립팅 API 코드가 보통의 .NET DLL로 컴파일됩니다(매니지드 어셈블리).
스크립트가 아닌 모든 매니지드 어셈블리(플러그인과 베이스 클래스 라이브러리 등)는 Unused Bytecode Stripper라는 Unity 툴로 처리됩니다. 이 툴은 모든 사용되지 않는 클래스와 메서드를 찾아 DLL(Dynamic Link Library)에서 제거합니다. 이 단계를 수행하면 빌드된 게임의 크기가 크게 감소합니다.
다음, 모든 매니지드 어셈블리가 표준 C++ 코드로 변환됩니다.
생성된 C++ 코드와 IL2CPP의 런타임 부분이 네이티브 플랫폼 컴파일러를 사용하여 컴파일됩니다.
마지막으로, 코드가 대상 플랫폼에 따라 실행 가능한 파일이나 DLL에 연결됩니다.
IL2CPP는 스크립트의 속성을 통해 설정할 수 있는 몇 가지 유용한 옵션을 제공합니다. 자세한 내용은 플랫폼 기반 컴파일 문서를 참조하십시오.