Universal, idiomatic C# wrapper for Microsoft.GameInput. Targets .NET 8+ with optional shims for MonoGame

GameInput C# Wrapper (Alpha Release)

Are you looking to add robust controller support and take full advantage of advanced haptics in your game using Microsoft’s modern GameInput API — without the overhead of writing a complete C++ wrapper from scratch?

Good news: I’ve created a comprehensive C# wrapper for the GameInput API.

Key Features

  • Full exposure of the GameInput API surface in clean, idiomatic C#
  • Complete support for:
    • All input controls (buttons, analog sticks, triggers, touchpads, etc.)
    • Advanced force feedback and haptic events
  • Detailed XML documentation on every public member
  • Designed for seamless integration into Unity, Godot, MonoGame, or any .NET-based game/engine

This is an alpha release. While I’ve aimed for broad coverage and stability, some edge cases and platform-specific behaviors may still need refinement.

Get Started

  1. Download the latest release from the Packages page
    (or clone the repo and build it yourself)
  2. Reference the provided .dll in your project
  3. Check the included Mono documentation and example code in the /samples folder

Contributing

I warmly invite the community to try it out in real projects.

  • Found a bug? Missing functionality? Have a suggestion?
    → Please open an Issue
  • Have an improvement or fix?
    → Feel free to fork the repo and submit a pull request

All contributions — big or small — are greatly appreciated and will be carefully reviewed.

Thank you for helping make GameInput more accessible to C# developers!

Happy coding,
@Fenris159