2026-04-10 22:04:51 +08:00
# FoldCC Brisk Game Server SDK
This directory is the package publishing skeleton for Brisk.
The active Unity project source currently lives under:
- `Assets/BriskSdk/Runtime`
- `Assets/BriskSdk/Samples/QuickStart`
- `Assets/Scenes/BriskQuickStartScene.unity`
2026-04-10 22:06:39 +08:00
Sync package content from the Unity source project with:
- `Tools/Sync-BriskPackage.ps1`
2026-04-10 22:04:51 +08:00
## Included runtime modules
- Bootstrap and initialization
- Auth and session restore
- Player profile
- Dynamic config
- Announcements
- Leaderboard
- Archive upload and download
- Player space
- Default blocking error UI
2026-04-11 01:56:47 +08:00
## Archive checksum
Archive upload checksum is handled by the SDK by default.
- For quick use, the archive module now provides:
- `UploadAsync(slotNo, bytes)` for binary
- `UploadTextAsync(slotNo, text)` for UTF-8 text
- `UploadJsonAsync(slotNo, payload)` for JSON objects
- `DownloadAsync(slotNo)` for raw bytes + metadata
- `DownloadTextAsync(slotNo)` for UTF-8 text
- `DownloadJsonAsync(slotNo)` for JSON payloads
- The SDK computes SHA256 automatically when uploading archive bytes
- The current Brisk archive API expects a plain lowercase SHA256 hex string
- Do not send values with a `sha256:` prefix
- If a manual checksum includes that prefix, the SDK will normalize it before sending
## Space content
Player space now follows a metadata + binary content model.
- `GetByPlayerIdAsync(...)` and `GetByLoginIdentityAsync(...)` return metadata only
- `DownloadContentByPlayerIdAsync(...)` and `DownloadContentByLoginIdentityAsync(...)` return raw bytes
- `UpdateMyAsync(string)` uploads text content directly
- `UpdateMyAsync(byte[])` uploads binary content directly
- `UpdateMyAsync(object)` serializes the object as JSON automatically
2026-04-10 22:04:51 +08:00
## Package layout
- `Runtime`
- `Samples~`
- `Documentation~`
## Quick start
See:
- `Documentation~/QuickStart.md`
- `Samples~/QuickStart`
This sample uses an IMGUI test panel for end-to-end SDK flow verification.
When preparing a publish branch, place the package-ready runtime, samples, and docs into this package directory and tag that branch for external consumption.