Unity는 QNX용 플러그인을 자동으로 감지합니다. 플러그인을 임포트하면 Unity가 각 플러그인의 메타데이터 파일을 생성합니다. 예를 들어 공유 오브젝트 및 공유 라이브러리에 대한 .so, QNX의 아카이브 파일에 대한 .a가 해당됩니다. 이러한 메타데이터 파일에는 타겟 아키텍처 및 플랫폼과 같은 플러그인의 정보가 포함되어 있습니다. Unity 빌드 시스템은 빌드 프로세스 중에 이러한 메타데이터 파일을 참조하여 복사할 파일을 추적합니다.
프로젝트에 이름이 동일한 공유 라이브러리를 여러 개 둘 수 있습니다. 예를 들어 동일한 프로젝트에 x86_64용 libFoo.so와 ARM64용 libFoo.so를 두어, Unity가 빌드 타겟에 따라 올바른 libFoo.so를 감지하고 플레이어 빌드에 복사하게 할 수 있습니다.
이러한 파일들은 Unity 에디터에서 수동으로 편집할 수 있습니다. 하지만 프로젝트의 Plugins 폴더에 플러그인을 수동으로 추가할 필요는 없습니다. 프로젝트 디렉토리의 프로젝트의 Assets/Plugins/QNX 폴더 아래에 있는 특수 폴더에 넣어서 플러그인을 임포트할 경우, Unity가 해당 플랫폼과 아키텍처를 자동으로 감지해 설정할 수 있습니다.
Unity는 다음 규칙에 따라 QNX용 플러그인을 자동으로 감지합니다.
아키텍처별 폴더 - 플러그인을 Assets/Plugins/QNX/<arch> 아래에 배치합니다. 여기서 <arch>는 x86, x86_64, armeabi-v7a, arm64-v8a 중 하나입니다. Unity는 각 타겟 아키텍처에 대해 빌드할 때만 이를 복사합니다. 예를 들어 플러그인을 Assets/Plugins/QNX/x86_64 아래에 배치하면 Unity는 x86_64에 대해 빌드할 때에만 플러그인을 플레이어 빌드에 복사합니다.
SDK 전용 폴더 - 플러그인이 특정 SDK(QNX 7.0 또는 QNX 7.1)를 타게팅할 경우, <sdk>가 Neutrino70 또는 Neutrino71인 Assets/Plugins/QNX/<sdk>/<arch>에 배치할 수 있습니다. Unity는 해당 SDK 버전과 타겟 아키텍처용으로 빌드하는 경우에만 이를 복사합니다. 참고: QNX 7.1은 x86를 지원하지 않으므로 이 조합은 오류로 기록됩니다.
아키텍처별 플러그인 - 플러그인을 Assets/Plugins/QNX에 배치하고 해당 ELF 헤더를 통해 대상 아키텍처를 확인하고 적절한 아키텍처가 할당되었는지 확인합니다.