• Stars
    star
    303
  • Rank 136,985 (Top 3 %)
  • Language
    C#
  • License
    MIT License
  • Created over 9 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

An easy to use interface between Unity3D / C# and a Wii Remote controller.

C# / Unity Wii Remote API

This is an easy to use interface between Unity3D (or C# in general with minimal changes) and a Wii Remote controller. The library uses a slightly modified version of Signal11's HIDAPI to handle low-level bluetooth communications. In essence, the API itself is an implementation of the excellent reverse-engineering effort done at Wiibrew. Here are some notable features of the API:

  • Cross Platform: The API is compatible with Windows (on the Microsoft and BlueSoleil bluetooth stacks), Mac, and Linux (only tested on Windows and Mac).
  • Fully Featured: The API is capable of communicating and interpreting almost all useful data from the Wii Remote, including:
    • Basic Button Data (A, B, +, -, 1, 2, D-Pad, Home buttons)
    • 3-Axis Accelerometer reporting
    • IR Camera Data (including pointing position)
    • Extension Controller Support:
      • Nunchuck: Joystick data, C and Z buttons, Accelerometer data
      • Classic Controller: All Buttons (including analog buttons) and Joysticks
      • Wii Motion Plus: Change in Pitch / Yaw / Roll.
      • Wii U Pro Controller: All Buttons and Joysticks - The Wii U Pro Controller acts as a Wii Remote with a custom extension controller, so it is compatible with this API.
      • Guitar Hero Guitar Controller: All buttons, both strum directions, whammy, slider (touchbar), and analog stick
      • More extension controllers coming soon! Raw data also available for custom extension controllers.
    • Controlling the remote's 4 LEDs
    • Status reporting (battery level, player LED state, etc.)
    • More features coming soon!
  • Fully Documented: The API comes with an example scene in Unity3D that makes use of all of the API's functions. The API itself is well commented and comes with Doxygen documentation.
  • Open and Growing: The API is licensed under the generous MIT license (see LICENSE.txt) so you can easily use it in your projects. Source code access lets you debug easer. Of course, it's also free!

Installation

The latest release can be found here

To install, open Unity-Wiimote.unitypackage or go to Assets->Import Package->Custom Package... in the Unity Editor and locate Unity-Wiimote.unitypackage.

Future Changes

While the API is very powerful already, I would still like to make changes to it to improve it even more. Namely I would like to:

  • Add support for all common extension controllers (Classic Controller Pro, etc.)
    • Add support for Nunchuck passthrough / Classic Controller passthrough mode on the Wii Motion Plus
  • Add speaker support (no small feat!)

If you would like to help implement any of these changes, feel free to submit a pull request!

More Repositories

1

Vive-Teleporter

A framework for Unity3D that automatically generates teleporter boundaries and facilitates the teleporter mechanic, similarly to Valve's "The Lab"
C#
398
star
2

Generic-Raymarch-Unity

An experiment in distance field raymarching that interacts with standard mesh-based objects. Made in Unity.
C#
193
star
3

Unity-Splines

A spline editor tool for Unity, useful for creating complex 3D movements and animation
C#
32
star
4

Translucency-Shader

A deferred translucency (with Subsurface Scattering) shader for Unity3D that integrates with existing Deferred rendering and Standard shading PBR systems. Based on research by EA DICE presented at GDC 2011.
C#
24
star
5

Zelda-Timeshift-Unity

An implementation of The Legend of Zelda's Timeshift Stone effect in Unity.
C
22
star
6

Vive-Virtual-Button-Designer

An interactive toolkit for designing virtual buttons on the touchpad of HTC Vive controllers
C#
18
star
7

Toon-Standard

A physically-based Toon Shader for Unity
C#
17
star
8

Raymarch-Clouds

C#
16
star
9

GLTutorial

OpenGL Tutorial Skeleton
C
14
star
10

Screen-Space-Grass

GLSL
13
star
11

Unity-DS4

An experimental API for connecting a Dualshock 4 Controller to the Unity Game Engine
C#
13
star
12

Procedural-Terrain-Demo

Creation of a fully procedural terrain in Unity
JavaScript
6
star
13

flafla2.github.io

adrian's soapbox
HTML
6
star
14

Wiimote-Headtracking

An experimental implementation of Johnny Lee's Wiimote headtracker in Unity with my API
C#
5
star
15

Space-Fighter-Game

A cool space game made in Unity
C#
4
star
16

Volumetrics-Unity

GLSL
4
star
17

Face-Morph-Editor

A sims-style editor for deformable face meshes using Blend Shapes
C#
2
star
18

98127-lecture-notes

Lecture Notes for 98-127 Game Creation for People who Want to Make Games
TeX
2
star
19

hackBCA2

BLINK^3: A Unity Game made for HackBCA II -https://youtu.be/R1hq0ZHNIfQ?t=10s
C#
2
star
20

HackRU2015

A Wiimote communication project for HackRU Spring 2015
C#
1
star