Diversion Integration
Cloud-native version control designed for game development assets.
Coming Soon — Diversion integration is currently in development. Contact us to be notified when it’s available.
Table of contents
- Overview
- Configuration
- Setup Steps
- Features
- Webhook Configuration
- Integration with Pipeline
- API Reference
- Troubleshooting
- Comparison with Perforce
- Best Practices
Overview
Diversion is a modern version control system built specifically for game development. ButterStack integrates with Diversion to provide:
- Asset commit tracking
- Conflict detection and notifications
- File change monitoring
- Branch and workspace awareness
- Integration with the asset lineage pipeline
Configuration
Connection Settings
| Field | Description | Required | Example |
|---|---|---|---|
server_url | Diversion API endpoint | No | https://api.diversion.dev |
repository_url | Repository URL | No | https://diversion.dev/org/repo |
workspace_name | Workspace to monitor | No | main-workspace |
branch | Branch to track | No | main |
watch_paths | Paths to monitor | No | Assets/,Content/ |
file_types | File types to track | No | .uasset,.fbx,.png |
Credentials
| Field | Description | Required |
|---|---|---|
api_token | Diversion API token | Yes |
username | Diversion username | No |
Setup Steps
1. Generate API Token
- Log into your Diversion account
- Go to Settings > API Tokens
- Click Generate Token
- Copy the token
2. Add the Integration
- Go to Project Settings > Integrations
- Click Add Integration
- Select Diversion
- Enter your API token and repository URL
- Click Test Connection
- Save the integration
3. Configure Monitoring
Optionally filter what ButterStack tracks:
- watch_paths: Only track changes in these directories
- file_types: Only track these file extensions
- branch: Specific branch to monitor
Features
Asset Sync
When commits are made in Diversion:
- Webhook notification sent to ButterStack
- Commit details fetched via API
Changerecord created- Assets linked to the commit
- Task references extracted from commit message
Conflict Detection
Diversion excels at handling large binary files. ButterStack can notify your team when:
- A file is locked by another user
- A merge conflict is detected
- Multiple users are editing the same asset
File Monitoring
Track specific file types relevant to your project:
file_types:
- .uasset
- .umap
- .fbx
- .png
- .wav
Path Filtering
Focus on specific directories:
watch_paths:
- Content/Characters/
- Content/Environments/
- Content/UI/
Webhook Configuration
Configure Diversion to send webhooks to ButterStack:
- In Diversion, go to Repository Settings > Webhooks
- Add a new webhook:
- URL:
https://your-butterstack.com/webhooks/diversion?token={webhook_token} - Events: Push, Merge, Lock
- URL:
- Save the webhook
Webhook Payload
{
"event": "push",
"repository": "org/repo",
"branch": "main",
"commit": {
"id": "abc123",
"message": "PROJ-456: Updated hero textures",
"author": "jane.smith",
"timestamp": "2026-12-15T10:30:00Z",
"files": [
{
"path": "Content/Characters/Hero/T_Hero_Diffuse.uasset",
"action": "modified"
}
]
}
}
Integration with Pipeline
Diversion serves as Stage 2 (Version Control) in the asset lineage:
Task (Jira) → Diversion → Jenkins → Unreal → Steam
^^^^^^^^
Stage 2
Task Linking
Include task keys in commit messages:
PROJ-123: Added new character models
- Hero base mesh
- Hero texture set
- Updated materials
ButterStack automatically links to PROJ-123.
Build Triggering
Include tags to trigger builds:
PROJ-456: Environment art update #ci
API Reference
Webhook Endpoint
POST /webhooks/diversion?token={webhook_token}
List Changes
GET /api/v1/projects/{project_id}/changes?source=diversion
Troubleshooting
Connection Failed
- Verify API token is valid
- Check repository URL format
- Ensure account has repository access
Webhooks Not Received
- Verify webhook URL in Diversion settings
- Check webhook token matches
- Review Diversion webhook logs
Files Not Tracking
- Check
watch_pathsincludes your directories - Verify
file_typesincludes your extensions - Ensure branch name matches
Comparison with Perforce
| Feature | Diversion | Perforce |
|---|---|---|
| File locking | Built-in | Supported |
| Large files | Optimized | Supported |
| Cloud-native | Yes | On-premise/Cloud |
| Git compatibility | Yes | No |
| Pricing | Per-user | Per-server |
Choose based on your team’s needs and existing infrastructure.
Best Practices
- Use meaningful commit messages - Include task keys
- Configure path filters - Reduce noise from irrelevant changes
- Enable notifications - Alert team to conflicts early
- Regular syncs - Keep ButterStack data current