Add an overlay to OBS

A controller overlay shows every button press, trigger pull and stick movement on screen as it happens. This guide sets one up in OBS, Streamlabs or TikTok LIVE Studio, whichever platform you stream to.

Quick answer: open your overlay, copy its link, then add that link to OBS as a Browser Source. Set the source to 500 × 280, place it in your scene and press any button on your controller to wake it up.

What is a controller overlay?

A controller overlay, also called a gamepad viewer or input overlay, is a live graphic of your controller that lights up with each input. Competitive streamers use it so viewers can follow their inputs in clutch moments, and because it shows that nothing is scripted.

Most modern overlays, Padcraft included, are web pages. The browser reads your controller through the Gamepad API and draws it on a transparent background, which is why you add it as a Browser Source rather than a window capture, and why it looks the same on every platform.

How do I add it to OBS?

1

Build your overlay

Open the overlay configurator, plug in your controller and adjust the design to match your stream. To check your buttons first, use the gamepad tester.

2

Copy your overlay link

Generate your link and copy it. The design is saved with the link and the background is transparent, so the overlay looks the same every time you go live.

3

Add it as a Browser Source

In Sources, click +, choose Browser, paste the link in the URL field and set the width and height. 500 × 280 suits a 1080p canvas; the table below gives the other sizes.

4

Position it and go live

Drag the source into place, resize it if needed and start your stream. Nothing needs to be installed on your PC.

What size should the Browser Source be?

The width and height you type in the Browser Source are the resolution the page is drawn at. Drawing it larger and scaling it down in the scene keeps the edges sharp on high-resolution canvases.

CanvasBrowser Source width × heightSize on screen
1280 × 720500 × 280Scale down to about 340 pixels wide
1920 × 1080500 × 280As is, or up to about 500 pixels wide
2560 × 14401000 × 560Scale down to about 660 pixels wide
1080 × 1920 (vertical)1000 × 560About 500 to 600 pixels wide, see Add an overlay to TikTok LIVE

Where to place it in each game is covered in Place your overlay.

Which Browser Source defaults should I change?

Only the size. The other defaults, listed in the OBS Browser Source documentation, already suit a controller overlay:

SettingOBS defaultFor your overlay
Width and height800 × 600Change to 500 × 280, or the size from the table above
Use custom frame rateOff (the FPS field shows 30)Leave off: the page is then drawn at your canvas frame rate
Custom CSSA transparent background, no marginsLeave as is
Shutdown source when not visibleOffLeave off, so the overlay stays connected between scenes
Refresh browser when scene becomes activeOffLeave off, or the page reloads at every scene change

One related option is global: Settings, Advanced, Sources, Enable Browser Source Hardware Acceleration. It is on by default and should stay on. What happens when it is off is explained in Fix overlay delay.

How do I show the overlay in every scene?

  1. Create a scene named Overlay and add the Browser Source there, once.
  2. In each gameplay scene, click + in Sources, choose Scene and select Overlay.
  3. Position it in each scene. When you change the link or its size later, you change it in one place.

For a single extra scene, right-click the source, choose Copy, then Paste (Reference) in the other scene, and both scenes share the same source.

Which OBS features make the overlay easier to manage?

  • Right-click the source and choose Lock so you cannot drag it by accident while adjusting other sources.
  • In Settings, Hotkeys, every source has Show and Hide entries. Bind one to hide the overlay during cutscenes or menus without switching scenes.
  • Turn on Studio Mode to move and resize the overlay in the preview while viewers keep seeing the live scene.

What should I check before going live?

  1. Click Start Recording, play for 30 seconds and watch the file: the overlay should follow every input.
  2. Press every button, both triggers and both stick clicks at least once.
  3. Switch between your scenes: the overlay should stay connected in each.
  4. Open Docks, Stats: frames missed due to rendering lag should stay at 0.
  5. In Edit Transform, check that the crop is 0 on every side, so no edge of the controller is cut off.
Skip the manual setup

Design your overlay for free in the browser, then generate a transparent link ready to paste into OBS, Streamlabs or any app that accepts a browser source.

Create my overlay

Does it work on Twitch, Kick and TikTok?

Yes. The overlay is part of the scene in your streaming software and is mixed into the video before it leaves your PC, so Twitch, Kick, TikTok and YouTube all receive it already in place. What matters is the software you stream with, not the platform. On a portrait canvas, follow the TikTok LIVE and vertical streaming guide.

How do I set it up in other software?

The steps are the same everywhere: add a browser layer, paste the link, size it. Only the menu names change. If you use StreamElements alerts and widgets, follow the StreamElements overlay guide. If you are still choosing between a native plugin and a web overlay, compare the two methods in Input Overlay for OBS.

Streamlabs

  1. In Sources, click + then Browser Source.
  2. Paste the link in the URL field.
  3. Adjust the size, then drag it into place on the canvas.

TikTok LIVE Studio

  1. Add a layer and choose Web Source. The name can vary slightly between versions.
  2. Paste the overlay link.
  3. Resize the layer in the scene editor.

What if something does not work?

My controller is not detected

Plug the controller in before opening the overlay, then press any button. Browsers only start reading a controller after a first input, so a freshly loaded overlay stays empty until you press something.

Still nothing?

Close any app that holds an exclusive connection to the controller. Steam's controller settings and DS4Windows are the usual causes, since only one program can own the device at a time. The full checklist goes through every other cause.

The overlay freezes when I click into my game

If the overlay follows your inputs while OBS is in front and stops as soon as the game has focus, you are on OBS 33. It is a known bug in that version, not in your link. OBS 33 and controller input explains the two fixes that work today.

The background is not transparent

A black rectangle around the controller means the overlay was added as a window or game capture. Capture sources do not keep transparency; Browser Sources do.

The fix

Delete the source and add it again through Sources, +, Browser, then paste the link in the URL field. A color key or chroma filter on a capture source leaves rough edges around the controller.

The overlay lags behind my inputs

Check that the defaults above are unchanged, then go through the overlay delay guide, which takes the causes in order.

FAQ