Blamcon Lightguns for Unity

A light gun that aims, shoots and kicks in your game — absolute aim, four players, recoil, rumble, RGB and the ammo display, from a few lines of C#. This page is for game developers: what the package does, what state it is in, and how you can help.


  • 2.0.0 beta
  • UE 5.4+
  • Windows · USB
  • MIT, source only
  • Unreal Engine package too

Why light guns, why now


Light gun owners mostly point their hardware at emulators, because very few modern games support it. The hardware exists and the players exist; engine support has been the missing piece.

The Unity package closes that gap. Your game sees a light gun as a first-class Input System device, and it can drive the hardware a gamepad cannot match: a recoil solenoid, a rumble motor, addressable RGB and the ammo counter on the gun itself.

What it costs you

  • An afternoon for a basic integration: aim, fire, recoil on shoot
  • No HID code, no device handling, no threads
  • No hardware for the team — the same actions work on a mouse


Build the whole game on a mouse

One Aim action binds to both the gun's position and the mouse cursor. One Fire action binds to the trigger and the left mouse button. Nobody on the team needs hardware until you want to try it on a cabinet, and the bindings do not change when you do.

Feedback a gamepad cannot do

A solenoid that kicks the player's hand, a rumble motor, addressable RGB, and a physical ammo counter that ticks down as they fire. Four calls cover it: ActivateRecoil, ActivateRumble, ActivateLED and SendAmmoCount. Want several at once? Set them on one output report and send it in a single command.

No HID to learn

The package owns the device layout, the report decoding, the output commands and the hot-plug handling. You never see a report byte or a device path — you get a Lightgun device and a feedback interface.

It hands the gun back

Add a Lightgun Session component and it holds recoil, rumble and the LED while your scene runs, then releases them when play stops, the game quits or the window loses focus. A player's gun behaves normally the moment they alt-tab or quit, which matters on a cabinet that runs several games.

Yours to inspect

MIT licensed, installed from GitHub through Package Manager, no prebuilt binaries, no royalties, nothing phoning home. There is a companion Unreal plugin with the same model, so a studio shipping on both engines learns it once.


The package sits between the gun's HID reports and the parts of Unity your game already uses.

flowchart LR subgraph GUN["BLAMCON LIGHTGUN"] G1["Aim, trigger, buttons input reports"] G2["Recoil, rumble, RGB, ammo output report 0x10"] end subgraph PACKAGE["UNITY PACKAGE"] P1["BlamconLightgunHID a Lightgun device"] P2["Mouse-mode device feedback only"] P3["Lightgun Session takes and releases control"] end subgraph GAME["YOUR GAME"] E1["Input Actions position, trigger, A, B, Y..."] E2["Feedback calls ActivateRecoil, SendAmmoCount..."] end G1 --> P1 --> E1 E2 --> P1 E2 --> P2 P1 --> G2 P2 --> G2 P3 -. control taken and released .-> P1

Feedback leaves as one 40-byte HID output report. Build a single report when you want several effects together, rather than firing calls back to back: the gun services one report at a time.


For the engineer who will actually wire it up.

Item Detail
Aim Absolute position control, read like the mouse position
Buttons Trigger, A, B, Y, Start, Select, D-Pad
Players Up to four guns, each its own input device
Recoil pulse 15–200 ms on, 45–200 ms off
Rumble pulse 100–2400 ms
LED flash 20–5000 ms
Wire format One 40-byte HID output report
Engine Unity 6 (6000.0 or later), Input System 1.14, Windows
Gun firmware 1.0.16 or later in Gamepad mode over USB; 2.1.0 for mouse mode; Bluetooth needs a coming release


A Blamcon gun can present itself as a game controller or as a mouse. The package supports both, and your game does not need different code for each.

Gamepad mode Mouse mode
Aim and buttons A Lightgun device in the Input System Arrive as the system mouse
Force feedback Yes Yes, on firmware with mouse-mode feedback
Multiplayer Each gun is its own player All guns share one cursor
Best for Two to four player cabinets Single player, and players who prefer mouse mode

Use Gamepad mode for multiplayer. Either way, the mouse bindings mean a developer without a gun can still play the game.


Version 2.0.0, release candidate. Everything below was checked on Windows, over USB, with the guns we have here. We would rather tell you that up front than have you find it.

Verified on hardware Not tested yet
Aim, trigger and buttons in Gamepad mode Feedback over Bluetooth, which needs a coming firmware release
Recoil, rumble, LED and the ammo display from C# Lightgun Session across a full play session on hardware
Feedback in mouse mode, on firmware that supports it Two or more guns at once
A full game end to end: the Blamcon Shooting Gallery

Windows for now. Unity's HID backend does not cover Linux.


We want light guns to feel like arcade hardware in a modern engine, not like a mouse with extra steps. That takes developers who ship games people aim at a screen.

  1. Plug it into a project you already have. Install the package, bind fire and aim, fire recoil when your weapon shoots. Tell us where it got in the way.
  2. Tell us if the API is the wrong shape. It is not frozen. Are the calls right for the way you build weapons? Is something missing??
  3. Break it and send the log. A log line and what you did is enough.
  4. Then tell us what would make a light gun mode shippable. Integration help, promotion to the light gun community — say what is actually in the way and we will work on that.

Open an issue at github.com/Props3D/UnityLightguns/issues, or contact us directly on Discord.