본문 바로가기
개발/Unity

Unity Leaderboard

by dev_caleb 2024. 8. 31.
728x90

게임을 제작할 때 유저들이,

경쟁과 기쁨을 느낄 수 있는 요소 중에 하나가 리더보드라고 생각한다.

 

리더보드를 구현할 수 있는 방법은 다양한데 내가 특정하게 사용하려고 하면 그 기능을 활용할 수 있는 서비스는 많지 않다. 

 

나는 

 

내 등수가 나와야함, 1~10등까지 나와야함, nickname, flag등 다양한 다른 정보가 있어야함 

 

이걸 모두 만족하게 하려고 하면 

GPGS -> metadata를 넣는방법이 없음, 복잡함

firebase -> 등수를 넣는 방법이 없음, 하려고하면 복잡하며, 비용이 많이 생길 수 있음

Unity cloud -> 최고임, 지워주는것도 가끔씩 지워주고 grade도 나눠줌, metadata 는 chatgpt는 없다고 말하는데 거짓말임, 

option에서 넣을 수 있다!

 

 

public async Task ReportScoreWithMetadataAsync(long score, string flag, string nickname, string color, string size, string model)
    {
        try
        {
            AddPlayerScoreOptions options = new AddPlayerScoreOptions();
            // 메타데이터 생성
            Dictionary<string, string> metadata = new Dictionary<string, string>
            {
                { "flag", flag },
                { "nickname", nickname },
                { "color", color },
                { "size", size },
                { "model", model }
            };
            options.Metadata = metadata;
            // 리더보드에 점수와 메타데이터 업로드
            LeaderboardEntry scoreResponse = await LeaderboardsService.Instance.AddPlayerScoreAsync(LEADERBOARD_ID, score, options);
            Debug.Log("점수와 메타데이터가 리더보드에 성공적으로 업로드되었습니다: " + scoreResponse.Score);
        }
        catch (System.Exception e)
        {
            Debug.LogError("점수 업로드 또는 메타데이터 저장에 실패했습니다: " + e.Message);
        }
    }

 

 

이런느낌! 

 

728x90

'개발 > Unity' 카테고리의 다른 글

2d ai 제작 사이트  (0) 2024.09.15
클릭한 곳에 particle 생성  (0) 2024.08.20
Admob, SDK34  (0) 2024.07.31
번역을 넣었더니 속도가 너무 느려졌어요  (0) 2024.07.22
Xcode unity 빌드 오류  (0) 2024.07.21