# Rewired Documentation

## For Rewired version 1.0.0.110+

- Overview
- Release Notes

### Essentials:

1. Installation - Walks you through the installation process.
2. Quick Start - A quick guide showing how to do basic setup. All newcomers to Rewired should follow this tutorial to understand the workflow.
3. Basic Usage - Basic guidelines for scripting.
4. Deployment - Important notes on deplyoing your game on various platforms.
5. Rewired Editor - Detailed information about the Rewired Input Manager editor.
6. API Reference - A complete reference for the Rewired scripting API.

### Concepts:

The topics in this section are CRITICAL to understanding the Rewired system. Do not skip over these sections! The answers to the vast majority of support questions I receive on a daily basis are already clearly outlined in these topics. It is very important that you take the time to read this information and familiarize yourself with the Rewired system before contacting support for basic usage and conceptual questions.

- Input Manager
- Players
- Actions
- Input Behaviors
- Controllers
- Controller Maps
- Map Categories
- Layouts
- Custom Controllers

### Extras:

- Control Mapper
- Rewired Standalone Input Module
- User Data Store
- Unity Input Override

### How To's:

- Important classes
- Getting a Player
- Getting input
- Getting a Controller
- Receiving Joystick connect and disconnect events
- Assigning Joysticks to players
- Enabling and disabling Controller Maps
- Managing Controller Maps at runtime
- Loading Controller Maps at runtime
- Displaying a button/axis/key name to the user for an Action
- Displaying a glyph for a Joystick element mapped to an Action
- Displaying a glyph for the currently active Joystick elements
- Getting contributing input sources for an Action
- Determining which Controller was last used
- Calibrating Joystick axes
- Vibration/Rumble
- Handling buttons presses of various types
- Handling multi-button Actions
- Excluding certain Players from Joystick auto-assignment
- Changing configuration settings at runtime
- Converting scripts from UnityEngine.Input to Rewired
- Exporting constants for use in scripting
- Displaying a drop-down list of Actions in the inspector of a script
- Implementing a "Press Start to Join" Joystick assignment system
- Saving and loading Controller Maps
- Saving and loading Calibration Maps
- Modifying Input Behaviors during runtime
- Creating on-screen touch controllers
- Creating a controller mapping screen
- Creating new controller definitions
- Creating new controller templates
- Adding a controller to an existing controller template
- Excluding controller definitions
- Identifying recognized Joysticks by type
- Identifying controllers on Windows fallback or Windows Webplayer platforms
- Hiding input settings on the Unity launcher
- Optimizing performance
- Using Rewired to control Unity's new UI
- Using Apple Siri Remote on Apple TV
- Using ArcadeGuns G-500 AimTrak Light Guns
- Using Sony DualShock 4 special features
- Using P.I. Engineering Rail Driver special features
- Using XBox One controller special features on XBox One platform
- Using PS4 gamepad special features on PS4 platform

### Help:

- Supported Controllers
- Troubleshooting
- Known Issues
- Special Platform Support
  - Windows 8 Store
  - Windows 10 Universal
  - OUYA
  - XBox One
- Examples
- Integrations
  - Unity UI
  - UFPS
  - PlayMaker
  - Behavior Designer
  - Third Person Controller
  - Motion Controller
  - iRDS - Intelligent Race Driver System
  - Racing Game Starter Kit
  - GAC (Great Animation Combos) System
  - Inventory Pro
  - uFS - Flight Simulation Engine
  - Others
- Updating Rewired

### FAQ:

- Does Rewired support Oculus Touch, HTC Vive, etc?
- Does Rewired support this controller?
- Can you/I add support for this controller?
- What platforms does Rewired support?
- Does Rewired support WiiU?
- Can you add joystick auto-recognition for WebGL?
- Does Rewired support touch and gyro/accelerometer input?
- Does Rewired support force feedback?
- Does Rewired support framerate-independent input?
- Does Rewired support multiple independent mice and keyboards?
- Where is Rewired's input configuration data saved?
- How do you consume/use an input?
- My joystick's dead zone is too large/small. How do I change it?
- Can you give me a quick and simple example of how to handle control remapping?
- How can I bind an Action to a button short-press and another Action to a long-press?
- Can I get the Rewired source code?
- What does "this extension requires one licence per seat" mean?
- Do you offer educational or bulk license discounts?

### Unity Help:

- Unity Manual
- Unity Script Reference
- Unity Tutorials

### Links:

- Rewired Website
- Web Documentation