This is a submission for the GitHub Copilot CLI Challenge
What I Built
I built Wiimote Manager Pro, a modern Windows application that breathes new life into old Nintendo Wii Remotes by converting them into fully functional Xbox 360 controllers.
I love playing local multiplayer party games on my PC, but I often run into the classic problem: not enough controllers for everyone. I had a box of old Wiimotes gathering dust, so I decided to put them to use. While emulators like Dolphin have this functionality built-in, I wanted a standalone, system-wide solution that works with any modern PC game—from Steam to Game Pass.
Unlike older, abandoned drivers, this project is built on the modern .NET 8.0 stack and uses the ViGEmBus driver for seamless Xbox emulation.
Key Features:
- 🎮 Xbox 360 Emulation: Works with almost any modern PC game (no custom driver config needed per game).
- 🧠 Smart Profile System: Automatically detects which game is running and switches button mappings instantly.
- 🏎️ Motion Controls: Utilizes the Wiimote's accelerometer for tilt-to-steer in racing games.
- 🔌 Multi-Controller Support: Connects up to 4 players simultaneously.
- 🎨 Modern WPF UI: A sleek, dark-themed dashboard with glassmorphism effects.
Demo
In this video walkthrough, I demonstrate the complete workflow: from pairing a Wiimote via Bluetooth to configuring button mappings in the modern UI. You'll see the Smart Profile System automatically detecting running games and switching configurations on the fly, as well as a live gameplay test showing the motion controls in action.
My Experience with GitHub Copilot CLI
This was my first time building a C# application with the .NET 8 framework. I started with a high-level vision and a blank repository, using the GitHub Copilot CLI not just as an autocomplete tool, but as a Lead Architect and Senior Engineer.
The process was incredible. Since I was new to the ecosystem, Copilot guided me through the entire setup, explaining how to organize a scalable WPF architecture (MVVM) and which dependencies (like HidSharp and ViGEm.Client) I needed. I heavily utilized MCP Servers (like Context7 and Tavily) to let Copilot research the specific HID protocols for the Wiimote directly from technical documentation and wikis.
What surprised me most was how I could leverage different LLMs for different phases:
- Research & Architecture: I used models like Gemini to brainstorm the project structure and understand the Bluetooth stack.
- Coding & Refactoring: I switched to models specialized in code generation for the heavy lifting of the HID communication logic.
It felt like working with a dedicated team of experts. We went from a simple concept to a polished app with over 5,000 lines of code, 100% test coverage on core features, and a comprehensive documentation suite.
Repository Highlights & DevOps
Copilot didn't just help with the C# code; it helped me set up a professional-grade repository from day one.
-
🚀 CI/CD Pipelines: We set up GitHub Actions workflows (
ci.ymlandrelease.yml) that automatically build the project, run the unit test suite, and even draft releases when I push to main. -
📚 Comprehensive Documentation: The
docs/folder is packed with technical guides, architecture overviews, and user manuals—all generated or refined with AI assistance to ensure the project is maintainable. - ✅ Automated Testing: The project boasts a robust test suite ensuring stability before every deploy.
I invite you to explore the GitHub Repository to see the clean architecture, browse the documentation, or even open a PR! Whether you want to add support for a new controller or just fix a typo, contributions are welcome.
Top comments (1)
Wow! This is amazing! I needed this