문서 메뉴
문서 홈
/ /
Atlas Device SDK
/

Unity용 빠른 시작 - .NET SDK

이 페이지의 내용

  • 전제 조건
  • 설치
  • NPM을 범위 지정 레지스트리로 추가
  • 프로젝트 매니페스트에 Realm 추가
  • Realm 종속성 확인 및 업데이트 확인
  • 최신 Realm .NET SDK 릴리스 다운로드
  • 프로젝트 패키지 관리자에 타볼 추가
  • Realm 가져오기
  • Unity 프로젝트에서 Realm 사용
  • 관리형 코드 스트리핑
  • 애플리케이션이 종료되는 동안 Realm 사용
  • 추가 예제

이 페이지에는 Realm을 설치하고 Unity 프로젝트에 통합하는 방법에 대한 정보가 포함되어 있습니다.

  • Unity 2020.3.12f1 (LTS)

참고

Realm .NET SDK는 다른 버전의 Unity와 호환될 수 있지만 2020.3.12f1 (LTS) 버전은 Realm 팀이 테스트 및 개발에 사용하는 버전입니다. Unity의 UI는 버전마다 변경되는 경우가 많으므로 이 버전을 사용하여 프로젝트가 Realm에서 작동하고 설치 단계가 아래 단계와 일치하는지 확인하는 것이 좋습니다.

Realm은 Unity와 함께 사용할 수 있도록 Realm .NET SDK 를 설치할 수 있는 다양한 방법을 제공합니다. 숙련된 Unity 개발자는 타볼을 사용하여 수동으로 Realm을 설치하는 것이 직관적이라는 것을 알 수 있습니다. 그러나 Realm .NET SDK 는 Unity의 패키지 관리자를 통해 버전 업데이트 알림을 제공하므로 npm을 통해 설치하는 것이 좋습니다. .

1

Unity 프로젝트 내에서 Realm을 다운로드하여 사용하려면 먼저 NPM범위 지정 레지스트리로 추가해야 합니다. 범위 지정 레지스트리로 NPM을 추가하면 Unity가 NPM과 통신하도록 구성되므로 Realm과 같은 패키지를 설치할 수 있습니다.

Unity 패키지 관리자 열기 Unity 메뉴 상단의 Window 탭을 클릭합니다. 에서 를 클릭합니다.Package Manager Window dropdown그런 다음 오른쪽 모서리에 있는 톱니바퀴 아이콘을 클릭합니다.Advanced Project Settings 드롭다운에서 옵션을 선택합니다.

'고급 프로젝트 설정'을 선택합니다.

범위 지정 레지스트리 양식에 아래 세부 정보를 입력하고 저장 버튼을 클릭합니다.

name = NPM
URL = https://registry.npmjs.org
Scope(s) = io.realm.unity
.NET SDK의 최신 릴리스를 다운로드합니다.
2

이제 가 Unity 에서 Realm .NET SDK를 설치할 수 npm 있으므로 Realm 프로젝트의 매니페스트 파일 에 을 종속성으로 추가해야 합니다. . Visual Studio 에서 'Packages/manifest.json' 파일 열기 또는 다른 텍스트 편집기를 사용할 수 있습니다. 종속성 객체 하단에 "io.realm.unity" 필드를 추가합니다. 및 해당 값, 사용하려는 Realm .NET 버전 번호를 따옴표로 묶습니다.

"io.realm.unity": "<version-number>"

위의 <version-number>을 실제 버전 번호로 바꿔야 합니다. 최신 릴리스 버전은 realm-dotnet GitHub 리포지토리에서 확인할 수 있습니다. 전체 매니페스트 파일은 다음과 같이 작성해야 합니다.

{
"dependencies": {
...
"io.realm.unity": "10.21.0"
},
"scopedRegistries": [
{
"name": "NPM",
"url": "https://registry.npmjs.org/",
"scopes": [
"io.realm.unity"
]
}
]
}

이 파일을 저장하면 Unity는 NPM 레지스트리에서 지정된 버전의 Realm .NET SDK 패키지를 다운로드합니다.

3

NPM에서 Realm 패키지가 다운로드되었는지 확인하려면 Unity 메뉴 상단의 Window 탭을 클릭하여 Unity 패키지 관리자를 엽니다. Window 드롭다운에서 Package Manager을 클릭합니다. "Packages: In Project" 탭에 Realm이 표시됩니다.

Unity Realm 설치

Realm 패키지의 버전 번호 옆에 녹색 확인 아이콘이 표시되면 패키지가 최신 상태라는 의미입니다. 그러나 위쪽 화살표 아이콘이 표시되면 새 버전의 패키지를 사용할 수 있습니다. 이 버튼을 클릭하면 최신 릴리스로 업그레이드할 수 있는 옵션이 표시됩니다.

1

Unity 프로젝트 내에서 Realm을 사용하기 전에 Realm .NET SDK를 다운로드해야 합니다.

realm-dotnet 리포지토리 릴리스로 이동합니다. 페이지로 이동한 다음 프로젝트에서 사용하려는 릴리스까지 아래로 스크롤합니다. 어떤 릴리스를 사용해야 할지 잘 모르는 경우 왼쪽 행에 '최신 릴리스' 라고 표시된 릴리스를 사용할 수 있습니다.

.NET SDK의 최신 릴리스 찾기

릴리스의 'Assets' 드롭다운까지 아래로 스크롤한 다음 'io.realm.unity-<version-number>.tgz' 링크를 클릭하여 SDK를 다운로드합니다.

.NET SDK의 최신 릴리스를 다운로드합니다.
2

다운로드한 Realm .NET SDK tarball을 프로젝트 내부로 이동합니다. 파일을 프로젝트 폴더로 드래그 앤 드롭하여 이 작업을 수행할 수 있습니다. tarball을 프로젝트 폴더에 복사하고 버전 관리에 커밋하면 프로젝트에서 작업하는 다른 개발자가 Realm 종속성을 수동으로 다운로드하지 않고도 리포지토리를 복제하고 빌드할 수 있습니다.

다음으로 Unity 패키지 관리자 를 사용하여 프로젝트에 tarball을 로드해야 합니다. .

패키지 관리자를 열려면 Unity 메뉴 상단의 Window 탭을 클릭합니다. Window dropdown Package Manager 을(를) 클릭합니다. 패키지 관리자 모델이 열리면 모델 왼쪽 상단에 있는 + 아이콘을 클릭합니다. Add package from tarball... 옵션을 선택합니다.

tarball Unity UI에서 패키지 추가

"io.realm.unity-bundled-<version-number>.tgz" 파일을 선택하여 프로젝트 가져오기를 시작합니다.

C# 스크립트 만들기 또는 이미 생성한 C# 스크립트를 사용할 수 있습니다. Visual Studio 에서 해당 스크립트 열기 또는 다른 텍스트 편집기를 열고 다음 줄을 추가하여 Realm 패키지를 가져옵니다.

using Realms;

Realm .NET SDK 로 개발할 때 API 메서드는 Unity를 사용하든 다른 플랫폼을 사용하든 관계없이 동일합니다. 그러나 Unity에는 몇 가지 스크립팅 제한 사항 이 있으므로 , 프로젝트를 개발할 때 다음과 같은 추가 고려 사항을 염두에 두어야 합니다.

Unity 가 관리형 코드 스트리핑 을 수행합니다. 바이너리 크기를 줄이기 위해 빌드에서 사용하지 않는 코드를 삭제합니다. 이로 인해 BSON 을 C# 클래스로 역직렬화할 때 문제가 발생할 수 있습니다. IL CPP2 를 사용하는 플랫폼의 경우 iOS와 같은 경우 관리형 코드 스트리핑이 기본적으로 활성화되어 있습니다. BSON으로 작업할 때는 [Preserve] 속성 을 사용하세요. 직렬 변환기에 의해서만 채워지는 유형 속성에 대한 관리형 코드 스트리핑을 방지합니다. 해당 속성은 리플렉션 을 사용하므로 , Unity는 속성 세터가 사용되었음을 정적으로 추론할 수 없습니다. 즉, 을 적용하지 않으면 [Preserve] attribute Unity가 해당 속성을 제거합니다. BSON 역직렬화를 수행할 수 있는 경우의 예는 MongoDB 쿼리함수 호출 문서를 참조하세요.

AppDomain.DomainUnload 이벤트 내에서 Realm .NET SDK에 액세스할 수 없습니다. 또는 Application.quitting 이벤트. 즉, 플레이어 애플리케이션이 종료되는 동안에는 Realm에 데이터를 쓸 수 없습니다. 앱이 종료되기 직전에 일부 데이터를 저장해야 하는 경우 Application.wantsToQuit 대신 이벤트를 생성합니다.

참고

Windows에서 Unity를 사용하여 개발할 때 알려진 문제

Windows에서 Device Sync를 사용하는 경우 여러 프로세스가 동기화된 동일한 Realm에 액세스하려고 하기 때문에 프로젝트의 여러 인스턴스를 실행할 때 프로젝트가 중단될 수 있습니다. 로컬 Realm을 사용하는 경우 충돌 없이 프로젝트의 여러 인스턴스를 실행할 수 있습니다.

Realm 커뮤니티는 Realm .NET SDK의 사용법을 보여주는 많은 프로젝트를 만들었습니다. 아래에서 Unity에서 Realm .NET SDK 사용법을 보여주는 예시를 확인해 보세요!

참고

MongoDB 문서 팀은 이러한 예시를 직접 유지 관리하지 않습니다.

돌아가기

.NET SDK

다음

Realm 파일