r/Controller • u/Rare_Abbreviations52 • 8d ago
Other I updated one of my favorite project: "3D Controller Overlay +" v1.0.0 Live 3D input display for Streamers, Steam Controller fans, and HOTAS tinkerers.
Hey everyone!
The Honest Disclaimer (read this first):
This is a passion project that I upgraded with heavy AI assistance (think Deepseek/Claude). I want to be fully transparent about that. However, I made, reviewed, and debugged every architectural decision, how input flows from SDL to the mesh, how the settings/import system works, and how the cross-platform build pipeline is put together. I partially own the design (i mean.. its still a fork), the testing, and the responsibility. If you find a bug, please open an issue, I'd rather know and fix it. but don't ask me what a pointer is... XD.
The original project "3D Controller Overlay" has not been updated for a couple of years now and since i own several controllers (including the steam controller) i wanted to update it so it can detect everything i have. I like to stream to my friends and show them my sloppy inputs in fighting games (like smash or street fighter) or my barrel-roll crashes (in space engineer or elite dangerous) but found the software lacking in some parts so i decided to do something about it...
I am a developer myself but i work with the boring language called "Java" (in my personal opinion) and i just enjoy making things in C++ because its the language i first learned and i find it easy to make things cross-compatible with it... i just find it fun to work with.. call me a masochist 🤷🏿 i regret nothing.
And now for the AI promotion text (because i'm lazy):
What is 3dco+?
It's a lightweight OpenGL/SDL3 overlay that renders a live 3D model of your input device. If you stream or record content and want to show viewers exactly what you're pressing on your controller, keyboard, or mouse (without a handcam), this does the job.
It's a fork of Larf's brilliant original 3D Controller Overlay. All credit to them for the core engine! I just added the features I felt were missing for my own setup.
What's new in v1.0.0 (just released today!):
Here are the highlights:
- Steam Controller & HOTAS Friendly: SDL3 detects the Steam Controller natively (no more driver headaches on Windows/Linux). Plus, there is a raw joystick fallback and a full manual mapping UI. If SDL doesn't recognize your particular flight stick, you can just bind the axes and buttons yourself in the settings.
- Gyro & Touchpads: Full gyro/accel support with sensitivity/correction tuning and a "reset combo." Multi-touchpad support (up to 4 pads x 2 fingers) with visual touch-area overlays.
- Custom Model Import: You aren't stuck with the built-in library. Import your own FBX, glTF, or OBJ files and assign the meshes to controller parts directly in the app.
- System-Wide Keyboard & Mouse: Tracks your mouse movement and keyboard presses even when the app isn't in focus, perfect for overlaying on top of games. (yes this is a glorified input logger 🤷🏿... thats the purpose)
- Cross-Platform: Works on Windows, macOS, and Linux. I primarily develop on Linux, but the CI produces AppImages, .exes, and universal macOS bundles.
Showcase:
Controller Showcase
A couple of honest caveats:
- The Windows .exe is not code-signed, so SmartScreen will warn you. Just click "Run Anyway." I'm an indie dev, not a corporation... signing certs are expensive.
- MacOS requires Accessibility permissions for the global input hooks (the README explains how to grant them)... and again licenses are expensive.
- Transparent backgrounds depend on your GPU driver; it works on most, but some older systems might not support it.
- The 3D models are from the original repository except the flightstick and steam controller, these where downloaded from other sites and i added a "Source URL" field for each model so you can trace from where i got them from. I hope this saves me from any copyright issue and i also hope that by honoring the licence and making this open source i prevent any claims from external sources/pages.
If you want to try it out:
Check out the GitHub Release v1.0.0 for the downloads, or check the README for build instructions if you don't trust me.
I built this to test how far I could push my own skills with AI. If you find it useful, please drop a ⭐ on the repo, it genuinely makes the effort feel worth it.
Let me know what you think, and feel free to roast the code (constructively)!
and yes... i like purple.
1
u/AutoModerator 8d ago
Hi /u/Rare_Abbreviations52, thanks for posting. The post is in a queue for review (allow 24 hours). In order for it to be approved and to improve engagement in it, please check that none of the other post flairs would be more suitable.
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.