프로그래밍/기록, 개념, 용어

유니티에서 Nuget 이용하여 gRPC, Protobuf 패키지 설치

제페 2022. 9. 24. 12:11
반응형

유니티 Nuget 클라이언트 설치

아래 Github 레포에 접속합니다.
GitHub - GlitchEnzo/NuGetForUnity: A NuGet Package Manager for Unity

 

GitHub - GlitchEnzo/NuGetForUnity: A NuGet Package Manager for Unity

A NuGet Package Manager for Unity. Contribute to GlitchEnzo/NuGetForUnity development by creating an account on GitHub.

github.com

가이드에 따라 레포지토리의 Release에서 유니티 패키지를 다운로드 받고, 그 패키지를 유니티 프로젝트에 임포트합니다.

 

Nuget을 이용하여 gRPC 이용에 필요한 패키지들 모두 설치

유니티 상단에서 Nuget  -> Manage Nuget Packages를 클릭하고, 아래 패키지들을 모두 설치합니다.

  • Grpc.Net.Client
  • Grpc.Net.ClientWeb
  • Google.Protobuf

Nuget은 버전 시멘틱을 이용하여 추가적으로 필요한 패키지를 함께 설치합니다만,
때에 따라 특정 DLL이 없는 경우가 발생할 수 있습니다. 그런 경우가 발생한다면 누락된 DLL을 직접 넣어줍니다.

저의 경우 유니티 콘솔에 System.Runtime.CompilerServices.Unsafe 4.0.3.1 DLL이 필요하다는 오류가 발생했으며, Nuget 갤러리에서 그 버전에 해당하는 Nuget을 직접 다운로드 받아서 유니티에 임포트 했습니다.
(+ 이 글이 작성된 시점의 NugetForUnity에는 패키지의 버전 선택 기능을 찾을 수 없었습니다.)

 

Nuget 갤러리에서 누락된 DLL을 직접 설치한 방법

Nuget 갤러리에서 패키지 이름을 검색합니다.
NuGet Gallery | System.Runtime.CompilerServices.Unsafe 4.5.3

 

System.Runtime.CompilerServices.Unsafe 6.0.0

Provides the System.Runtime.CompilerServices.Unsafe class, which provides generic, low-level functionality for manipulating pointers. Commonly Used Types: System.Runtime.CompilerServices.Unsafe

www.nuget.org

Versions 탭을 눌러 내가 필요한 버전을 찾아 다운로드 합니다.

확장자를 .zip 파일로 변경하고 lib 디렉토리 아래엔 프레임워크 별 DLL이 있는데요, 저의 경우 netstandard2.0에 있는 DLL만 추출하여 유니티에 임포트 했습니다.

 

여기까지 적용 후 gRPC를 이용하여 통신되는 걸 확인했습니다.

이 글이 쓰인 시점엔 유니티에서 HTTP/2를 사용할 수 없어 gRPC-Web으로 사용해야 했지만, 사용 경험이 꽤 괜찮아 계속 이용하려고 합니다.

반응형