Skip to content

Installation

ODD Games edited this page Oct 14, 2026 · 7 revisions

Installation

Install Bugpunch via Unity Package Manager using a git URL. The package repository is public — no token or scoped registry needed.

Requirements

  • 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

Package Manager Installation

  1. Open Window > Package Manager
  2. Click the + button
  3. Select Add package from git URL...
  4. Enter:
    https://github.com/oddgames/bugpunch-sdk.git#v0.8.227
    
  5. Click Add

manifest.json Installation

Add to your Packages/manifest.json:

{
  "dependencies": {
    "au.com.oddgames.bugpunch": "https://github.com/oddgames/bugpunch-sdk.git#v0.8.227"
  }
}

Version Pinning

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.

Input System Setup

All actions inject events through the Input System, so your project must use it:

  1. Edit > Project Settings > Player
  2. Under Other Settings > Configuration
  3. Set Active Input Handling to Input System Package (New) (or Both)

UI that should receive injected clicks needs an EventSystem with an InputSystemUIInputModule.

Test Assembly

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"
    ]
}

Verify Installation

After installation, verify:

  1. The ODDGames.BugpunchSdk namespace is available
  2. You can use the static ActionExecutor class
  3. 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);
    }
}

Runtime Configuration

The UI automation API works without any configuration. Crash reporting, the Remote IDE and test-session upload need a BugpunchConfig asset — see Server Integration.

Troubleshooting

Missing Input System

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"
  }
}

Clicks Do Nothing

  • Check Active Input Handling includes the new Input System
  • Check the scene's EventSystem uses InputSystemUIInputModule, not StandaloneInputModule

Git Errors

Unity resolves the package with the git command line. Make sure Git is installed and on your PATH, then reopen Unity.

Next Steps

Clone this wiki locally