# Nakama Leaderboards Sample Project

**URL:** https://heroiclabs.com/docs/sample-projects/unity/nakama-leaderboards/
**Summary:** Weekly and global leaderboards implementation for Unity games
**Keywords:** nakama leaderboards, unity, list leaderboard records async, write leaderboard record async, delete leaderboard record async, leaderboard records, authentication, sample project, nakama leaderboards controller, global leaderboards
**Categories:** unity, sample-projects, nakama-leaderboards

---


## Code overview

#### Main controller (`NakamaLeaderboardsController.cs`)

Handles all core operations including calling the Nakama Leaderboards API.

**Authentication**

```csharp
// Connects to Nakama server and authenticates with device ID
await AuthenticateWithDevice();
```

**Leaderboard operations**

```csharp
// Fetch leaderboard records
var result = await Client.ListLeaderboardRecordsAsync(Session, leaderboardId, ...);

// Submit a new score
await Client.WriteLeaderboardRecordAsync(Session, leaderboardId, score, subscore, ...);

// Delete player's record
await Client.DeleteLeaderboardRecordAsync(Session, leaderboardId);
```

#### Record view (`LeaderboardRecordView.cs`)

Simple class that displays individual leaderboard entries:

```csharp
public void SetLeaderboardRecord(IApiLeaderboardRecord record)
{
    // Shows player rank, username, score, and subscore
}
```
