유니티 엔진/유니티 엔진의 구성

유니티 엔진의 구성 - 47) Remote Config

monstro 2026. 6. 10. 19:55
728x90
반응형

- 개요

Remote Config게임 빌드를 새로 바꾸지 않고도

유니티 대시보드에서 게임 내 필드 값실시간으로 수정할 수 있는 서비스를 의미한다

주로 게임의 밸런싱이나, 보상 수정, 게임을 덮어씌우는 용도로 사용할 수 있다

 

- Remote Config 사용 절차

1) 패키지 설치 및 설정

Remote Config 패키지 설치

 

패키지 매니저를 통해 Remote Config 패키지를 설치한다

 

 

상단의 Project Settings - Services에서 프로젝트에 대한 OrganizationProject ID를 연결한다

 

 

상단 Window - Remote Config을 눌러 Remote Config 탭을 열 수 있다

하단의 Add Setting 버튼을 눌러 프로젝트에서 사용하는 필드그 값을 추가할 수 있다

 

 

추가한 필드에서는 사용하는 데이터의 자료형에 따라 Type을 설정할 수 있다

Key를 통해 데이터를 탐색하고, Value를 통해 데이터의 값을 설정한다

 

2) 필드 추가 및 사용

2 - 1) Push - 로컬에서 서버로 데이터를 업로드

 

위와 같이 playerSpeed 데이터를 추가하고 값을 설정하였다

 

 

프로젝트의 데이터에 대해 위와 같이 PushPull을 선택할 수 있다

  • Push : 로컬에서 변경한 설정을 서버업로드하는 용도
  • Pull : 서버에서 변경한 설정을 로컬업로드하는 용도

 

로컬에서의 Push 실행 결과

 

위와 같이 유니티 대시보드에서 Push된 데이터를 확인할 수 있다

 

2 - 2) Publish - 서버에서 로컬로 데이터를 배포

서버에서의 키 생성 + Publish

 

유니티 대시보드에서 Add Key를 선택하여 데이터를 추가하고

Publish를 선택하여 추가한 데이터를 로컬에 배포할 수 있다

 

로컬에서의 Pull 실행 결과

 

로컬에서 Pull을 실행하면 서버에서 추가한 데이터가 문제없이 로컬로 배포된 것을 확인할 수 있다

 

3) 스크립트를 통한 Remote Config 사용

public class Test : MonoBehaviour
{
    private const string PLAYER_SPEED = "playerSpeed";
    private const string SCORE = "Score";

    public struct UserAttributes
    { 
        // ...
    }

    public struct AppAttributes
    { 
        // ...
    }

    private async void Awake()
    {
        await UnityServices.InitializeAsync();

        await AuthenticationService.Instance.SignInAnonymouslyAsync();

        RuntimeConfig runtimeConfig = await RemoteConfigService.Instance.FetchConfigsAsync
        (
            new UserAttributes(),
            new AppAttributes()
        );

        Debug.Log("playerSpeed : " + runtimeConfig.GetFloat(PLAYER_SPEED));
        Debug.Log("score : " + runtimeConfig.GetInt(SCORE));
    }
}

 

위와 같이 코드를 구성하였다

  • Remote Config에 등록된 데이터의 Key를 의미하는 상수 문자열 변수 추가
  • Awake 함수 로직
    • UnityServices.InitializeAsync 함수를 호출하여 유니티 백엔드 서비스 초기화
    • AuthenticationService.Instance.SignInAnonymouslyAsync 함수를 호출하여 익명 로그인
    • RemoteConfigService.Instance.FetchConfigsAsync 함수를 호출하여 서버에서 데이터 값 반환
    • Key 상수 문자열을 이용하여 데이터의 값 출력

 

- 최종 실행 결과

 

최종 실행 결과는 위와 같다

Remote Config를 통해 원격에서 등록한 데이터의 값을 출력하였다

728x90
반응형