컴파일러 옵션 - Unity 매뉴얼 
 스크립팅 툴 
 컴파일러 옵션 
 IL 2 CPP 를 사용 한 프로젝트 빌드 
 Windows 런타임 지원 
 IL 2 CPP 스크립팅 백 엔드 를 사용 하 는 경우 IL 2 CPP . exe 가 C ++ 코드 를 생성 하 는 방법 을 설정 할 수 있 습니다 . 특히 C # 속성 을 사용 하 여 아래 에 나열 된 다음 런타임 체크 를 활성 화 하 거나 비활성 화 할 수 있 습니다 . 
 | 옵션 | 설명 | ** 기본 값 ** | |:—|:—|:—| | Null checks _ | 이 옵션 을 활성 화 하 면 IL 2 CPP 에 의해 생성 된 C ++ 코드 가 null 체크 를 포함 하 고 필요 한 경우 관리 된 NullReferenceException 예외 를 발생 시킵니다 . 이 옵션 을 비 활성 화 하 면 생성 된 null 체크 를 C ++ 코드 로 내보내 지 않 습니다 . 일부 프로젝트 에서 이 옵션 을 비 활성 화 하 면 런타임 성능 이 향상 될 수 있 습니다 . 
 하지만 생성 한 코드 는 null 값 에 대한 액세스 를 보호 하 지 않 아 잘못 된 동작 을 일으킬 수 있 습니다 . 일반 적 으로 null 값 이 참조 된 후 에 는 게임 작동 이 곧 중단 되 지만 , 보장 할 수 는 없 습니다 . 이 옵션 을 비 활성 화 하 려면 신중히 결정 합니다 . | 활성 화 | | Array bounds checks | 이 옵션 을 활성 화 하 면 IL 2 CPP 에 의해 생성 된 C ++ 코드 가 배열 바운드 체크 를 포함 하 고 필요 한 경우 매니 지드 IndexOutOfRangeException 예외 를 발생 시킵니다 . 이 옵션 을 비 활성 화 하 면 배열 바운드 체크 를 생성 된 C ++ 코드 로 내보내 지 않 습니다 . 
 일부 프로젝트 에서 이 옵션 을 비 활성 화 하 면 런타임 성능 이 향상 될 수 있 습니다 . 하지만 생성 한 코드 는 배열 에 대해 유효 하 지 않 은 인덱스 로 의 액세스 를 보호 하 지 않 아 임의 위치 에 메모리 를 쓰 거나 읽 는 등 의 잘못 된 동작 이 발생 할 수 있 습니다 . 대부분 의 경우 이런 메모리 액세스 는 즉각 적 인 부작용 없이 발생 하 고 게임 상태 를 은밀 하 게 손상 시킬 수 있 습니다 . 이 옵션 을 비 활성 화 하 려면 매우 신중히 결정 합니다 . | 활성 화 | | Divide by zero checks | 이 옵션 을 활성 화 하 면 IL 2 CPP 에 의해 생성 된 C ++ 코드 가 정수 나눗셈 항목 에 0 으로 나누 기 체크 를 포함 하 고 필요 한 경우 매니 지드 DivideByZeroException 예외 를 발생 시킵니다 . 이 옵션 을 비 활성 화 하 면 정수 나눗셈 항목 의 0 으로 나누 기 체크 를 생성 된 C ++ 코드 로 내보내 지 않 습니다 . 이 옵션 은 대부분 의 프로젝트 에서 비 활성 화 해야 합니다 . 0 으로 나누 기 체크 를 실행 하 면 많 은 런타임 이 소모 되 므로 필요 한 경우 에 만 활성 화 합니다 . | 비 활성 화 | 
 런타임 체크 는 C # 코드 에서 Il 2 CppSetOptions 속성 을 사용 하 여 활성 화 하 거나 비활성 화 할 수 있 습니다 . 이 속성 을 사용 하 려면 컴퓨터 에 설치 된 Unity 에디터 의 IL 2 CPP 디렉 토리 ( Windows 는 Data \ il 2 cpp , OS X 는 Contents / Frameworks / il 2 cpp ) 에서 Il 2 CppSetOptionsAttribute . cs 파일 을 찾 으십시오 . 이 파일 을 프로젝트 의 Assets 폴더 로 복사 합니다 . 
 이제 속성 을 아래 예제 와 같이 사용 합니다 . 
 public static string M e t hodWithNullChecksDisabled ( ) 
 Il 2 CppSetOptions 속성 을 타입 , 메 서 드 및 프로 퍼티 에 적용 할 수 있 습니다 . Unity 는 대부분 로컬 스코프 에서 속성 을 사용 합니다 . 
 public class T ypeWithNullChecksDisabled 
 public static string AnyMethod ( ) 
 / / Null checks will be disabled in this method . 
 [ Il 2 CppSetOption ( Option . NullChecks , true ) ] 
 public static string M e thodWithNullChecksEnabled ( ) 
 / / Null checks will be enabled in this method . 
 public string P r o p e rtyWithNullChecksDisabled 
 / / Null checks will be disabled here . 
 public string P r o p e r t y W i t h N u l l C hecksDisabledOnGetterOnly 
 / / Null checks will be enabled here .