Unity 로컬 플러그인을 지원하는 M1Mac

4483 단어 MacUnity
이 글은 클러스터 Advent Calendar 2021 16일째 되는 글이다.
어제는 @194_alert씨의 "세계 소개 애니메이션 촬영"입니다.
안녕하세요.소프트웨어 엔지니어izumi입니다.
클러스터 회사에는 iOS, Unity 등 다양한 사업이 있다.
이번에는 제목과 같이 Unity 로컬 플러그인의 M1Mac에 대한 내용입니다.
Unity 로컬 플러그인은
로컬 플러그인는 C, C++, Objective-C, 자바 등이 쓴 Windows, Mac, iOS, 안드로이드 등 플랫폼의 로컬 코드를 프로그램 라이브러리로 Unity 측 C#에서 호출하는 구조다.
이 메커니즘을 통해 유니티가 제공하지 않은 현지인의 처리와 설비 의존 처리 등을 실현할 수 있다.

슈퍼플랫폼 cluster는 Windows, MacOS, iOS, 안드로이드, Oculus Quest2의 멀티플랫폼 대응 앱으로 오디오 처리 등에 로컬 플러그인을 활용했다.
그러나 M1Mac는 주로 로컬 플러그인 때문에 정상적으로 작동하지 못하고 개발자도 Intel Mac와 Windows를 사용한다.
※ M1Mac iOS 에디션 이용자 권장1
(별말씀을요. M1Mac가 Unity Editor에서 실행하는 순간 Unity가 붕괴되어 원인 확인과 조사가 어려워요."
M1Mac 지원
2021년 10월 애플의 온라인 행사에서 M1프로/M1맥스를 탑재한 신형 맥북 프로가 발표되면서 Intel이 제작한 맥북 프로도 판매가 중단됐다.2
이러다 맥북 프로 개발이 더 이상 진행될 수 없게 되자 M1맥의 대응이 이뤄졌다.
MacOS를 위한 로컬 플러그인은 bundle 형식으로 생성되며 Xcode를 사용하여build를 사용합니다.

M1Mac의 경우 Build Settings를 통해 다음을 설정합니다.
  • Archeitectures Standard Archiitectures(애플 Silicon, Intel)
  • Excluded Archiitectures를 비워두기(x86 64/arm64가 없으면 문제 없을 것)

  • 또한 Build Active Archiitecture Only 설정처럼 Debug를 실행할 때 대상의 구조만 구축하기 때문에 로컬 플러그인을 출력할 때Configuration을 Release로 구축해야 합니다.
    Static Library 대응
    기본적으로 상기 설정에서 M1Mac/Intel Mac와 함께 이동하는 Bundle을 실현할 수 있지만 번거로운 것은 Xcode를 거치지 않고 쓴 Static Library의 상황을 참고하고 참조하는 프로그램 라이브러리도 M1Mac에 대응해야 한다는 것이다.
    cluster는 C++ 방향의 도서관 등을 손에 넣는 경우가 있기 때문에 이 절차가 필요합니다.

    이때 M1 환경과 Intel 환경(Rosseta)에서 각각 라이브러리를 만들고 lipo 명령을 Universal Static Library로 설정하여 해결합니다.
    lipo -create libintel.a libarm.a -output libuniversal.a
    
    만약 정확하게 생성된다면 lipo-ifo에서 다음과 같이 x8664와arm64가 대응했습니다.
    lipo -info libuniversal.a
    # Architectures in the fat file: libuniversal.a are: x86_64 arm64
    
    이 대응을 완성한 후, 다시 Xcode로 bundle을 생성하고, Intel/M1 두 가지 대응하는 로컬 플러그인을 완성합니다🎉
    끝말
    M1Mac에 대응하는 로컬 플러그인이기 때문에 앞으로도 MacBook Pro를 안심하고 사용할 수 있습니다.
    이 회사의 결제기기에 따라 M1맥스/RAM64GB의 특성기기가 되었습니다!!
    엔지니어의 절찬을 모집하고 있으니 M1맥스로 일하고 싶은 분들은 꼭 오세요!3
    이상.
    내일은 @Hashimoto_Mami씨의 "뭐라고 쓰세요"입니다.
    일부 환경에서 Mac 버전을 실행할 수 없는 문제. M1Mac 버전의β알림 게시  
    안녕, Intel 칩을 탑재한 MacBook Pro  
    상세한 규격은 면담 등을 통해 문의하십시오

    좋은 웹페이지 즐겨찾기