Cloud Code C# 모듈

모듈은 재사용 가능한 서버 권한을 가지는 코드를 제공하기 위해 Cloud Code 서비스가 실행할 수 있는 C# 라이브러리입니다. 단일 스크립트와 달리 이러한 모듈을 활용하면 모듈 내에서 여러 진입점을 사용하고 코드를 쉽게 재사용할 수 있습니다.

또한 메인 라이브러리와 DTO(데이터 전송 오브젝트) 라이브러리를 생성할 수 있으며, Cloud Code와 게임 모두에서 이를 사용하여 Cloud Code 클라이언트와 게임 간에 전송되는 모든 데이터에 동일한 포맷을 사용할 수 있습니다.

Unity로 빌드한 게임 또는 다른 클라이언트나 서버에서 모듈을 호출할 수 있습니다.

저작(authoring) 방법설명
Unity DashboardUnity Dashboard를 사용하여 배포된 모듈 목록을 미리 봅니다. 동일한 곳에서 Remote Config 등 다른 Unity Gaming Services에 액세스할 수 있습니다.
Unity 에디터Unity 에디터에서 Deployment 창을 사용하여 모듈을 생성 및 배포하고, 워크플로를 자동화하고, Cloud Code를 다른 Unity 서비스와 함께 배포합니다.
Unity Gaming Services CLICLI를 사용하여 커맨드 라인에서 모듈을 배포하고 관리합니다. 여러 Unity 서비스 구성을 한 번에 배포하고 CI/CD와 연동합니다.

Cloud Code C# 모듈은 [Unity 스크립팅 API]의 네임스페이스 또는 그 외 요소에서 UnityEngine의 클래스를 사용할 수 없습니다. Cloud Code가 오픈 소스 [.NET 런타임]을 사용하기 때문입니다. 이는 Unity Runtime과는 별개이며 해당 [스크립팅 백엔드]를 사용하지 않습니다.

일반적인 워크플로

다음 프로세스는 일반적인 개발 주기를 자세히 설명합니다.

  1. C# 라이브러리 프로젝트를 생성합니다. C# 코드에 대해 이미 익숙한 IDE에서 모듈 프로젝트를 생성합니다.
  2. 코드를 작성합니다. Cloud Code C# 서비스 SDK를 사용하여 다른 Unity 서비스와 연동합니다. HTTP 클라이언트를 사용하여 외부 서비스와 연동합니다.
  3. 테스트하고 디버깅합니다. 모듈의 유닛 테스트 프로젝트를 생성하여 모든 것이 의도대로 작동하는지 확인하거나, 라이브러리를 데브 환경에 배포하여 실제 사용자 데이터로 테스트합니다.
  4. 모듈을 배포합니다. Cloud Code에서 사용 가능하도록 UGS CLI를 통해 라이브러리를 배포합니다.
  5. 모듈을 프로젝트와 연동합니다. 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 서비스와 연결하는 방법을 알아봅니다.
외부 서비스와 연동외부 서비스와 연동하는 방법을 알아봅니다.
크로스 플레이어 데이터와 상호 작용다른 플레이어의 데이터에 액세스하고 이를 업데이트하는 방법을 알아봅니다.
플레이어에게 푸시 메시지 전송푸시 메시지를 플레이어에게 보내는 방법을 알아봅니다.