Repository navigation
Installation
Install Bugpunch via Unity Package Manager using a git URL. The package repository is public — no token or scoped registry needed.
- Unity 6000.3 or later
- Input System package with Active Input Handling set to the new Input System (see below)
These dependencies are declared in the package's package.json and resolve automatically from the Unity Registry:
| Package | Version |
|---|---|
com.unity.inputsystem |
1.7.0 |
com.unity.textmeshpro |
3.0.0 |
com.unity.ext.nunit |
2.0.5 |
com.unity.recorder |
5.0.0 |
com.unity.nuget.newtonsoft-json |
3.2.1 |
com.unity.nuget.mono-cecil |
1.11.6 |
com.unity.webrtc |
3.0.0 |
- Open Window > Package Manager
- Click the + button
- Select Add package from git URL...
- Enter:
https://github.com/oddgames/bugpunch-sdk.git#v0.8.227 - Click Add
Add to your Packages/manifest.json:
{
"dependencies": {
"au.com.oddgames.bugpunch": "https://github.com/oddgames/bugpunch-sdk.git#v0.8.227"
}
}Every release is a git tag (vX.Y.Z). Pin to a tag so the package only changes when you change the URL:
https://github.com/oddgames/bugpunch-sdk.git#v0.8.227
Omitting the tag tracks the default branch, which is not recommended for production projects.
All actions inject events through the Input System, so your project must use it:
- Edit > Project Settings > Player
- Under Other Settings > Configuration
- Set Active Input Handling to Input System Package (New) (or Both)
UI that should receive injected clicks needs an EventSystem with an InputSystemUIInputModule.
The runtime ships as a precompiled, auto-referenced DLL (ODDGames.Bugpunch.dll), so a PlayMode test assembly only needs the usual test references. An asmdef like this works:
{
"name": "MyGame.Tests.PlayMode",
"references": [
"Unity.TextMeshPro",
"Unity.InputSystem",
"UnityEngine.TestRunner"
],
"autoReferenced": false,
"defineConstraints": [
"UNITY_INCLUDE_TESTS"
]
}After installation, verify:
- The
ODDGames.BugpunchSdknamespace is available - You can use the static
ActionExecutorclass - No compilation errors in the Console
using System.Threading.Tasks;
using NUnit.Framework;
using UnityEngine;
using ODDGames.BugpunchSdk;
using static ODDGames.BugpunchSdk.ActionExecutor;
[TestFixture]
public class VerifyInstallTests
{
[Test]
public async Task VerifyInstall()
{
Debug.Log($"Bugpunch {Bugpunch.SdkVersion} is installed");
await Wait(1f);
}
}The UI automation API works without any configuration. Crash reporting, the Remote IDE and test-session upload need a BugpunchConfig asset — see Server Integration.
Error: The type or namespace 'InputSystem' does not exist
The Input System package normally installs as a dependency. If it was removed, add it back to Packages/manifest.json:
{
"dependencies": {
"com.unity.inputsystem": "1.7.0"
}
}- Check Active Input Handling includes the new Input System
- Check the scene's
EventSystemusesInputSystemUIInputModule, notStandaloneInputModule
Unity resolves the package with the git command line. Make sure Git is installed and on your PATH, then reopen Unity.
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