[Unity] Nuget에서 받은 패키지 유니티 프로젝트에 적용하기

2022. 6. 10. 13:41

유저의 비밀번호를 playerprefs 에 저장하며 암복호화가 불가피하여 검색하던중 이런글을 읽어보았다. 키를 사실 프로젝트 내에서 관리한다는점도 좀 찝찝했고,,, 윈도우즈 인증 자체가 키가 되는 경우라 이 방식을 채택하게 되었다.

 

VS2019 를 사용하는데, using System.Security.Cryptography; 도 눈누난나 추가해주면서 ProtectedData 호출해 사용하였다. 중간에 빨간줄이 떴는데 추천해주는 수정방식으로 적당하게 골라서 클릭했더니 컴파일에도 문법오류를 모두 해결했다 (지옥의 시작)

 

컴파일도 잘되는데... 문제는 유니티 에디터에서 인식이 안되고 계속 오류를 뱉는 것이었다..!!! 에디터를 껐다 키고 VS도 계속 다시 해보고... 사라지지 않는 오류... 알고보니 내가 Crytography를 사용하면서 나도모르게 Nuget 패키지를 다운로드 받았고, VS에서는 알아서 잘 처리했지만 유니티는 Plugins 폴더에 직접 넣어줬어야했는데 그렇지 않아서 오류가 난것이었다.

 

인식 되어라 이놈들아 ㅜㅠㅜ

 

1. 우선 자신이 사용하는 패키지를 확인하자. VS 2019 기준으로 도구 > NuGet 패키지 관리자 > 솔루션용 NuGet 패키지 관리에 들어가면 아래와 같이 자신이 사용하는 패키지가 무엇인지 확인이 가능하다. 여기서 nuget.org 링크를 누르면 해당 패키지를 Nuget 갤러리에서 확인하여 별도로 다운받을 수 있다.

 

 

2. download package 를 눌러 다운로드를 받으면 .nupkg라는 확장자로 다운로드 받게된다. 이것을 .zip으로 변경하여 구조를 확인한다.

 

NuGet 갤러리

 

 

3. lib > netstandard2.0의 dll 파일을 유니티 프로젝트에서 Assets > Plugins 폴더에 넣어준다. Plugins 는 예약어 폴더(특수한 폴더) 라서 없는경우 이름만 똑같이 해 새 폴더를 만들어 dll을 넣으면 유니티가 알아서 인식해준다. lib안에 폴더가 상당히 다양하여 처음에 고민했는데 다른 것을 넣으면 인식이 안되고, netstandard2.0의 dll 파일만 왜인지 인식이 되더라...

 

dll 복사 하기

 

4. 인스펙터에서 확인했을 때 잘 뜨면 해피 ~~

 

 

이번엔 Nuget의 dll 을 쓰면서 좀 복잡하게 되었는데 추후 직접만든 C#이든 C++ 이든 dll 을 추가해 줄때 유니티 에디터에서 오류가 나도 겁내지 않고 잘 해결 할 수 있을 듯 싶다. 여기를 참조해 쓴 글이다.