Cloud Code C# 모듈
모듈은 재사용 가능한 서버 권한을 가지는 코드를 제공하기 위해 Cloud Code 서비스가 실행할 수 있는 C# 라이브러리입니다. 단일 스크립트와 달리 이러한 모듈을 활용하면 모듈 내에서 여러 진입점을 사용하고 코드를 쉽게 재사용할 수 있습니다.
또한 메인 라이브러리와 DTO(데이터 전송 오브젝트) 라이브러리를 생성할 수 있으며, Cloud Code와 게임 모두에서 이를 사용하여 Cloud Code 클라이언트와 게임 간에 전송되는 모든 데이터에 동일한 포맷을 사용할 수 있습니다.
Unity로 빌드한 게임 또는 다른 클라이언트나 서버에서 모듈을 호출할 수 있습니다.
저작(authoring) 방법 | 설명 |
---|---|
Unity Dashboard | Unity Dashboard를 사용하여 배포된 모듈 목록을 미리 봅니다. 동일한 곳에서 Remote Config 등 다른 Unity Gaming Services에 액세스할 수 있습니다. |
Unity 에디터 | Unity 에디터에서 Deployment 창을 사용하여 모듈을 생성 및 배포하고, 워크플로를 자동화하고, Cloud Code를 다른 Unity 서비스와 함께 배포합니다. |
Unity Gaming Services CLI | CLI를 사용하여 커맨드 라인에서 모듈을 배포하고 관리합니다. 여러 Unity 서비스 구성을 한 번에 배포하고 CI/CD와 연동합니다. |
Cloud Code C# 모듈은 [Unity 스크립팅 API]의 네임스페이스 또는 그 외 요소에서 UnityEngine
의 클래스를 사용할 수 없습니다. Cloud Code가 오픈 소스 [.NET 런타임]을 사용하기 때문입니다. 이는 Unity Runtime과는 별개이며 해당 [스크립팅 백엔드]를 사용하지 않습니다.
일반적인 워크플로
다음 프로세스는 일반적인 개발 주기를 자세히 설명합니다.
- C# 라이브러리 프로젝트를 생성합니다. C# 코드에 대해 이미 익숙한 IDE에서 모듈 프로젝트를 생성합니다.
- 코드를 작성합니다. Cloud Code C# 서비스 SDK를 사용하여 다른 Unity 서비스와 연동합니다. HTTP 클라이언트를 사용하여 외부 서비스와 연동합니다.
- 테스트하고 디버깅합니다. 모듈의 유닛 테스트 프로젝트를 생성하여 모든 것이 의도대로 작동하는지 확인하거나, 라이브러리를 데브 환경에 배포하여 실제 사용자 데이터로 테스트합니다.
- 모듈을 배포합니다. Cloud Code에서 사용 가능하도록 UGS CLI를 통해 라이브러리를 배포합니다.
- 모듈을 프로젝트와 연동합니다. Cloud Code SDK를 게임에 임포트하고 제공된 메서드 중 하나를 사용하여 스크립트를 호출합니다.
기본 개념
Cloud Code 모듈의 기본 개념에 대해 알아봅니다.
주제 | 설명 |
---|---|
모듈 프로젝트 생성 | 모듈을 생성하는 방법을 알아봅니다. |
모듈 구조 | 모듈 프로젝트의 구조에 대해 알아봅니다. |
코드 패키징 | 배포를 위해 모듈 코드를 .ccm 파일로 패키징하는 방법을 알아봅니다. |
모듈 작성 | UGS CLI 또는 REST API를 사용하여 모듈을 작성하는 방법을 알아봅니다. |
모듈 실행 | REST API를 사용하거나 Multiplay 서버에서 Unity Runtime의 모듈을 실행하는 방법을 알아봅니다. |
오류 처리 | 모듈에서 오류를 처리하는 방법을 알아봅니다. |
로깅 | 로깅을 사용하여 모듈을 디버깅하는 방법을 알아봅니다. |
워크플로 개선
모듈 개발과 배포를 간소화하기 위해 프로세스를 자동화할 수 있습니다.
주제 | 설명 |
---|---|
CI/CD와 연동 | 모듈 배포를 CI/CD 파이프라인과 연동합니다. |
로컬 배포 자동화 | Cloud Code 서비스로의 모듈 배포를 자동화합니다. |
개발 필수 요소
모듈에서 지원하는 종속성 삽입, DTO, 커스텀 직렬화 기능을 활용하면 더 원활하게 개발할 수 있습니다.
주제 | 설명 |
---|---|
종속성 삽입 | 코드에서 종속성을 분리하는 방법을 알아봅니다. |
유닛 테스트 | 모듈용 유닛 테스트를 작성하는 방법을 알아봅니다. |
데이터 전송 오브젝트 | 데이터 전송 오브젝트를 사용하여 Cloud Code 클라이언트와 게임 간에 전송되는 모든 데이터에 동일한 포맷을 사용하는 방법을 알아봅니다. |
커스텀 직렬화 | Newtonsoft.Json 프로퍼티를 통해 커스텀 직렬화를 사용하는 방법을 알아봅니다. |
추가 연동
모듈을 다른 Unity Gaming Services 및 외부 서비스와 연동하여 크로스 플레이어 데이터에 액세스할 수 있습니다.
C# SDK를 사용하여 다른 서비스와 연동하려면 NuGet
패키지를 설치하거나 HTTP 클라이언트를 사용하면 됩니다.
주제 | 설명 |
---|---|
인증 | Cloud Code를 사용하여 게임 클라이언트를 인증하는 방법을 알아봅니다. |
서비스 및 액세스 토큰 지원 | 서비스 및 액세스 토큰을 사용하여 모듈을 인증하는 방법을 알아봅니다. |
사용 가능한 라이브러리 | Cloud Code 모듈에 포함된 사용 가능한 UGS SDK를 확인합니다. |
액세스 제어 | 액세스를 제어하고 원치 않는 사용을 방지하는 방법을 알아봅니다. |
Unity 서비스와 연동 | Cloud Code를 다른 Unity 서비스와 연결하는 방법을 알아봅니다. |
외부 서비스와 연동 | 외부 서비스와 연동하는 방법을 알아봅니다. |
크로스 플레이어 데이터와 상호 작용 | 다른 플레이어의 데이터에 액세스하고 이를 업데이트하는 방법을 알아봅니다. |
플레이어에게 푸시 메시지 전송 | 푸시 메시지를 플레이어에게 보내는 방법을 알아봅니다. |