Repository navigation
Server Integration
Bugpunch talks to a server in two separate ways:
-
The runtime SDK (crash reporting, bug reports, Remote IDE, analytics) — configured by a
BugpunchConfigasset and used by your game builds. - Editor test-result upload — configured in Project Settings and used only while running tests in the Editor.
- Assets > Create > ODD Games > Bugpunch Config
- Name it
BugpunchConfigand put it in aResourcesfolder (Assets/Resources/BugpunchConfig.asset) — the SDK loads it fromResourcesat startup - Fill in the fields below
| Field | Default | Description |
|---|---|---|
startMode |
Automatic |
Disabled — the SDK never runs. Forced — starts and shows the sign-in / profile dialog at startup for everyone. Automatic — starts, and shows the dialog only if a tester profile is already cached |
serverUrl |
https://api.bugpunch.com |
Bugpunch server URL |
apiKey |
empty | Project API key, from the project settings page on the dashboard |
localIdeServer |
true |
Development builds and the Editor only: serve the Remote IDE API directly on the device (USB or LAN), with no server or sign-in. Release builds never open it |
localIdeServerPort |
0 |
Port for the local Remote IDE API (0 = 47701; the next 9 ports are tried if taken) |
branch |
empty | Release branch / channel label reported with events |
changeset |
empty | Build identifier (commit SHA, CI build number) reported with events |
performanceMonitoring |
true |
Native FPS / memory / thermal / ANR monitoring |
The asset has further sections (video, logging, attachments, and so on); each field has a tooltip in the Inspector.
Availability (v0.8.227): uploads are driven by diagnostic sessions, which are recorded by the internal
TestReportand started only by the SDK's own (unshipped) test fixture. Tests in your project don't produce sessions yet, so there's nothing to upload — see Test Report. The settings and the run lifecycle below are in place for when sessions are exposed.
Edit > Project Settings > UI Automation:
| Setting | Default | Description |
|---|---|---|
| Server URL | the BugpunchConfig server URL |
Test-result server. Override it to point at another Bugpunch server |
| API Key | empty | Sent as the X-Api-Key header |
| Enable Auto-Upload | off | Upload each session after the test |
| Upload Passed Tests | on | When off, only failed sessions are uploaded |
| Capture Persistent Data on Failure | on | Include persistentDataPath in failed sessions |
| Auto-Detect VCS | on | Read Git / Plastic branch and commit into session metadata |
These are stored per machine in EditorPrefs, not in the project.
Test Connection checks the URL and key against POST /api/auth/validate-key. Upload Latest Session / Upload All Sessions upload local session zips manually.
With auto-upload on, each Test Runner batch becomes one run on the server:
- The first real test method to start (not a suite or fixture) calls
POST /api/runs/start - Each finished session is queued and uploaded in the background to
POST /api/sessions/upload(multipart, tagged with the run ID) without blocking the next test - When the batch finishes, the queue is drained and
POST /api/runs/{id}/finishcloses the run
After a connection failure, uploads back off for 60 seconds instead of retrying every test.
- Installation
- Test Report — what a diagnostic session contains
- UIAutomationTestFixture — test base class and why it isn't shipped
Basic Filters
Proximity
Hierarchy
Spatial
Ordering
Modifiers
Combining
Reflection
- Test Actions
- Click Actions
- Text Input
- Drag Actions
- Gesture Input
- Wait and Find
- Assertions
- GameObject Manipulation