Hey everyone!
I built a C# to C transpiler for Wii homebrew called WiiSharp.
You write clean C# code in Visual Studio with full IntelliSense, run the transpiler, and get a C file ready to be compiled by devkitPPC into a native .dol that runs on real Wii hardware at full speed. No runtime, no VM, no C knowledge required whatsoever.
Demo video:
GitHub: https://github.com/gitman123323/CSharp2Wii-Transpiler
What's included:
- Full C# to C transpiler built with Roslyn
- 35+ Wii API functions covering Wiimote, Nunchuk, IR pointer, Tilt, Rumble, Battery and more
- 4 player support
- String interpolation, classes, inheritance, arrays, enums and more all supported
- 3 example projects included: Pong with AI, Snake and a full feature test scene
- Pre-built exe included, no need to build from source
- Full source code included for those who want to extend it
Motion Plus update:
I dug into the libogc source and found 4 bugs that have been preventing Motion Plus from working in any Wii homebrew app since it was first added. Fixed them all and tested on real hardware. Gyro data works, connect and disconnect detection works. Since the fix requires a patched version of libogc it only works with a custom Docker image I published. Instructions are on the GitHub page. A pull request has been submitted to the official libogc repo.
Known limitations:
- Motion Plus requires patched Docker image (see GitHub for instructions)
- Wiimote speaker not supported (broken at libogc level)
- GX graphics, TV audio and SD card not yet implemented but open for community contribution
Feel free to ask questions, report issues or share what you build with it!
I built a C# to C transpiler for Wii homebrew called WiiSharp.
You write clean C# code in Visual Studio with full IntelliSense, run the transpiler, and get a C file ready to be compiled by devkitPPC into a native .dol that runs on real Wii hardware at full speed. No runtime, no VM, no C knowledge required whatsoever.
Demo video:
GitHub: https://github.com/gitman123323/CSharp2Wii-Transpiler
What's included:
- Full C# to C transpiler built with Roslyn
- 35+ Wii API functions covering Wiimote, Nunchuk, IR pointer, Tilt, Rumble, Battery and more
- 4 player support
- String interpolation, classes, inheritance, arrays, enums and more all supported
- 3 example projects included: Pong with AI, Snake and a full feature test scene
- Pre-built exe included, no need to build from source
- Full source code included for those who want to extend it
Motion Plus update:
I dug into the libogc source and found 4 bugs that have been preventing Motion Plus from working in any Wii homebrew app since it was first added. Fixed them all and tested on real hardware. Gyro data works, connect and disconnect detection works. Since the fix requires a patched version of libogc it only works with a custom Docker image I published. Instructions are on the GitHub page. A pull request has been submitted to the official libogc repo.
Known limitations:
- Motion Plus requires patched Docker image (see GitHub for instructions)
- Wiimote speaker not supported (broken at libogc level)
- GX graphics, TV audio and SD card not yet implemented but open for community contribution
Feel free to ask questions, report issues or share what you build with it!
Last edited by LoghanVeilleux,







