Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. We have updated the language to the Editor Terms based on feedback from our employees and community. Learn more.
    Dismiss Notice
  3. Join us on November 16th, 2023, between 1 pm and 9 pm CET for Ask the Experts Online on Discord and on Unity Discussions.
    Dismiss Notice

Rewired - Advanced Input for Unity

Discussion in 'Assets and Asset Store' started by guavaman, Sep 25, 2014.

  1. Hi_ImTemmy

    Hi_ImTemmy

    Joined:
    Jul 8, 2015
    Posts:
    174
    It was Steam. All it was doing was running in the background. Killing Steam got the controller working in the Unity Editor.

    Thanks!
     
  2. guavaman

    guavaman

    Joined:
    Nov 20, 2009
    Posts:
    5,502
    Steam must have changed something recently with DS4. I have been getting more and more reports like this. Steam is not supposed to affect anything in other applications unless that application has initialized Steam, at which point Steam hooks it and takes over input for that application. Just having Steam open in the background should not do anything. That's clearly not the case anymore. Over the last few months, I've seen more and more posts like this where closing Steam running in the background stops the problem. That means they're doing something at the system level, perhaps through a driver. I don't know.
     
    Hi_ImTemmy likes this.
  3. creat327

    creat327

    Joined:
    Mar 19, 2009
    Posts:
    1,740
    I've set the Mouse Map horizontal and vertical movement for my game.

    The problem I'm having is that I have an FPS type of soldier that rotates with the mouse. It works perfectly fine in a Standalone build.

    But on Windows UWP, when I build the project, the mouse is stuck to the screen borders. I mean, you move the mouse all the way to the right, and the soldier rotates. Then the mouse arrives at that screen edge and the cursor obviously isn't moving. In PC I just keep moving the mouse and the motion is detected and the soldier keeps rotating. In UWP, as soon as you hit the edge of the screen, the rotation stops. It is as if i'm not moving the mouse anymore. This is horrible for an FPS game.


    What setting do I need to change for this to work in UWP the same way that it does on Standalone?
     
  4. guavaman

    guavaman

    Joined:
    Nov 20, 2009
    Posts:
    5,502
    https://guavaman.com/projects/rewired/docs/Overview.html#tested-platforms

    Capture.PNG

    Windows 10 Universal platform uses UnityEngine.Input for all Keyboard and Mouse input. Any behavior differences between Windows Standalone and Windows 10 Universal are directly caused by UnityEngine.Input's mouse implementation on this platform. There's nothing you can do in Rewired to change how UnityEngine.Input's mouse behaves.

    I suggest looking into Cursor locking:
    https://docs.unity3d.com/ScriptReference/Cursor-lockState.html
     
  5. creat327

    creat327

    Joined:
    Mar 19, 2009
    Posts:
    1,740
    Yeah Cursor.lockState doesn't work either. It works when you set it to locked or confined, but when you do that, the cursor goes invisible and it doesn't allow you to see what you are clicking even if you enforce it to Cursor.visible=true
     
  6. guavaman

    guavaman

    Joined:
    Nov 20, 2009
    Posts:
    5,502
    If you need the cursor to remain visible, then there is no solution apart from replacing the mouse cursor with a software cursor and lock the real cursor permanently.

    It's highly likely that this is just how mouse input works on UWP. I spent a bunch of time in the past to make a native keyboard input implementation on UWP because of some issue with how Unity was incorrectly handling left and right modifier keys only to find after I did so, my native implementation had the exact same issue and there was no possible workaround. It was a bug / oversighting in the UWP input API design. I have a strong suspicion this the same case with mouse input.
     
  7. EmmetOT

    EmmetOT

    Joined:
    Apr 25, 2016
    Posts:
    44
    We're working on a single player game and having some obscure issues to do with rebinding while multiple controllers of the same type are connected. I'm sure there's a solution which would address this but I'm wondering if there's an even simpler approach - since our game is purely single-player, is there maybe a setting somewhere to simply consider all controllers of the same type to be the same controller? For example all Xbox One controllers are just one controller.
     
  8. guavaman

    guavaman

    Joined:
    Nov 20, 2009
    Posts:
    5,502
    No such concept exists in Rewired. All controllers are individual. You would have to copy the Controller Maps from the controller being rebound to all other controllers of the same type assigned to the Player.
     
    EmmetOT likes this.
  9. EmmetOT

    EmmetOT

    Joined:
    Apr 25, 2016
    Posts:
    44
    Ok, thanks for the response. Followup question, what's the easiest way to do what you describe, copying the controller maps to all controllers of the same type?
     
  10. guavaman

    guavaman

    Joined:
    Nov 20, 2009
    Posts:
    5,502
    Assuming you are saving this binding configuration to XML or JSON using UserDataStore after changing it, save it by device type guid and reload the configuration immediately after saving. All devices would load the same data unless you have some code to manage saving unique configurations for multiple devices of the same type for the same Player (UserDataStore_PlayerPrefs does.)

    Another way is to export each Controller Map to XML/JSON and add them to the destination Player.

    https://guavaman.com/projects/rewir.../html/M_Rewired_ControllerMap_ToXmlString.htm

    https://guavaman.com/projects/rewir..._ControllerHelper_MapHelper_AddMapFromXml.htm
    https://guavaman.com/projects/rewir...ControllerHelper_MapHelper_AddMapsFromXml.htm

    There are also JSON versions of the same functions.
     
  11. crudeMe

    crudeMe

    Joined:
    Jul 8, 2015
    Posts:
    92
    >UPDATE: SOLVED
    >I was totally missing the ModifiersKey part.
    >(InputMapper instance).options.allowKeyboardKeysWithModifiers = false;

    Hi!

    I can't bind some keyboard keys (Left/Right Shift, Left/Right Ctrl, Left/Right Alt).
    Fresh Unity 2021.2.7f1 project with only Rewired 1.1.41.5.U2021 package installed. Trying to bind in Examples/SimpleCombinedKeyboardMouseRemapping and Examples/SimpleControlRemapping scenes.
    Through Debug Information in Input Manager I can see that any of the above keys are registered as Pressed.
    I can bind Caps Lock, Backspace, all Numpads.

    It seems like I've never encounter this problem prior Unity 2021 (upgraded from 2018), but i'm not quite sure.
    Is it something I'm doing wrong, isn't it?
     
    Last edited: May 6, 2022
  12. guavaman

    guavaman

    Joined:
    Nov 20, 2009
    Posts:
    5,502
    Glad you found the reason.
     
  13. Elledan3101

    Elledan3101

    Joined:
    May 24, 2013
    Posts:
    18
    Hi! I catch the same error with Unity 2020.3.25f1, but I just found how to make Rewired work again. Just select your "Rewired Input Manager", press "Open Prefab" button to enter edit mode and everything starts working fine.
    It looks really weirdo, but now I know how to work with rewired without any error.
     
  14. Elledan3101

    Elledan3101

    Joined:
    May 24, 2013
    Posts:
    18
    thanks! you gave me the food for thought :)
     
  15. guavaman

    guavaman

    Joined:
    Nov 20, 2009
    Posts:
    5,502
    What version of Rewired are you using?

    Edit: I see from your post here, you're using quite an old version of Rewried:

    Rewired version: 1.1.38.4.U2020

    Update and you should not have this problem.

    https://guavaman.com/projects/rewired/docs/ReleaseNotes.txt

    1.1.41.2:

    Bug Fixes:
    - Unity 2021.2+, Windows Standalone, Raw Input, Direct Input w/ Native Mouse/Keyboard Handling: Fixed bug in processing Raw Input messages on 32-bit builds running on 64-bit Windows resulting in Unity logging "Invalid raw input data size" messages when using certain controllers.
    - Reworked Rewired Editor handling of prefabs in versions of Unity that use the new prefab workflow due to new errors caused by recent updates to Unity resulting in data not being saved when modifying data in a prefab using the Rewired Editor.
    - Rewired Input Manager "Don't Destroy on Load" setting is set properly when Rewired Initializer is a child of a GameObject and instantiates the Rewired Input Manager as a child of that parent GameObject.
    - Fixed Global Options Window not displaying any information.
     
    Elledan3101 likes this.
  16. iansnyder

    iansnyder

    Joined:
    Dec 22, 2012
    Posts:
    27
    I can't believe I never reviewed Rewired before! Just wanted to drop my review here:
    FIVE STAR REVIEW *****
    My game absolutely would not have released on multiple consoles if it weren't for Rewired and the support of the dev. Augie is insanely smart and dedicated to Rewired being the best solution out there. I have had so many issues with my own code implementation that he takes the time to troubleshoot with me. Hands-down the only controller solution I recommend to people!
     
    Elledan3101 and guavaman like this.
  17. guavaman

    guavaman

    Joined:
    Nov 20, 2009
    Posts:
    5,502
    Thank you for the kind words and the review! I'm glad you've been happy with Rewired!
     
  18. phdhamster

    phdhamster

    Joined:
    Jun 16, 2020
    Posts:
    11
    Hi, rewired has been working great for my project. I'm just wondering if there's a way for Rewired to detect if a PS4 controller is a "fightstick" such as the Hori Real Arcade Pro, Qanba Drone, etc. I'm making a fighting game with Rewired, so it would be useful for me to define joystick custom maps in the Rewired Editor for controllers like these, since these have eight- or sometimes six-button layouts.

    I should add that my fightstick controller works great in my Rewired enabled game, but I'm not sure if Rewired knows how to tell the difference between it and a standard PS4 controller.
     
  19. Innovine

    Innovine

    Joined:
    Aug 6, 2017
    Posts:
    522
    Hi!
    I'm using Unity 2021.2.18f1 and the OpenXR package requires using the new input system before VR will work, however Rewired requires the old input system. Any suggestions on how I can get both to work together?
     
  20. guavaman

    guavaman

    Joined:
    Nov 20, 2009
    Posts:
    5,502
    No, there isn't. Rewired only "knows" any information about controllers that I have created definitions for and included in the package. These. HID devices provide next to zero information about the device. All of the metadata about devices Rewired supports is created by hand.
     
  21. guavaman

    guavaman

    Joined:
    Nov 20, 2009
    Posts:
    5,502
  22. protomor

    protomor

    Joined:
    Dec 13, 2021
    Posts:
    11
    I've seen searching but haven't come up with anything. When you use the user data store, where is the data saved? I have an issue where the data resets occasionally. I'd just like to be able to save the file so I don't need to redo my control mapping every time. I also might want to expose it for external editing.
     
  23. guavaman

    guavaman

    Joined:
    Nov 20, 2009
    Posts:
    5,502
    .
    https://guavaman.com/projects/rewired/docs/UserDataStore.html

    User Data Store
    The UserDataStore component can be used to easily save and load user control configuration data from Rewired. This component is a base class which you can extend to support any data storage format you like.

    Rewired also comes with a UserDataStore_PlayerPrefs component complete with source code which you can use as a template for designing your own custom data storage system using any storage medium (database, binary files, etc.). The UserDataStore_PlayerPrefs component can also be used directly in your game and will store your user data in Unity's PlayerPrefs.

    UserDataStore_PlayerPrefs

    This is a user data storage component that uses Unity's PlayerPrefs class for storing data.

    -------------------

    UserDataStore is an abstract class. You have to define the implementation. UserDataStore does not and cannot save data in and of itself. It requires an implementation.

    UserDataStore_PlayerPrefs is an example implementation that uses Unity's PlayerPrefs to store data.
     
  24. protomor

    protomor

    Joined:
    Dec 13, 2021
    Posts:
    11
    You're right. I followed a sample and it just straight up put it into the registry. I just dumped it to a local text file. Took a bit but not too bad. Thanks!
     
  25. seraphki

    seraphki

    Joined:
    Jul 20, 2016
    Posts:
    26
    Hello!

    I'm working on the remapping screen for a game and I'm running into a bit of an issue.

    I want to disallow my players from mapping the negative axis for non-joystick inputs. When remapping, they can press and hold something like R2 on a PS4 controller, then initialize remapping, and then release R2 and the R2 will map with its negative axis range. I don't want to ignore all negative mappings because I still want them to be able to map joystick negatives on to buttons.

    I was hoping I could do something like clear the state of the controller when I start mapping so only new button presses would be considered (since joysticks can hit their negative without going through a positive first but other buttons can't) but I can't seem to find anything that will let me do that

    Hoping I'm missing something simple here and just haven't found the magic google words

    Thanks!
     
    Last edited: May 16, 2022
  26. guavaman

    guavaman

    Joined:
    Nov 20, 2009
    Posts:
    5,502
    You cannot modify or clear controller or Action values. Those are determined by the underlying input system(s) in use and the devices in use. Clearing input states leads to many very significant problems with various types of input hardware and certain event-based input APIs.

    This is the reason both Control Mapper and the Controller Remapping 1 example have an extra step before mapping that instructs the user to center their sticks / axes before moving to the next step of actually polling for input.
     
  27. seraphki

    seraphki

    Joined:
    Jul 20, 2016
    Posts:
    26
    Okie dokie, makes sense. Thanks!
     
  28. seraphki

    seraphki

    Joined:
    Jul 20, 2016
    Posts:
    26
    One more (hopefully) quick question - is there a good way to detect if an ActionElementMap is one that the user created (remapped) or if its part of the default maps? Or if I want that info do I need to be keeping manual track of all the actions I remap
     
  29. guavaman

    guavaman

    Joined:
    Nov 20, 2009
    Posts:
    5,502
    No, there isn't. Controller Maps are instantiated from the definitions created in the Rewired Input Manager, added to the Player, and after that, they are just Controller Maps and have no connection back to the definition from which they were created. Their bindings can be modified at will.

    There is no support for treating Controller Maps like something like a Unity Prefab where you can override individual properties, revert them, etc., if that's what you're thinking.
     
  30. Timbecile76

    Timbecile76

    Joined:
    Jul 8, 2009
    Posts:
    248
    Hi, I haven't seen this error yet, but I've been getting a whole lot of type or namespace errors from rewired when trying to build for UWP. anyone else getting these errors? not sure what I'm doing wrong. everything worked fine with a windows build and an android build
     
  31. seraphki

    seraphki

    Joined:
    Jul 20, 2016
    Posts:
    26
    We have tutorials that reference certain keys, and the original voiceovers mention the default keys, and I was hoping to be able to detect if that key has been remapped and if so default to a more generic version of the voice line. I can always just keep a list of actionids that has been remapped, was just hoping that data was somehow in there. Thanks!
     
  32. guavaman

    guavaman

    Joined:
    Nov 20, 2009
    Posts:
    5,502
    Compiler errors in Unity when building on a different build target almost always means a required assembly is not being referenced. There should be no errors when Rewired is properly installed. Did you install the UWP libraries? The DLL is automatically set to be included on the UWP platform by an editor script. If the DLL is not included on UWP, either Unity made some breaking change that broke it in the version of Unity you are using (what is the version?) that prevents Rewired from setting the DLL to be included on that build target, you have some incorrectly set up ASMDEF files in your project that are not including the right assemblies for the platform, the UWP Rewired libraries are not installed, or possibly a host of other things.
     
  33. Timbecile76

    Timbecile76

    Joined:
    Jul 8, 2009
    Posts:
    248
    I installed the whole rewired installer when I put it in, and I made sure to have UWP when I picked the version of Unity. is there another place I have to download the DLL? Version is 2020.2.7f1

    I definitely don't have any ASMDEF in this project, so I don't think that is it.
     
  34. BasicallyGames

    BasicallyGames

    Joined:
    Aug 31, 2018
    Posts:
    91
    When I try adding another map category to my control mapper, this happens:

    upload_2022-5-19_15-21-27.png

    None of the map buttons do anything, and when I click Menu the Gameplay buttons go away, but so does the scroll bar. Clicking Gameplay again returns to the previous state.

    I've made a few modifications to the mapper, but only to change things like Image and Layout Group settings. Just to make sure the issue wasn't caused by those changes I also tried setting up a brand new, unmodified control mapper with map categories, and it has the same issue.

    Is this something I should be able to fix, or is it an issue with Rewired? Any help is appreciated!
     
  35. guavaman

    guavaman

    Joined:
    Nov 20, 2009
    Posts:
    5,502
    The DLLs are all included with Rewired.

    The UWP platform requires special libraries to be installed.

    https://guavaman.com/projects/rewired/docs/SpecialPlatformSupport.html#windows-uwp

    It does not use the same Rewired_Core.dll as the other platforms, and it also requires a native DLL. Both are included in the project, but must be installed. The editor code will show a popup when you enter UWP build target asking you if you want to install the libraries. The libraries will be installed to Rewired/Internal/Libraries/Runtime/UWP. If these libraries are not installed, Rewired will not build on UWP.

    They can also be installed manually:
    Window -> Rewired -> Setup -> Install Platform Support -> Windows 10 Universal
     
  36. guavaman

    guavaman

    Joined:
    Nov 20, 2009
    Posts:
    5,502
    Nobody has ever reported anything like this and I have never seen anything like this. This is definitely not a known bug with Control Mapper. Open the example Control Mapper scenes included and add a Map Category. If it doesn't break, you can be certain your changes to the UI hierarchy caused the issue.

    It looks like the text overlays that are supposed to be on the input field buttons are all being rendered in the Actions column. There's no way I know of that could happen other than some kind of change to the UI Layout system that is causing them to ignore the auto layout system and be rendered outside the layout group, exactly the settings you said you changed.
     
  37. BasicallyGames

    BasicallyGames

    Joined:
    Aug 31, 2018
    Posts:
    91
    Thanks for the quick response. Which scene are you referring to? All I see in the examples folder is ControlRemapping1 (Which just says "There is no element assigned to open the menu!" and doesn't appear to have a modifiable control mapper) and the SimpleControlRemapping scenes.

    I decided to try installing the TextMeshPro Mapper again, and that reset all the changes I made, but the issue persists. I then changed it to the default theme and that didn't change anything either. I created a brand new ControlMapper object from Window>Rewired>Create>UI>Control Mapper and that breaks when I set up the second map category as well.

    upload_2022-5-19_16-41-17.png

    upload_2022-5-19_16-48-52.png
    I'm starting to wonder if I did something wrong when setting up my InputManager... When I get the time I'll try putting my InputManager into an empty project and set up a mapper for it there and see what happens.
     
  38. guavaman

    guavaman

    Joined:
    Nov 20, 2009
    Posts:
    5,502
    Assets/Rewired/Extras/ControlMapper/Examples/ControlMapperDemo/ControlMapperDemo

    What are the descriptive names of these Actions? I can't tell because there are multiple lines of test on top of each other. Is your Action's descriptive name "Horizontal Mouse Movement (Joystick)"? Maybe the names are just too long. I have definitely never tested it with such long names and that could be somehow breaking the layout.

    Edit:

    This is what I get with very long Action names, so that's not the issue:

    ControlMapperLongNames.PNG

    But what you're showing me still does not match what a default Control Mapper scene should look like. The buttons at the top are not supposed to be centered on the page or within their individual areas. The Categories row is not left-aligned with the Actions The whole layout looks broken.

    Did you put this Control Mapper inside another Canvas? Control Mapper contains its own Canvas as a child of the main ControlMapper object.

    Did you modify the default theme file that comes with Control Mapper?
    Did you modify the Control Mapper prefab itself?

    Both of those should have been overwritten if you reinstalled Control Mapper.

    This is how the default Control Mapper layout with multiple Map Categories looks:

     
    Last edited: May 20, 2022
  39. Telestrator

    Telestrator

    Joined:
    Aug 21, 2018
    Posts:
    9
    I have a Fullscreen Windowed Windows application that is visible in background and runs in the background. I am using callbacks to monitor input, but they seem to trigged even with "Ignore when not in focus" is set. Is this expected?

    player.AddInputEventDelegate(callback, updateLoop, eventType, actionName, null);


    upload_2022-5-20_10-39-53.png

    upload_2022-5-20_10-42-6.png
     
  40. BasicallyGames

    BasicallyGames

    Joined:
    Aug 31, 2018
    Posts:
    91
    I think the issue must have something to do with my Rewired Input Manager. I copied it into a brand new project with a fresh install of Rewired, and it happens there too. I've also tried re-downloading Rewired via the package manager and that made no difference. I'm using Unity 2020.3.34f1.

    upload_2022-5-20_16-12-4.png

    When clicking Menu:

    upload_2022-5-20_16-14-20.png

    I've attached a .zip of the input manager. Not sure if this is a bug with Rewired or if I've just done something very wrong when setting up the input manager, but either way I'd appreciate it if you could take a look.

    Edit: I've just found that if I have just one map category, but I set it to the menu category, the page still breaks.

    Edit: UGH I'M STUPID LOL

    The Menu Map Category wasn't set to be user assignable. Setting it to be so fixed the problem. I guess Rewired doesn't like it when you try adding an unassignable map to the control mapper. Either way I'm glad I figured out the issue. Thanks for the help!
     

    Attached Files:

    Last edited: May 20, 2022
  41. guavaman

    guavaman

    Joined:
    Nov 20, 2009
    Posts:
    5,502
    Rewired is dependent on Unity's application focus handling. Focus detections is entirely dependent on MonoBehaviour.OnApplicationFocus. If Unity is saying it's focused when it's not, it's a Unity bug.
     
    Last edited: May 21, 2022
  42. guavaman

    guavaman

    Joined:
    Nov 20, 2009
    Posts:
    5,502
    Then it would be an oversight in Control Mapper's code not being designed to catch that illegal scenario resulting in undefined behavior. The Rewired Input Manager and the base Rewired doesn't have any awareness of Control Mapper. Control Mapper is an additional layer that is dependent on the core system.
     
  43. Timbecile76

    Timbecile76

    Joined:
    Jul 8, 2009
    Posts:
    248
    So I think I figured out what the issue was. When I imported Rewired, I put it into a Commercial folder (trying to keep my asset folder clean) - and I think that was the problem. as soon as I moved it to the root, suddenly everything was working fine and I was able to export to UWP.
     
  44. guavaman

    guavaman

    Joined:
    Nov 20, 2009
    Posts:
    5,502
    There is no reason moving it into a different folder would cause a problem. Rewired was explicitly designed to be able to be moved into a different folder, with a lot of code to handle that, using the file location of the main DLL as the anchor point to know where it is installed so addons and extras can be installed in the right folder. Moving an asset into a different folder would not affect assembly linking, except in the case that scripts in that folder are compiled to a different assembly, like happens with Assets/Plugins (Unity compiles those to Assembly-CSharp-firstpass.dll). Any scripts under Assets/Commercial would be compiled to the main Assembly-CSharp.dll, unless there is an ASMDEF file telling it to compile them to a different assembly. Assembly linking is totally handled by Unity, not Rewired, so if there is something weird going on preventing the UWP assembly from being linked when building because you moved it into the Commercial folder, then that would be a Unity bug and cannot be worked around by Rewired. The only requirement for a DLL to be linked by Unity is that you set the target build platforms for inclusion in the inspector.
     
  45. Cambesa

    Cambesa

    Joined:
    Jun 6, 2011
    Posts:
    119
    Hey all, I'm having problems with joystick reassignment when switching scenes. I've turned on auto assign joysticks and distribute joysticks evenly with a maximum of 1 joystick per player. Thats all working well when staying within a scene but not when switching scenes.

    My test case: start the game -> connect the 1st joystick -> connect the 2n joystick -> disconnect the 1st joystick -> switch scene

    In this situation, the joystick seems to be assigned to player2 even though my main character is trying to get all input from player1. However if you do the same test without switching scenes, the player can still move.

    Is there any function to force reassign joysticks? Or would it be possible to move player2 to player1 when no joystick is found within player 1?
     
  46. nigelsherrier

    nigelsherrier

    Joined:
    Oct 17, 2021
    Posts:
    3
    Hello, has there been any update on how to handle this issue? I ran into a similar issue today when trouble shooting my controllers for my Steam multiplayer game with Mirror networking and Fizzy steamworks fully integrated
    I had to disable Steam Input to get everything working again, which is fine for development, but I want to make sure it works out of the box for players. thanks in advance!
     
  47. guavaman

    guavaman

    Joined:
    Nov 20, 2009
    Posts:
    5,502
    Switching scenes has no effect on Rewired unless you are destroying the Rewired Input Manager, which would be bad. All runtime state is lost when the Rewired Input Manager is disabled or destroyed. How to manage the Rewired Input Manager's state across scenes is explained in the documentation here:

    https://guavaman.com/projects/rewired/docs/InputManager.html
     
  48. guavaman

    guavaman

    Joined:
    Nov 20, 2009
    Posts:
    5,502
    No there hasn't been any update because everything related to issues involving Steam are on Steam's end and I cannot do anything to change that. This is not a matter of me changing something in my code to make it work -- that's not possible. When Steam is running, Steam is in charge of how controllers appear to the application through the Windows input APIs. Rewired is simply a consumer of the input that Steam is exposing. Valve would be the one to contact if you're having issues with Steam's configuration of controllers or bugs in Steam's exposing of controllers to the application.

    If you want to understand how Steam's input works to the degree that I can explain it, read the Steam Troubleshooting documentation:
    https://guavaman.com/projects/rewired/docs/Troubleshooting.html#steam
     
  49. Cambesa

    Cambesa

    Joined:
    Jun 6, 2011
    Posts:
    119
    I'm not deleting the input manager, it follows the default rewired behaviour like setting itself to DontDestroyOnLoad an the input manager in the next scene deletes itself because it already finds an active input manager. No idea why it assigns the first controller to player2 and lets player1 be empty.

    It seems this piece of code it either blocked/counteracted by rewired or not working at all:
    Code (CSharp):
    1. //move controller from player 2 to 1
    2. List<Player> players = ReInput.players.AllPlayers.ToList();
    3. if (players[1].controllers.Controllers.Count() == 0 && players[2].controllers.Controllers.Count() == 1)
    4. {
    5.     players[1].controllers.AddController(players[2].controllers.Controllers.First(), true);
    6. }
     
    Last edited: May 25, 2022
  50. ChiliDog

    ChiliDog

    Joined:
    Oct 14, 2020
    Posts:
    4
    We have been using Rewired on all platforms for a long time and are looking forward to porting the game to PlayStation 5. Does Rewired support the PlayStation 5 platform?