GithubHelp home page GithubHelp logo

satoshirobatofujimoto / unity-wiimote Goto Github PK

View Code? Open in Web Editor NEW

This project forked from flafla2/unity-wiimote

0.0 1.0 0.0 1.51 MB

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

License: MIT License

C# 82.36% C 17.64%

unity-wiimote's Introduction

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!

unity-wiimote's People

Contributors

andreierdoss avatar armsnyder avatar flafla2 avatar saffroncr avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.