Third-Party Dependencies
Unity Editor Toolkit에서 사용하는 외부 라이브러리 목록 및 설치 가이드입니다.
📦 현재 포함된 라이브러리
1. websocket-sharp
- 용도: Unity Editor ↔ CLI WebSocket 통신
- 버전: 포함됨
- 위치:
ThirdParty/websocket-sharp/
🆕 PostgreSQL DB 기능을 위해 추가 필요한 라이브러리
2. Npgsql (PostgreSQL .NET Driver)
- 용도: Unity에서 PostgreSQL DB 연결
- 버전: 6.x (권장: 6.0.11)
- 다운로드: NuGet Gallery - Npgsql
- 설치 위치:
ThirdParty/Npgsql/
Npgsql 설치 단계:
Option 1: NuGet Package Explorer 사용 (추천)
- NuGet Package Explorer 다운로드: https://github.com/NuGetPackageExplorer/NuGetPackageExplorer/releases
- NuGet Package Explorer 실행
File > Open Package from Online Feed...- "Npgsql" 검색, 버전 6.0.11 선택
- 오른쪽 패널에서
lib/netstandard2.1/폴더 확인 - 다음 DLL 파일들을
ThirdParty/Npgsql/폴더에 복사:Npgsql.dllSystem.Buffers.dllSystem.Memory.dllSystem.Runtime.CompilerServices.Unsafe.dllSystem.Threading.Tasks.Extensions.dll
Option 2: NuGet CLI 사용
# NuGet 설치
dotnet tool install --global NuGet.CommandLine
# Npgsql 다운로드
cd ThirdParty
mkdir Npgsql
cd Npgsql
nuget install Npgsql -Version 6.0.11 -Framework netstandard2.1
# DLL 파일 복사
cp Npgsql.6.0.11/lib/netstandard2.1/*.dll ./
cp System.Buffers.*/lib/netstandard2.1/*.dll ./
cp System.Memory.*/lib/netstandard2.1/*.dll ./
cp System.Runtime.CompilerServices.Unsafe.*/lib/netstandard2.1/*.dll ./
cp System.Threading.Tasks.Extensions.*/lib/netstandard2.1/*.dll ./
# 임시 폴더 삭제
rm -rf Npgsql.6.0.11/ System.Buffers.*/ System.Memory.*/ System.Runtime.CompilerServices.Unsafe.*/ System.Threading.Tasks.Extensions.*/
Option 3: 수동 다운로드
- https://www.nuget.org/packages/Npgsql/6.0.11 접속
- 오른쪽 "Download package" 클릭
.nupkg파일을.zip으로 이름 변경- 압축 해제
lib/netstandard2.1/폴더의 DLL 파일들을ThirdParty/Npgsql/에 복사
최종 폴더 구조:
ThirdParty/
├── Npgsql/
│ ├── Npgsql.dll
│ ├── Npgsql.dll.meta (Unity가 자동 생성)
│ ├── System.Buffers.dll
│ ├── System.Buffers.dll.meta
│ ├── System.Memory.dll
│ ├── System.Memory.dll.meta
│ ├── System.Runtime.CompilerServices.Unsafe.dll
│ ├── System.Runtime.CompilerServices.Unsafe.dll.meta
│ ├── System.Threading.Tasks.Extensions.dll
│ └── System.Threading.Tasks.Extensions.dll.meta
└── websocket-sharp/
└── (기존 파일들)
3. UniTask (Unity 비동기 프로그래밍)
- 용도: 데이터베이스 비동기 작업 (DB 쿼리 시 Unity Main Thread 블로킹 방지)
- 버전: 2.x (권장: 2.5.4)
- 다운로드: GitHub - UniTask
- 설치 위치:
ThirdParty/UniTask/
UniTask 설치 단계:
Option 1: Unity Package Manager (Git URL) - 추천
- Unity Editor 메뉴:
Window > Package Manager - 왼쪽 상단
+버튼 클릭 Add package from git URL...선택- 입력:
https://github.com/Cysharp/UniTask.git?path=src/UniTask/Assets/Plugins/UniTask Add클릭
Option 2: .unitypackage 다운로드
- https://github.com/Cysharp/UniTask/releases 접속
- 최신 릴리즈의
UniTask.{version}.unitypackage다운로드 - Unity Editor에서
Assets > Import Package > Custom Package... - 다운로드한
.unitypackage선택 - Import
Option 3: 수동 DLL 추가 (고급)
- https://github.com/Cysharp/UniTask/releases 접속
- Source code (zip) 다운로드
src/UniTask/Assets/Plugins/UniTask/Runtime/폴더에서UniTask.dll복사ThirdParty/UniTask/폴더에 붙여넣기
최종 폴더 구조 (Option 3 사용 시):
ThirdParty/
├── UniTask/
│ ├── UniTask.dll
│ └── UniTask.dll.meta
├── Npgsql/
│ └── (상기 DLL 파일들)
└── websocket-sharp/
└── (기존 파일들)
✅ 설치 확인
- Unity Editor 재시작
Console탭에서 DLL 로딩 에러 확인- 메뉴:
Tools > Unity Editor Toolkit > Server Window - Database 탭 확인 (Phase 1 완료 후 표시됨)
🔧 문제 해결
DLL 충돌 에러
Assembly 'Npgsql' has already been loaded from a different location.
해결:
- Unity 프로젝트의
Packages/폴더에서 중복 Npgsql 제거 Library/ScriptAssemblies/삭제- Unity Editor 재시작
.NET Standard 2.1 호환성 에러
The type or namespace name 'System.Buffers' could not be found
해결:
- Unity 2020.3 이상 사용 확인
Edit > Project Settings > Player > Other SettingsApi Compatibility Level:.NET Standard 2.1선택- Unity Editor 재시작
UniTask 중복 에러
Multiple precompiled assemblies with the same name UniTask.dll
해결:
- Option 1 (UPM) 사용 시 Option 3 (수동 DLL) 제거
- 또는 반대
📚 참고 문서
최종 업데이트: 2025-11-14 Phase: 1 (인프라 구축)