Ikarus76 / UEJoystickPlugin

Unofficial Joystick Plugin for the Unreal Engine
39 stars 59 forks source link

UEJoystickPlugin

An event-driven DirectInput Joystick plugin with Input Mapping support for the Unreal Engine 4.

Allows for easy binding of all joysticks that support DirectInput API, including steering wheels and gamepads. Main method of interaction is through Unreal Engine's Input Mapping system. Should you require more nuanced scaling or mixing and splitting of inputs you can use the Blueprint Joystick Component and Blueprint Joystick Interface to extend any blueprint to receive the joystick events.

See unreal plugin thread for downloads and development updates.

How to install it

  1. Download Plugin
  2. Create new or open a project.
  3. Browse to your project root (typically found at Documents/Unreal Projects/{Your Project Root})
  4. Copy Plugins folder into your Project root.
  5. Restart the Editor and open your project again. Plugin should be enabled.

Setup for Use

  1. Input mapping should be automatically enabled, so you can setup your input mapping binds. But you will not receive joystick input until you've added either a JoystickPluginActor to the scene, or a JoystickComponent to any of your blueprints
  2. Option A: JoystickPluginActor for simple input mapping support
    2.1. Select Class Viewer

    2.2. Find JoystickPluginActor and drag it into the scene. You can confirm it's in the scene by looking at the Scene Outliner.

  3. Option B: Joystick Component and JoystickInterface. If you want control over the joystick in blueprint directly for more fine-tuned control (scaling/mixing etc) as well as full button support (up to 128) past the 16 currently supported IM, this is the method to use.
    3.1. add a Joystick Component to the relevant blueprint

    3.2. add a Joystick Interface to the same blueprint

    3.3. You're done. Right click on the event graph and type 'Joystick' to narrow your events to Joystick related (NB: current version also emits PluggedIn and Unplugged)

    3.4. You can poll by dragging from the component return node, both latest frame and all events emit a JoystickSingleController reference

Todo

  1. Add MFD
  2. Force Feedback support.

If you're good with Windows API, help out!