Search Unity

Rewired - Advanced Input for Unity

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

  1. dispatch_starlost

    dispatch_starlost

    Joined:
    Nov 17, 2017
    Posts:
    37
    Does Rewired support multiple touchscreens? I've been trying to figure it out for a few hours and not having much success.
    Project has 2 touchscreens and 2 canvases (1 on each), and I need to be able to interact with each one separately. ATM it looks like touches are all sent through to the first touch controller that has been activated.
     
  2. guavaman

    guavaman

    Joined:
    Nov 20, 2009
    Posts:
    5,633
    All touch input in Rewired is taken directly from UnityEngine.Input.GetTouches. Rewired knows nothing of screens or anything else. It simply consumes touch input from Unity. I don't know how input from multiple touch screens would work. Rewired has not been programmed specifically for this, nor do I think it would be possible using UnityEngine.Input.GetTouches.

    As far as I know, UnityEngine.Input.GetTouches does not differentiate different screens. It returns touch ids, finger index, touch state, etc. The Rewired touch controls monitor the finger id and use only the finger that was used to activate the control until the finger is released. It seems to me that having multiple touch screens could result in problems with finger ids, but how this works depends on Unity's implementation of multiple touch screens.
     
    Last edited: Feb 10, 2023
  3. dispatch_starlost

    dispatch_starlost

    Joined:
    Nov 17, 2017
    Posts:
    37
    Thanks for the reply. Yeah you're right, Unity sees both touchscreens as the 1 device, causing tons of issues. We are still trying to find a way around it.
     
  4. ToastHatter

    ToastHatter

    Joined:
    Nov 11, 2016
    Posts:
    53
    Hello there, been using rewired in a project and loving it so far. However I wanted to ask if it is possible at all to exclude certain buttons/axes on controllers from being remappable/rebindable?

    Specifically in my project is a fighting game and both the left stick and d-pad are used for movement and I don't want players to be able to bind other actions to either of them.
     
  5. guavaman

    guavaman

    Joined:
    Nov 20, 2009
    Posts:
    5,633
    You'll have to be more specific. There isn't one single means of remapping controls in Rewired. You can build your own system using the rebinding API, your own system using Input Mapper, or you could be using Control Mapper.
     
  6. ToastHatter

    ToastHatter

    Joined:
    Nov 11, 2016
    Posts:
    53
    Thanks for responding, and my mistake. I've made my own system using the Input mapper Start and Stop functions specifically
    .
    I just wanted to know if there was a way to get the input mapper Start function to ignore specific buttons (i.e d-pad) that are used for other important features

    I've tried looking through the documentation for this as well as a few hacky methoods but couldn't find anything that worked, but there's still a very good chance i've missed something.
     
    Last edited: Feb 14, 2023
  7. guavaman

    guavaman

    Joined:
    Nov 20, 2009
    Posts:
    5,633
    Thanks.

    Item 7:
    https://guavaman.com/projects/rewired/docs/InputMapper.html

    7. Advanced operations (optional)

    Ignoring certain controller elements:

    Code (csharp):
    1. void Setup() {
    2.    // When setting up Options, add a callback to handle element confirmation
    3.    inputMapper.options.isElementAllowedCallback = OnIsElementAllowed; // manually allow or ignore specific elements
    4. }
    5.  
    6. // Called by InputMapper when a controller element is activated while polling
    7. bool OnIsElementAllowed(ControllerPollingInfo info) {
    8.    // Ignore the Space key on the keyboard
    9.    if(info.controllerType == ControllerType.Keyboard && info.keyboardKey == KeyCode.Space) return false;
    10.  
    11.    // Allow all other controller elements
    12.    return true;
    13. }
    This is the only way to ignore specific elements using Input Mapper. You have to know exactly what elements you're trying to ignore. There is no such function as "ignore d-pad" generically. All Controllers in Rewired are unique and have a unique list of element id's that are specific to that Controller. The element identifier id of the controller element that was activated is available from ControllerPollingInfo:

    https://guavaman.com/projects/rewir...ControllerPollingInfo_elementIdentifierId.htm

    All recognized controller Element Identifier Ids are listed here:
    https://guavaman.com/rewired/files/docs/RewiredControllerElementIdentifiersCSV.zip

    I will assume your intent is to exclude all d-pads universally on gamepads or similar devices. Because Rewired is designed so that every controller is unique, the only way you can do something like this is to get the information you want from the Controller Template system.

    https://guavaman.com/projects/rewired/docs/ControllerTemplates.html#scripting

    You will have to use this find what, if any, Template element is associated to the Controller Element Identifier that is being returned in ControllerPollingInfo. The information required to determine this association is on that page and in the examples linked on that page.
     
  8. marchall_box

    marchall_box

    Joined:
    Mar 28, 2013
    Posts:
    139
    @g

    How do I get a value from Mouse Wheel Scroll up or down via Code?
    I tried below but all not working.

    ScrollUp is properly set like any other buttons that are already working but only Mouse wheel is not working.

    Code (CSharp):
    1. Debug.Log(playerInput.GetAxis("ScrollUp"));
    2. Debug.Log(playerInput.GetAxisRaw("ScrollUp"));
    3. Debug.Log(playerInput.GetButton("ScrollUp"));
     
  9. guavaman

    guavaman

    Joined:
    Nov 20, 2009
    Posts:
    5,633
    There's no difference between the mouse wheel and any other element in terms of mapping or how you get values from it.

    I suggest you start here:
    https://guavaman.com/projects/rewir...l#debug-information-diagnosing-input-problems

    There could be any number of reasons why it's not working. That checklist will walk you through all of them.
     
  10. Peeling

    Peeling

    Joined:
    Nov 10, 2013
    Posts:
    443
    Hi - until this morning, 'setting' the PlayerMouse screen position correctly triggered mouse-over interactions with unity's UI system, which we were using to simplify mixed controller and mouse navigation (navigating to a button with a controller hides the cursor graphic and sets the player mouse screen position to the centre of the button)

    This morning, I moved the CursorCanvas prefab I was using out of the scene and into a persistent object we were using for other common scene elements that sets itself up as DontDestroyOnLoad.

    The cursor still functions, but setting the PlayerMouse screen position no longer triggers interactions with the UI. Only moving the actual hardware mouse triggers button highlighting etc.

    I tried undoing what I had done, but now the problem is persistent. I'm guessing I was leaning on some edge-case of execution order that editing the scene has disrupted.

    Is there a correct way/order/time in update to do this in order to allow forced setting of the screen position to trigger UI events? Thanks.
     
  11. ToastHatter

    ToastHatter

    Joined:
    Nov 11, 2016
    Posts:
    53
    Ah ha! Thank you so much!
     
  12. guavaman

    guavaman

    Joined:
    Nov 20, 2009
    Posts:
    5,633
    Execution order would have no impact this. The Standalone Input Module evaluates the mouse position every frame. No matter when you move the mouse, it is going to evaluate that new position the next time the Input Module's Update function runs.

    I don't quite understand what you are trying to achieve by hiding the cursor and moving the Player Mouse position when using a controller. The primary reason to use Player Mouse is to be able to move the mouse cursor with a controller. If you're hiding the cursor when using a controller, either the user is going to be moving the mouse cursor around blindly, or else you're using another system to navigate from element to element. My first assumption would have been that you'd be using Unity's UI Navigation system, which doesn't require a cursor and selects UI elements based in response to OnMove events from the Input Module. But it sounds like you're doing something custom, moving the PlayerMouse cursor position to mimic what Unity's navigation system does.

    The OS mouse cursor will not be moved when you change the position of the Player Mouse via script, so the next time you move the mouse pointer, it will appear wherever it is in the OS instead of on top of your button, if that matters.

    It seems to me like it would be simpler to use the UI Navigation system when using the controller if you're not showing a pointer anyway, and then just use normal mouse input when using the mouse. I don't see any reason to use Player Mouse at all.

    I suspect the PlayerMouse component (if you're using the Component version of Player Mouse) connection was broken in the Rewired Standalone Input Module when you moved the cursor into the prefab. (That assumes the Player Mouse component was on that cursor GameObject.) This would result in there being no Player Mouse registered with the Rewired Standalone Input Module, and therefore no events being generated for it.
     
  13. wengjx-

    wengjx-

    Joined:
    Oct 1, 2021
    Posts:
    23
    Hi, I have been trying to download the nintendo switch version. I tried downloading multiple times but gpt the check internet connection error. Updating it through Unity also has errors:

    There was an error downloading the update. Please try again later. You can run the updater at any time from the menu Window -> Rewired -> Plugins -> Nintendo Switch -> Check for Updates
    ------- Rewired System Info -------
    Unity version: 2021.3.18f1
    Rewired version: 1.1.44.0.U2021
    Platform: Unknown
    Using Unity input: False
    UnityEngine.Debug:LogError (object)
    Rewired.Logger:LogErrorNow (object,bool)
    Rewired.Logger:LogError (object,bool)
    GMYaGwJrgfsMVBsHTdnuzQRLNSg:QQgOuZHMfeSWeZdHMLpHkjontfw (bool)
    FXqtySSwKLxzasrvatgXVmeREJPE:‭‎‮‭‬‏‪‫
‍‌
‎‎‏‫‎‌‌‫‫‫‫‏‪‎‮ (bool)
    FXqtySSwKLxzasrvatgXVmeREJPE:KQPGvqHXOCLOxBgDwabDnDePFrHa ()
     
  14. Peeling

    Peeling

    Joined:
    Nov 10, 2013
    Posts:
    443
    Ah, thanks - I bet that's it.

    In case you're curious: Unity's built in navigation didn't do what we needed, and we didn't want to use a controller-driven mouse pointer. We also wanted a PC player to be able to switch seamlessly between mouse and controller at any time.(so we hide the pointer if they touch the controller and show it if they touch the mouse) The easiest way we found to trigger the mouse-over state in the UI while using controller was to push the position of the button (or list element, or whatever) into the playermouse.
     
    guavaman likes this.
  15. longroadhwy

    longroadhwy

    Joined:
    May 4, 2014
    Posts:
    1,551
    Did you see this in the Rewired documentation for Nintendo Switch support?

    https://guavaman.com/projects/rewired/docs/SpecialPlatformSupport.html#nintendo-switch
     
    guavaman likes this.
  16. guavaman

    guavaman

    Joined:
    Nov 20, 2009
    Posts:
    5,633
    You should contact me via email or the support form on the website. Login issues require discussion of email and invoice numbers which are not appropriate to discuss here.

    Did you see the note at the bottom of the download page?

    Important: 1/26/2023 - The Unity Asset Store invoice verification system is currently having issues. Many invoice numbers that are valid no long work. The issue has been reported to Unity. If you enter the correct invoice number and email address and receive an error, contact support and include a link to your invoice PDF you received from Unity when you bought the Rewired license.

    Depending on how old the version of the plugin you're using is, you may not be able to updated it from within the Unity Editor.

    Contact me and send me your email address and invoice number and I will find out what is happening.
     
  17. Potatas

    Potatas

    Joined:
    Nov 24, 2021
    Posts:
    6
    Hello! I am new to haptics feedback for controllers and would like to ask some questions regarding vibration support!

    I am implementing vibration for controllers and have some questions regarding Dualsense vibration for PC. I have implemented a system, where the intensity and duration of the vibration is adjusted to fit actions the vibration is for, and the presets is adjusted such that it feels alright across different controllers.

    However, when it comes to the Dualsense controller on PC, the vibration is kinda off to me and often too intense as compared to other controllers. For example, small actions like footsteps where I wanted a short and soft bump on the controller is too intense on Dualsense even at a very low value (eg. less than 0.01 intensity and duration) as compared to other controllers like Xbox. Moreover, when I tried adjusting the intensity values, an obvious difference can only be felt if the intensity difference is large between the old and new intensity (could be just me), making most preset values that I adjusted to feel the same. I am using the SetVibration function via the Rewired Player to do the rumbles. Am I doing something wrongly? Does this have to do with the different motors that Dualsense uses?

    On another note (I think this is more of a hardware issue than Rewired), something that I noticed after trying out different things - the vibration also differs whether the audio output of the computer is the Dualsense controller or not, where the vibration feels alot better when the audio output is Dualsense. Is there any way to tackle this issue? Not sure where to ask to find out more about this issue.

    Thank you!
     
  18. guavaman

    guavaman

    Joined:
    Nov 20, 2009
    Posts:
    5,633
    On Windows, Rewired has code to directly communicate with the Dual Shock 4 and Dual Sense controllers using low-level HID reports. This code was developed based on available information on the web from people who have reverse-engineered these controllers to discover how to communicate with them by reading input reports including touchpad and IMUs, and writing output reports to change into different modes, set motor vibration, light colors, etc. Rewired simply uses this information.

    The output report defines two bytes for the left and right motors. Being a byte, the value ranges from 0 to 255. Rewired converts the normalized value you set to this range and sends the report to the device. I am not aware of any other means by which vibration levels can be set, nor am I aware of any other report type that would put the device into a different mode (other than the one that sets it to enable all the special features) that would have any effect on the vibration motors.

    I can perceive no difference in the motor levels when selecting the Dual Sense as the audio output device in Windows.
     
  19. Potatas

    Potatas

    Joined:
    Nov 24, 2021
    Posts:
    6
    Hmm I see, thank you for the information! I guess I would just have to keep playing around with the intensity and duration of the vibrations to get it to feel right.

    Hmm the difference that I felt was more of how low the duration for the vibration can be, and whether it was connected wired to Windows. When connected wired, and the audio output is not the Dualsense, the vibration does not trigger sometimes if the duration is lower than 0.1s, but is able to trigger a vibration in wired and the audio output is Dualsense with a lower duration of 0.008s [ short duration as any longer duration will make it feel more intense due to motor vibrating too long ]. It is a hardware thing, and could be the controller that I have be faulty, but it is a relatively new controller of a few months. Will continuing testing and trying!

    Thank you for the help and information!
     
  20. guavaman

    guavaman

    Joined:
    Nov 20, 2009
    Posts:
    5,633
    I would guess that is due to added latency due to the Bluetooth connection.

    I don't know anything about different performance if audio output is enabled. I haven't seen any difference. If there is some kind of difference, I can only guess that maybe it's running some internal update at a higher frequency when the audio output is enabled, perhaps in order to support audio files played back as vibration? I really have no idea.
     
  21. Potatas

    Potatas

    Joined:
    Nov 24, 2021
    Posts:
    6
    Hmm okay, it does make sense if internally there are some handling for the vibration when audio output is enabled on the controller hardware side. I will ask around more on the web for more understanding of this topic. Thank you very much for helping out, at least now I have a clearer direction to look into when researching more!
     
  22. xSerp

    xSerp

    Joined:
    Sep 17, 2015
    Posts:
    1
    Is there a way to get the absolute mouse screen position rather then one relative to the position of the window? I have a situation where i need a consistent tracking in a set location of the overall desktop regardless of where the application window is currently located.
     
  23. guidaye

    guidaye

    Joined:
    May 20, 2022
    Posts:
    19
    Hi, I have integrated Rewired in my project (Unity 2019.4.40f1), but I encountered some issues:
    1. XBOX SeriesX Controller connected to Windows 10 via bluetooth(no usb adapter), the controller was not recognized by rewired (in controller list it's name as unknown), and can't work with the gamepad template mapping
    2. Sony Dual Shock 4 controller will report some unexpected actions when steam is running and with 'PlayStation Configuration Support' on in steam controller settings. but in the debug view, the button status was correctly detected. I bind dash action to circle and jump action to cross, when I press circle frequently, jump action was triggered with dash action. this is exactly the same with unity's InputSystem.
     

    Attached Files:

  24. _eternal

    _eternal

    Joined:
    Nov 25, 2014
    Posts:
    304
    Hey — I found one missing element in the localization feature of the control mapper.

    I followed the instructions here and made my own class derived from LanguageDataBase: https://guavaman.com/projects/rewired/docs/ControlMapper.html#language

    Everything is working except for the action name that appears in the popup when you attempt to rebind an action. The issue seems to be at line 1668-1669 in ControlMapper.cs (ShowKeyboardElementAssignmentPollingWindow()).

    Basically, I replaced pendingInputMapping.actionName with _language.GetActionName(pendingInputMapping.fieldInfo.actionId), and it appears to be working correctly. This is probably the intended behavior, right? If I'm not mistaken, we want the ControlMapper to ask the LanguageData scriptable object to provide the string. That way, we can use Unity's Localization package to provide the string via GetLocalizedString() instead of using the action name hardcoded in Rewired.

    Anyway, if there is a better way to solve this problem, please let me know. And if not, please consider making that change to the Rewired source code so I can safely update without overwriting the edit. I'm always wary about leaving edits in asset store scripts; even if it works today, there's no guarantee that I'll remember this a year from now.
     
  25. Holy-Manfred

    Holy-Manfred

    Joined:
    Nov 30, 2013
    Posts:
    15
    Is there any way to easily save the enabled/disabled state of ALL controller map categories?
    I have a case where when opening a window in my game I want to record the enabled/disabled state of all controller map categories, then disable all of them, and after closing the window restore the exact enable/disable state of all the maps.
    I can disable all maps fine with Player.controllers.maps.SetAllMapsEnabled(false) but I am not sure how to restore the exact state and know which categories were enabled and which weren't.
     
  26. guavaman

    guavaman

    Joined:
    Nov 20, 2009
    Posts:
    5,633
    No. You would have to use a native API for the OS you're targeting to find the window position and add that to the screen position.
     
  27. guavaman

    guavaman

    Joined:
    Nov 20, 2009
    Posts:
    5,633
    Are you using Xinput? XInput has universal support for all XInput compatible devices. If not, why not?

    The Xbox Series X controller is and has been support for a very long time with or without XInput. If they've changed something in the driver (unlikely as my Xbox Series X controller still works), firmware, or released a new model that changes identifying information or mapping, it will have to be added if I can identify what changes they've made.

    See this for information about how Steam works and what implications it has on the input devices and input the application sees when interacting with Windows input APIs. Your last sentence points clearly to a problem with Steam.
     
  28. guavaman

    guavaman

    Joined:
    Nov 20, 2009
    Posts:
    5,633
    This sort of thing is exactly the reason Controller Map Enabler was created. I suggest you use it. There is no easy way to do something like this with manual controller map management because you'd essentially have to write a system to manage the state for you. Why reinvent the wheel?

    The big difference with a managed system is that your code is responsible for tracking the various game states that would result in different controller maps being enabled as opposed to storing that state in the Controller Map. In your code, when it switches to a different game state, it would enable specific rules in Map Enabler, which would cause certain controller maps to be enabled for that state. If the state exists only in the controller map, you'd have to read the current states from every controller map to find out this information. There are a lot of problems with that approach, especially when you consider what happens when a Controller is connected or disconnected while in various game states where the default enabled state wouldn't be correct.
     
    Last edited: Feb 23, 2023
  29. guavaman

    guavaman

    Joined:
    Nov 20, 2009
    Posts:
    5,633
    There shouldn't be a problem. The value you are referring to, pendingInputMapping.actionName, was already translated at the time it was set. See ControlMapper.cs line 964.

    Code (csharp):
    1. public void OnInputFieldActivated(InputFieldInfo fieldInfo) {
    2.     if(!initialized) return;
    3.     if(!inputAllowed) return;
    4.     if(currentPlayer == null) return;
    5.  
    6.     InputAction action = ReInput.mapping.GetAction(fieldInfo.actionId);
    7.     if(action == null) return;
    8.  
    9.     AxisRange range = action.type == InputActionType.Axis ? fieldInfo.axisRange : AxisRange.Full;
    10.     string actionName = _language.GetActionName(action.id, range); // <---- LINE 964
    11.  
    12.     ControllerMap map = GetControllerMap(fieldInfo.controllerType);
    13.     if(map == null) return;
    14.  
    15.     ActionElementMap aem = fieldInfo.actionElementMapId >= 0 ? map.GetElementMap(fieldInfo.actionElementMapId) : null;
    16.  
    17.     if(aem != null) { // element replacement dialog
    18.         ShowBeginElementAssignmentReplacementWindow(fieldInfo, action, map, aem, actionName);
    19.     } else { // create new element dialog
    20.         ShowCreateNewElementAssignmentWindow(fieldInfo, action, map, actionName);
    21.     }
    22. }
    It seems likely the problem is in your implementation of LanguageData.GetActionName(int actionId, AxisRange axisRange). I noticed in your changed version above, you didn't pass the AxisRange value, so it's being translated by a different overload than in the original code.

    You will see in that code that AxisRange.Full is passed for non-axis Actions. This would include buttons/keys. Because axis range is irrelevant to a button, the default value of Full is used. So if your translation code is not taking that into account, it won't work correctly.
     
    Last edited: Feb 23, 2023
    _eternal likes this.
  30. _eternal

    _eternal

    Joined:
    Nov 25, 2014
    Posts:
    304
    Ah, got it! Thanks, it's working now.
     
  31. Zuuunk

    Zuuunk

    Joined:
    Jul 28, 2021
    Posts:
    11
    Is there a recommended way to create custom actions and assign them to controller maps at runtime? I'm trying to create an input scheme with actions that can't be known at compile time and I'm struggling to find a way to create these actions and associations via script.

    Are all Rewired Editor functions (e.g. "create new action") accessible via script or are they not?

    If not, do you recommend creating a map of all possible inputs for each controller type and handling the association on my side?

    Thanks in advance!
     
  32. guavaman

    guavaman

    Joined:
    Nov 20, 2009
    Posts:
    5,633
    No. The data in the Rewired Input Manager is developer-defined and not modifiable at runtime. It's not possible to create an Action, Player, Input Behavior, Map Category, Layout, Controller Map definitoin, etc., at runtime. The only things modifiable at runtime are the runtime instances of these objects created on initialization.

    Questions like this are usually asked by people developing a "game making toolkit" type application. Rewired is not suitable for these projects. While it is possible to come up with some kind of way to do it, it would be clunky and not how Rewired was designed to be used. The only reasonable way I can see to use Rewired for a project like this would be to only use the Controller aspect of the system and write your own Action mapping system.
     
  33. Zuuunk

    Zuuunk

    Joined:
    Jul 28, 2021
    Posts:
    11
    Understood, thanks for the quick response! I just might do that.
     
  34. guidaye

    guidaye

    Joined:
    May 20, 2022
    Posts:
    19
    I added my game and Unity to Steam and start it from steam, everything works without meeting any bugs so far. many thanks for you support!!
     
  35. RedVonix

    RedVonix

    Joined:
    Dec 13, 2011
    Posts:
    422
    Finding an odd issue that I'm able to reproduce on multiple projects. When using keyboard, I'm unable to bind anything to Left/Right Shift or Left/Right Ctrl. I'm guessing there is a simple reason for this I'm missing... already verified that there are no other keys already bound to those, and there are no keys using those as a modifier. Is there a setting somewhere that would affect those key bindings?

    Thanks!
     
  36. guidaye

    guidaye

    Joined:
    May 20, 2022
    Posts:
    19
    Hi support team,
    I have encountered a build issue on OSX, which reported errors as below

    Code (CSharp):
    1. Error: Could not load signature of Rewired.Editor.ComponentControls.TouchButtonEditor:FLQJEWMQzlcpwrDftowRnLpYIHQi due to: Could not load file or assembly 'UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. assembly:UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null type:<unknown type> member:(null) signature:<none>
    2. (Filename: ./Runtime/Mono/MonoAttributeHelpers.cpp Line: 363)
    Code (CSharp):
    1. Assets/NOAHExtension/Externals/Rewired/Integration/UnityUI/RewiredPointerInputModule.cs(645,39): error CS0539: 'RewiredPointerInputModule.UnityInputSource.screenPosition' in explicit interface declaration is not a member of interface
    2. Assets/NOAHExtension/Externals/Rewired/Integration/UnityUI/RewiredPointerInputModule.cs(649,39): error CS0539: 'RewiredPointerInputModule.UnityInputSource.screenPositionDelta' in explicit interface declaration is not a member of interface
    3. Assets/NOAHExtension/Externals/Rewired/Integration/UnityUI/RewiredPointerInputModule.cs(653,39): error CS0539: 'RewiredPointerInputModule.UnityInputSource.wheelDelta' in explicit interface declaration is not a member of interface
    4. Assets/NOAHExtension/Externals/Rewired/Integration/UnityUI/RewiredPointerInputModule.cs(665,37): error CS0539: 'RewiredPointerInputModule.UnityInputSource.GetTouch(int)' in explicit interface declaration is not a member of interface
    5. Assets/NOAHExtension/Externals/Rewired/Integration/UnityUI/RewiredPointerInputModule.cs(595,49): error CS0012: The type 'Vector2' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    6. Assets/NOAHExtension/Externals/Rewired/Integration/UnityUI/RewiredPointerInputModule.cs(595,68): error CS0012: The type 'Touch' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    7. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(32,46): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    8. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(117,17): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    9. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(180,63): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    10. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(197,49): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    11. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(263,63): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    12. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(280,49): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    13. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(356,55): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    14. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(389,59): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    15. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(405,58): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    16. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(421,62): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    17. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(950,40): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    18. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(950,55): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    19. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(436,71): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    20. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(436,25): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    21. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(589,49): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    22. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(589,64): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    23. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(589,17): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    24. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(470,39): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    25. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(505,49): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    26. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(530,57): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    27. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(545,43): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    28. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(557,54): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    29. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(630,42): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    30. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(630,57): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    31. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(811,17): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    32. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(861,40): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    33. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(885,50): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    34. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(907,58): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    35. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(918,44): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    36. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(929,41): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    37. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(929,56): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    38. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(934,55): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    39. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(962,41): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    40. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(962,56): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    41. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(982,43): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    42. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(982,58): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    43. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(1070,46): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    44. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(1076,55): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    45. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(1076,70): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    46. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(1084,69): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    47. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(1084,84): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    48. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(1092,74): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    49. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(1092,89): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    50. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(1124,64): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    51. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(1134,55): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    52. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(1142,44): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    53. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(1142,59): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    54. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(1152,58): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    55. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(1152,73): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    56. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(1152,17): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    57. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(1182,53): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    58. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(1188,44): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    59. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(1198,54): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    60. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(1198,97): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    61. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(1198,126): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    62. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(1242,17): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    63. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(1255,108): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    64. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(1255,113): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    65. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(1271,46): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    66. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(1271,61): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    67. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(1296,50): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    68. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(1296,24): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    69. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(49,10): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    70. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(51,10): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    71. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(55,10): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    72. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(57,10): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    73. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(61,10): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    74. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(65,10): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    75. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(69,10): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    76. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(71,10): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    77. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(75,10): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    78. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(77,10): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    79. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(81,10): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    80. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(83,10): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    81. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(144,10): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    82. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(146,10): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    83. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(148,10): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    84. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(150,10): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    85. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(151,17): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    86. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(152,10): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    87. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(1362,24): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    88. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(1373,50): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    89. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/DataStorage/UserDataStore_PlayerPrefs.cs(1370,29): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    90. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/InputManager.cs(79,6): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    91. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/InputManager.cs(80,6): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    92. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/InputManager.cs(80,44): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    93. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/InputManager.cs(81,40): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    94. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/InputManager.cs(321,28): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    95. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/InputManager.cs(345,36): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    96. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/InputManager.cs(345,49): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    97. Assets/NOAHExtension/Externals/Rewired/Internal/Scripts/Misc/ExternalTools.cs(100,34): error CS0012: The type 'Touch' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    it builds successfully on Window platform, but failed on OSX, with the error above, I can't figure out how to solve it, could you please give me some hint on this. Thanks!
     
  37. unity_A534E9AE8684D01B712E

    unity_A534E9AE8684D01B712E

    Joined:
    Feb 24, 2023
    Posts:
    7
    unity Input.GetAxis("Mouse ScrollWheel") is invalid ,Rewired causes this, why
     
  38. longroadhwy

    longroadhwy

    Joined:
    May 4, 2014
    Posts:
    1,551
    You need more information to provide more context to help solve the problem.

    (1) What Rewired version are you using?
    (2) What operating system are you using?
    (3) What platform are you using (e.g. PC/MAC, etc.)?
    (4) What Unity version are you using?
    (5) What mouse are you using (e.g Logitech, etc.)?
     
  39. guavaman

    guavaman

    Joined:
    Nov 20, 2009
    Posts:
    5,633
    It is not clear to me what you mean by "is invalid." If you're saying it causes Unity to throw an exception, there is no way possible Rewired is the cause of this unless you have installed Unity Input Override. If that's the case, you are responsible for defining the Actions in the Rewired Input Manager. The string name must match exactly to what you're passing to the Input.GetAxis/Button function.

    If you're saying it no longer returns any value and you are not using Unity Input Override, the only possible way this could happen is if you are using a very old version of Rewired with a newer version of Unity, or you are using the wrong branch of Rewired for the version of Unity you are using.

    This is the reason:
    https://guavaman.com/projects/rewired/docs/KnownIssues.html#windows-high-refresh-rate-mouse-slowdown

    Unity made changes in Unity 2021.2.1f0 to their Raw Input implementation. All versions of Unity of 2021.2.1f0+ require Rewired 1.1.41.0+ in order for both Unity and Rewired to work correctly. You will also have problems if you are using Rewired for Unity 2020 in Unity 2021.

    Check the version of Rewired installed:
    Window -> Rewired -> Help -> About
     
  40. guavaman

    guavaman

    Joined:
    Nov 20, 2009
    Posts:
    5,633
    Please clarify what system you are using for mapping your controls.

    Both Input Mapper and Control Mapper allow the user to bind modifier keys. Input Mapper has options for allowing or preventing modifier keys from being used, the time the key is required to be pressed before it will bind, etc. Control Mapper has a fixed time required for the key to bind. The instructions on how to bind modifier keys is displayed in the key binding popup.

    https://guavaman.com/projects/rewir...er_Options_allowKeyboardKeysWithModifiers.htm
    https://guavaman.com/projects/rewir...Options_allowKeyboardModifierKeyAsPrimary.htm
    https://guavaman.com/projects/rewir...DurationToMapKeyboardModifierKeyAsPrimary.htm
     
  41. guavaman

    guavaman

    Joined:
    Nov 20, 2009
    Posts:
    5,633
    The error shows me you have some kind problem with your DLL references in your project because it should not be including editor code in a build. The most common cause of this is incorrect use of ASMDEF files .

    https://guavaman.com/projects/rewired/docs/HowTos.html#asmdef-files

    Another cause is corrupted Unity metadata on the DLLs causing them to be included on the wrong build targets.

    "Rewired.Editor.ComponentControls.TouchButtonEditor" is a class defined in Rewired_Editor.dll. Rewired_Editor.dll should never be included in a build. It has a dependency on UnityEditor.dll, which cannot be included in a build. Rewired_Editor.dll is only included in the Untiy Editor and never in a build based on its inspector settings. If these inspector settings were changed, it won't be able to build.
     
    Last edited: Feb 24, 2023
  42. RedVonix

    RedVonix

    Joined:
    Dec 13, 2011
    Posts:
    422
    AH HAH! I missed that there was a TIME DELAY to hold the key! Thanks for the links that gave me what I wasn't finding on my own in the documentation. Got it now!!

     
  43. guavaman

    guavaman

    Joined:
    Nov 20, 2009
    Posts:
    5,633
  44. guavaman

    guavaman

    Joined:
    Nov 20, 2009
    Posts:
    5,633
    If neither of the things I mentioned above are the cause, then I will need to know:
    1. What version of Unity you are using and what version of Rewired you are using. Window -> Rewired -> Help -> About.
    2. Whether you are building to a Mono build or an IL2CPP build.
    3. If you are building this in the Mac Editor or the Windows editor.
     
  45. waxx

    waxx

    Joined:
    Apr 1, 2013
    Posts:
    48
    Are there any plans to fully support domain/scene reload being disabled? Unless there is already something for it and I'm missing it.
     
  46. guavaman

    guavaman

    Joined:
    Nov 20, 2009
    Posts:
    5,633
    Rewired already is and always has been compatible with these settings. No specific support for these settings was ever needed due to how Rewired was designed from the beginning. Rewired fully cleans itself up, including static variables, when the Rewired Input Manager GameObject disabled or destroyed. When it is instantiated or enabled, it initializes everything again. This is why when the Rewired Input Manager is disabled and re-enabled at runtime, everything is reset.
     
    Last edited: Feb 25, 2023
  47. unity_A534E9AE8684D01B712E

    unity_A534E9AE8684D01B712E

    Joined:
    Feb 24, 2023
    Posts:
    7
    Input.GetAxis("Mouse ScrollWheel") ,This is the Unity native API, and when I disable Rewired, it returns values correctly
     
  48. unity_A534E9AE8684D01B712E

    unity_A534E9AE8684D01B712E

    Joined:
    Feb 24, 2023
    Posts:
    7
    I didn't install the input override
     
  49. unity_A534E9AE8684D01B712E

    unity_A534E9AE8684D01B712E

    Joined:
    Feb 24, 2023
    Posts:
    7
    Unity 2021.3.15f and rewired 1.1.43.0
     
  50. unity_A534E9AE8684D01B712E

    unity_A534E9AE8684D01B712E

    Joined:
    Feb 24, 2023
    Posts:
    7
    When I set "Settings- Disable Native Input", Returned to normal ,Why