Recording
Automatically capture gameplay moments and let players share their best clips.
How It Works
- You define events - Boss fights, achievements, speedruns, etc.
- Your game triggers recordings - Call the trigger function when events happen
- Shard Launcher captures - Records gameplay in the background
- Players get clips - Automatic clips appear in their library
┌─────────────┐ HTTP POST ┌─────────────────┐
│ Your │──────────────────────►│ Shard │
│ Game │ /api/recording/trigger│ Launcher │
└─────────────┘ └─────────────────┘
│
▼
┌─────────────────┐
│ Video Clip │
│ Saved │
└─────────────────┘Quick Start
1. Create Event IDs with ShardKit CLI
# Initialize your project
npx @shard-dev/shardkit init
# Select your engine and enable Recording
# Add recording events
npx @shard-dev/shardkit recording add
# Enter "Boss Defeated" → myGame_e5f6g7h8
# Export for distribution
npx @shard-dev/shardkit recording export2. Trigger Events in Your Game
# Godot 4.x
func _on_boss_defeated():
ShardSDK.recording.trigger_event("myGame_e5f6g7h8")Event IDs
Each recording is triggered by an event ID - a unique identifier you create with ShardKit:
npx @shard-dev/shardkit recording add
# Enter "Boss Defeated" → myGame_e5f6g7h8Event IDs follow the format: {camelCaseGameName}_{8hexChars}
When to Record
Create events for moments players want to share:
- Boss defeats
- Achievement unlocks
- Speedrun completions
- Rare item drops
- PvP victories
- Secret discoveries
Trigger recording at the moment of achievement - the Launcher captures a buffer around the trigger point.
Distribution
Include game_events.json with your game build:
your-game/
├── YourGame.exe (or platform equivalent)
├── game data files
└── game_events.json ← Required!The Launcher reads this file to show human-readable event names in the clip library.
Engine-Specific Setup
Next Steps
- ShardKit CLI - Manage events with the CLI
- API Reference - Full API documentation