Search Unity

Rewired - Advanced Input for Unity

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

  1. guavaman

    guavaman

    Joined:
    Nov 20, 2009
    Posts:
    5,627
    Thanks for posting that. I'll take a look at it more deeply when I have time. (Busy with U5 testing and GDC.)

    The Thrustmaster T.16000M was added in 1.0.0.35 which isn't on the Asset Store yet. It's also like the Logitech Extreme 3D Pro -- a joystick with a small throttle lever at the base. They're pretty much stick-only devices actually.
     
  2. Steve-Tack

    Steve-Tack

    Joined:
    Mar 12, 2013
    Posts:
    1,240
    I mostly posted it for @longroadhwy. The spreadsheet I think illustrates how game-specific it is. Anyway, it's not too exciting, and I don't expect you to do anything with it. :)
     
    guavaman likes this.
  3. dkoontz

    dkoontz

    Joined:
    Aug 7, 2009
    Posts:
    198
    I've been playing with porting my app to WebGL, but the conversion errors out on Rewired_Core.dll. Has anyone tested Rewired with WebGL and if so are there plans to support it? Is an IL2CPP error?

    Here's the specific error I am encountering:

    Code (CSharp):
    1.  
    2. Failed running /Applications/Unity 5RC3/Unity.app/Contents/Frameworks/il2cpp/il2cpp.exe --copy-level=None --enable-generic-sharing --enable-unity-event-support --enable-symbol-loading "/Users/dkoontz/dev/Emberscape/EmberscapeUnityProject/Temp/StagingArea/Data/Managed/Assembly-CSharp-firstpass.dll" "/Users/dkoontz/dev/Emberscape/EmberscapeUnityProject/Temp/StagingArea/Data/Managed/Assembly-CSharp.dll" "/Users/dkoontz/dev/Emberscape/EmberscapeUnityProject/Temp/StagingArea/Data/Managed/Assembly-UnityScript.dll" "/Users/dkoontz/dev/Emberscape/EmberscapeUnityProject/Temp/StagingArea/Data/Managed/UnityEngine.UI.dll" "/Users/dkoontz/dev/Emberscape/EmberscapeUnityProject/Temp/StagingArea/Data/Managed/BehaveN.dll" "/Users/dkoontz/dev/Emberscape/EmberscapeUnityProject/Temp/StagingArea/Data/Managed/GoodStuff.dll" "/Users/dkoontz/dev/Emberscape/EmberscapeUnityProject/Temp/StagingArea/Data/Managed/RobotArms.dll" "/Users/dkoontz/dev/Emberscape/EmberscapeUnityProject/Temp/StagingArea/Data/Managed/Newtonsoft.Json.dll" "/Users/dkoontz/dev/Emberscape/EmberscapeUnityProject/Temp/StagingArea/Data/Managed/protobuf-net.dll" "/Users/dkoontz/dev/Emberscape/EmberscapeUnityProject/Temp/StagingArea/Data/Managed/Pathfinding.Ionic.Zip.Reduced.dll" "/Users/dkoontz/dev/Emberscape/EmberscapeUnityProject/Temp/StagingArea/Data/Managed/Pathfinding.JsonFx.dll" "/Users/dkoontz/dev/Emberscape/EmberscapeUnityProject/Temp/StagingArea/Data/Managed/Rewired_Core.dll" "/Users/dkoontz/dev/Emberscape/EmberscapeUnityProject/Temp/StagingArea/Data/il2cppOutput"
    3.  
    4. stdout:
    5. IL2CPP error for type 'Rewired.Controller/Axis/xiOgHOdDZcUauBVzaqcofJVavRX/RoIsFMCuFAiuYQMYPXcKwmrvQcU' in assembly '/Users/dkoontz/dev/Emberscape/EmberscapeUnityProject/Temp/StagingArea/Data/Managed/Rewired_Core.dll'
    6. Additional information: Build a development build for more information. An element with the same key already exists in the dictionary.
    7. stderr:
    8.  
    9. Unhandled Exception:
    10. System.ArgumentException: An element with the same key already exists in the dictionary.
    11.   at System.Collections.Generic.Dictionary`2[Mono.Cecil.MethodReference,Mono.Cecil.MethodReference].Add (Mono.Cecil.MethodReference key, Mono.Cecil.MethodReference value) [0x00000] in <filename unknown>:0
    12.   at Unity.IL2CPP.Metadata.VTableBuilder.OverrideNonInterfaceMethods (System.Collections.Generic.Dictionary`2 overrides, System.Collections.Generic.List`1 slots, System.Collections.Generic.Dictionary`2 overrideMap) [0x00000] in <filename unknown>:0
    13.   at Unity.IL2CPP.Metadata.VTableBuilder.VTableForType (Mono.Cecil.TypeDefinition typeDefinition, System.Collections.Generic.Dictionary`2 interfaceOffsets, Int32 currentSlot) [0x00000] in <filename unknown>:0
    14.   at Unity.IL2CPP.Metadata.VTableBuilder.VTableFor (Mono.Cecil.TypeReference typeReference, Unity.IL2CPP.ILPreProcessor.TypeResolver resolver) [0x00000] in <filename unknown>:0
    15.   at Unity.IL2CPP.Metadata.VTableBuilder.IndexFor (Mono.Cecil.MethodDefinition method) [0x00000] in <filename unknown>:0
    16.   at Unity.IL2CPP.Metadata.Methods.MethodInfoWriter.WriteMethodInformationFor (Mono.Cecil.MethodReference method, Unity.IL2CPP.Metadata.VTableBuilder vTableBuilder) [0x00000] in <filename unknown>:0
    17.   at Unity.IL2CPP.Metadata.Methods.TypeDefinitionMethodInfoWriter.WriteMetadataDefinitionsFor (Unity.IL2CPP.Metadata.VTableBuilder vTableBuilder) [0x00000] in <filename unknown>:0
    18.   at Unity.IL2CPP.Metadata.Types.TypeInfoWriter.WriteDefinitionFor (Unity.IL2CPP.Metadata.VTableBuilder vTableBuilder, Mono.Cecil.AssemblyDefinition corlib, Unity.IL2CPP.GenericsCollection.InflatedCollection allGenerics) [0x00000] in <filename unknown>:0
    19.   at Unity.IL2CPP.SourceWriter.WriteMetadataDefinitionFor (Unity.IL2CPP.CppCodeWriter writer, Unity.IL2CPP.GenericsCollection.InflatedCollection allGenerics, Mono.Cecil.TypeReference type, Unity.IL2CPP.Metadata.Types.TypeInfoWriter typeInfoWriter, Mono.Cecil.AssemblyDefinition mscorlib, System.Collections.Generic.HashSet`1 emptyTypes) [0x00000] in <filename unknown>:0
    20.   at Unity.IL2CPP.SourceWriter.WriteSource (Unity.IL2CPP.CppCodeWriter writer, Unity.IL2CPP.GenericsCollection.InflatedCollection allGenerics, Mono.Cecil.TypeReference type, System.Collections.Generic.HashSet`1 emptyTypes, Unity.IL2CPP.StringLiterals.StringLiteralCollection stringLiteralCollection) [0x00000] in <filename unknown>:0
    21.   at Unity.IL2CPP.SourceWriter.WriteSourceFiles (System.String outputDirectory, System.String fileName, Unity.IL2CPP.GenericsCollection.InflatedCollection allGenerics, IEnumerable`1 typeList, System.Collections.Generic.HashSet`1 emptyTypes, Unity.IL2CPP.StringLiterals.StringLiteralCollection stringLiteralCollection) [0x00000] in <filename unknown>:0
    22.   at Unity.IL2CPP.SourceWriter.Write (Mono.Cecil.AssemblyDefinition assemblyDefinition, Unity.IL2CPP.GenericsCollection.InflatedCollection allGenerics, System.String outputDir, Mono.Cecil.TypeDefinition[] typeList, Unity.IL2CPP.StringLiterals.StringLiteralCollection stringLiteralCollection) [0x00000] in <filename unknown>:0
    23.   at Unity.IL2CPP.AssemblyConverter.Convert (Mono.Cecil.AssemblyDefinition assemblyDefinition, Unity.IL2CPP.StringLiterals.StringLiteralCollection stringLiteralCollection, Unity.IL2CPP.GenericsCollection.InflatedCollection allGenerics) [0x00000] in <filename unknown>:0
    24.   at Unity.IL2CPP.AssemblyConverter.Apply () [0x00000] in <filename unknown>:0
    25.   at Unity.IL2CPP.AssemblyConverter.ConvertAssemblies (System.String[] assemblies, System.String outputDir) [0x00000] in <filename unknown>:0
    26. [ERROR] FATAL UNHANDLED EXCEPTION: System.ArgumentException: An element with the same key already exists in the dictionary.
    27.   at System.Collections.Generic.Dictionary`2[Mono.Cecil.MethodReference,Mono.Cecil.MethodReference].Add (Mono.Cecil.MethodReference key, Mono.Cecil.MethodReference value) [0x00000] in <filename unknown>:0
    28.   at Unity.IL2CPP.Metadata.VTableBuilder.OverrideNonInterfaceMethods (System.Collections.Generic.Dictionary`2 overrides, System.Collections.Generic.List`1 slots, System.Collections.Generic.Dictionary`2 overrideMap) [0x00000] in <filename unknown>:0
    29.   at Unity.IL2CPP.Metadata.VTableBuilder.VTableForType (Mono.Cecil.TypeDefinition typeDefinition, System.Collections.Generic.Dictionary`2 interfaceOffsets, Int32 currentSlot) [0x00000] in <filename unknown>:0
    30.   at Unity.IL2CPP.Metadata.VTableBuilder.VTableFor (Mono.Cecil.TypeReference typeReference, Unity.IL2CPP.ILPreProcessor.TypeResolver resolver) [0x00000] in <filename unknown>:0
    31.   at Unity.IL2CPP.Metadata.VTableBuilder.IndexFor (Mono.Cecil.MethodDefinition method) [0x00000] in <filename unknown>:0
    32.   at Unity.IL2CPP.Metadata.Methods.MethodInfoWriter.WriteMethodInformationFor (Mono.Cecil.MethodReference method, Unity.IL2CPP.Metadata.VTableBuilder vTableBuilder) [0x00000] in <filename unknown>:0
    33.   at Unity.IL2CPP.Metadata.Methods.TypeDefinitionMethodInfoWriter.WriteMetadataDefinitionsFor (Unity.IL2CPP.Metadata.VTableBuilder vTableBuilder) [0x00000] in <filename unknown>:0
    34.   at Unity.IL2CPP.Metadata.Types.TypeInfoWriter.WriteDefinitionFor (Unity.IL2CPP.Metadata.VTableBuilder vTableBuilder, Mono.Cecil.AssemblyDefinition corlib, Unity.IL2CPP.GenericsCollection.InflatedCollection allGenerics) [0x00000] in <filename unknown>:0
    35.   at Unity.IL2CPP.SourceWriter.WriteMetadataDefinitionFor (Unity.IL2CPP.CppCodeWriter writer, Unity.IL2CPP.GenericsCollection.InflatedCollection allGenerics, Mono.Cecil.TypeReference type, Unity.IL2CPP.Metadata.Types.TypeInfoWriter typeInfoWriter, Mono.Cecil.AssemblyDefinition mscorlib, System.Collections.Generic.HashSet`1 emptyTypes) [0x00000] in <filename unknown>:0
    36.   at Unity.IL2CPP.SourceWriter.WriteSource (Unity.IL2CPP.CppCodeWriter writer, Unity.IL2CPP.GenericsCollection.InflatedCollection allGenerics, Mono.Cecil.TypeReference type, System.Collections.Generic.HashSet`1 emptyTypes, Unity.IL2CPP.StringLiterals.StringLiteralCollection stringLiteralCollection) [0x00000] in <filename unknown>:0
    37.   at Unity.IL2CPP.SourceWriter.WriteSourceFiles (System.String outputDirectory, System.String fileName, Unity.IL2CPP.GenericsCollection.InflatedCollection allGenerics, IEnumerable`1 typeList, System.Collections.Generic.HashSet`1 emptyTypes, Unity.IL2CPP.StringLiterals.StringLiteralCollection stringLiteralCollection) [0x00000] in <filename unknown>:0
    38.   at Unity.IL2CPP.SourceWriter.Write (Mono.Cecil.AssemblyDefinition assemblyDefinition, Unity.IL2CPP.GenericsCollection.InflatedCollection allGenerics, System.String outputDir, Mono.Cecil.TypeDefinition[] typeList, Unity.IL2CPP.StringLiterals.StringLiteralCollection stringLiteralCollection) [0x00000] in <filename unknown>:0
    39.   at Unity.IL2CPP.AssemblyConverter.Convert (Mono.Cecil.AssemblyDefinition assemblyDefinition, Unity.IL2CPP.StringLiterals.StringLiteralCollection stringLiteralCollection, Unity.IL2CPP.GenericsCollection.InflatedCollection allGenerics) [0x00000] in <filename unknown>:0
    40.   at Unity.IL2CPP.AssemblyConverter.Apply () [0x00000] in <filename unknown>:0
    41.   at Unity.IL2CPP.AssemblyConverter.ConvertAssemblies (System.String[] assemblies, System.String outputDir) [0x00000] in <filename unknown>:0
    42.  
    43. UnityEngine.Debug:LogError(Object)
    44. UnityEditorInternal.Runner:RunManagedProgram(String, String, String, CompilerOutputParserBase) (at /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:66)
    45. UnityEditorInternal.IL2CPPBuilder:ConvertPlayerDlltoCpp(ICollection`1, String, String) (at /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:404)
    46. UnityEditorInternal.IL2CPPBuilder:Run() (at /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:275)
    47. UnityEditorInternal.IL2CPPUtils:RunIl2Cpp(String, IIl2CppPlatformProvider, Action`1, RuntimeClassRegistry) (at /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:218)
    48. UnityEditor.HostView:OnGUI()
    49.  
    This was produced with a development build, so I'm not sure how to get more details.
     
  4. Evil-Dog

    Evil-Dog

    Joined:
    Oct 4, 2011
    Posts:
    134
    Hi, everyone using Windows 8 have a problem running my game, keyboards and controllers don't respond. On other windows versions it's fine. Any idea what's up with that? Using Unity 5, I know it's not officially supported but everything works good overall.
     
  5. guavaman

    guavaman

    Joined:
    Nov 20, 2009
    Posts:
    5,627
    Unity 5 is still beta and not yet supported. A separate branch of Rewired will be released for Unity 5. I am aware WebGL does not compile. Unfortunately, you will not be able to get WebGL working until I figure out why Unity isn't able to compile it.
     
  6. guavaman

    guavaman

    Joined:
    Nov 20, 2009
    Posts:
    5,627
    I'll need a lot more details to try to figure out what is wrong. I develop Rewired on Windows 8.1 and have done preliminary testing in Unity 5 and have had no issues in Windows Standalone builds or the editor.
     
    Last edited: Mar 3, 2015
  7. guavaman

    guavaman

    Joined:
    Nov 20, 2009
    Posts:
    5,627
    • What version of Rewired are you using?
    • What version of Unity 5 beta are you using?
    • Is the issue in the Editor or Build or both?
    • 64-bit or 32-bit editor?
    • Are you using Raw Input, Direct Input, XInput or a combination?
    • Is "Always Use Unity Input" checked?
    • What update loops are you running Rewired in?
    • What update loops are you getting your input in?
    • Is there any information in the log file?
    • What controllers are you using?

    The fact that keyboard input isn't working is very suspicious as that is simply passed through from Unity. If that's the case, then I'd suspect a mapping problem.

    Have you checked whether controllers and maps are being assigned to your players via scripting?

    If you contact me via the support form on the website, I can send you an email and you can send me your project or a repro project.

    Try this RewiredKeyTest.unitypackage and run it. Press keys on the keyboard and see if anything appears on the screen. This will tell me if Rewired is receiving keyboard input from Unity.

    Also try ShowControllerElements with one joystick plugged in. If you see over 128 buttons, disable Show Buttons in the inspector on the game object and see if axes return any values when you move them.
     

    Attached Files:

    Last edited: Mar 3, 2015
  8. Evil-Dog

    Evil-Dog

    Joined:
    Oct 4, 2011
    Posts:
    134
    Thank you, I don't have Windows 8 so it's not an editor issue for me, just my testers with windows 8 have issues. I sent them some builds with the different options for Direct Input instead of Raw Input and that kind of things.
    I'll try these packages you gave me as well, thank you very much!
     
  9. guavaman

    guavaman

    Joined:
    Nov 20, 2009
    Posts:
    5,627
    If their keyboard input isn't working, changing those options isn't going to do anything because it's all straight from Unity. Get their log files and see if there are any exceptions or other information.
     
  10. guavaman

    guavaman

    Joined:
    Nov 20, 2009
    Posts:
    5,627
    I've been working on the WebGL problem and it appears that it's an issue with Unity's system that generates hashes for method and property names during IL2CPP conversion. (It has to do with abstract methods and and overrides causing names to be entered in the Dictionary twice hence the exception.) It will be possible to workaround and I will do so in the initial Unity 5 release. However, WebGL is another platform and all the controllers have yet different mappings on this platform. I will need to map all the gamepads again for this platform before any will be recognized for extended support.
     
  11. longroadhwy

    longroadhwy

    Joined:
    May 4, 2014
    Posts:
    1,551
    Thanks for the clarification on the X-45 rudder. Actually you could support the CH Eclipse Yoke also since it does have rudder paddles on the yoke itself and a few hats and a throttle quadrant. See the picture in the top left corner here:
    http://forum.unity3d.com/threads/rewired-advanced-input-for-unity-25-off-gdc-sale.270693/page-8 (msg #391)

    Actually here is a better picture where you can see the rudder paddles right in the center.
    http://www.chproducts.com/files/chproducts/Eclipse-Yoke-Button-Assignments.jpg

    My goal is to create mapping screens based on each detected flight simulation controller similar to the CH products button assignment picture.

    The CH FighterStick mode switch which also has corresponding 3 led lights on the base so you know which mode you by just looking at the base.

    I was thinking of a minimal required HOTAS set similar to what you have. I like your list.
     
    Last edited: Mar 3, 2015
  12. longroadhwy

    longroadhwy

    Joined:
    May 4, 2014
    Posts:
    1,551
    The HOTAS prefix was just for the clarification of discussion is not related to gamepad devices.

    Yes, that is a good clarification I am thinking about "template" is not the same way as Rewired thinks of templates.
     
  13. longroadhwy

    longroadhwy

    Joined:
    May 4, 2014
    Posts:
    1,551
    This week you should be enjoying GDC. Hopefully everyone you run into at GDC will learn about Rewired too. It is a great product.
     
  14. longroadhwy

    longroadhwy

    Joined:
    May 4, 2014
    Posts:
    1,551
    I think it would be great if you support stick only, throttle only and rudder only templates.

    Thanks. I will take a look at this later today. I see that @guavaman mentioned the Thrustmaster T16000m joystick already. Here is the URL for reference on the specifics.
    http://www.thrustmaster.com/products/t16000m

    I expect we will not see any updates by the Unity asset store staff for the latest Rewired releases until after GDC.
     
  15. guavaman

    guavaman

    Joined:
    Nov 20, 2009
    Posts:
    5,627
    Very likely. However, you can get 1.0.0.36 on the website now if you've registered to get the latest updates.
     
  16. Evil-Dog

    Evil-Dog

    Joined:
    Oct 4, 2011
    Posts:
    134
    I did get his log and I see some problems with XInput1_3.dll not being found and Rewired failing afterward. I'm having my guy install the latest DirectX to see if that helps.
     

    Attached Files:

  17. guavaman

    guavaman

    Joined:
    Nov 20, 2009
    Posts:
    5,627
    Not finding XInput_1_3.dll is not a fatal error as of 1.0.0.31, 5 releases ago.

    Very important question: What version of Rewired are you on? I did ask this before but you did not give me that information. You are not using the latest. Update your Rewired to the latest version. You should always be using the latest version or bug hunting is a redundant process. I've already fixed this issue. Your users do not need the DirectX dependencies anymore.
     
    Last edited: Mar 3, 2015
  18. Evil-Dog

    Evil-Dog

    Joined:
    Oct 4, 2011
    Posts:
    134
    1.0.0.23
     
  19. guavaman

    guavaman

    Joined:
    Nov 20, 2009
    Posts:
    5,627
    There have been a huge number of bug fixes since that version. Update to the latest and your problem will be gone. The latest on the site is 1.0.0.36 and the latest on UAS is 1.0.0.34.
     
  20. Evil-Dog

    Evil-Dog

    Joined:
    Oct 4, 2011
    Posts:
    134
    Yeah I started the update process as soon as I saw your :eek: face LOL it said it all :)
     
    guavaman likes this.
  21. guavaman

    guavaman

    Joined:
    Nov 20, 2009
    Posts:
    5,627
    Hehe... That was only there a few seconds before I edited it. :)
     
  22. Evil-Dog

    Evil-Dog

    Joined:
    Oct 4, 2011
    Posts:
    134
    I know hehe, you're diplomatic and I'd have had the same initial reaction of "just update you damn fool".
    It's my bad, I'm updating and I'll let you know if the problem persists.
     
    guavaman likes this.
  23. guavaman

    guavaman

    Joined:
    Nov 20, 2009
    Posts:
    5,627
    I had another user suggest I implement a system where it notifies you of new updates in the editor. I understand it's probably hard to keep up with all the updates, especially when you've got many plugins. It's a good idea and I'll look into it. It would be nice if Unity would notify you of updates to plugins themselves through their store system.
     
  24. bsterling250DI

    bsterling250DI

    Joined:
    Sep 25, 2014
    Posts:
    78
    you could also do what InControl and UnityTestTools and such are doing and create a bitbucket repo that is public that you can put your releases under and then people can just do their own fetching pretty easily.
     
  25. guavaman

    guavaman

    Joined:
    Nov 20, 2009
    Posts:
    5,627
    How would that work with a product that isn't free/open-source? Only customers who have purchased need to be allowed access to it.

    Edit: I see. Bitbucket charges a monthly fee based on the number of private users. This seems like it wouldn't be able to mesh with the Unity Asset Store invoice verification system to determine eligibility like I have done on my own early-access update system.
     
    Last edited: Mar 3, 2015
  26. Steve-Tack

    Steve-Tack

    Joined:
    Mar 12, 2013
    Posts:
    1,240
    Haha, great idea. It wouldn't have occurred to me to include that. I wonder how my game would control with that? I bet it'd be interesting.

    I went ahead and added it to my "combined" template, which was quick. I'm liking having the template.

    I mapped the throttle as the "Black Lever", which I'm assuming is sort of the main throttle. It was also super easy to split the rudder into left/right paddle. It was just a matter of using the Split Axis feature in the template editor.

    I'll repost just for grins when I get the others done; by then I'll probably have the new Thrustmaster device in the combined template too.
     
  27. guavaman

    guavaman

    Joined:
    Nov 20, 2009
    Posts:
    5,627
    Those colored lever names have changed to Lever 1-3 in the latest version because the colored heads can be removed and rearranged. They're sorted in order from left to right in the Element Identifiers.
     
  28. Steve-Tack

    Steve-Tack

    Joined:
    Mar 12, 2013
    Posts:
    1,240
    Ah, thanks for the heads up. I'll change that to Lever 1 after I update.

    I started on a throttle-only template and noticed that the CH Pro Throttle has a Stick X and Stick Y listed. Is that right?

    EDIT: One more quick question: do you know if it matters if I map the X-55 throttle "Left Throttle" or "Right Throttle" to the main throttle? I'm assuming that when they're linked, they just report the same value.
     
  29. longroadhwy

    longroadhwy

    Joined:
    May 4, 2014
    Posts:
    1,551
    Typically those levers are used for TPM (throttle, mixture and prop) in a single engine airplane. But you can use any of them for a throttle depending on how your game works. You can see more discussion of those three levers in this review of the yoke (which has some good pictures)

    http://www.bruceair.com/product_reviews/CHEclipse.htm

    While you are at you might as well include the Saitek Yoke System since it includes a throttle quadrant and a hat but does not include rudder support. (This review has some good close up screen shots)
    http://www.bruceair.com/product_reviews/saitek_yoke.htm

    I have seen other people use cheaper joysticks in combination with CH PRO throttle for HOTAS solutions. The Thrustmaster T.16000M in combination with CH PRO Throttle is what I have seen people using with Elite Dangerous.

    Including Yokes and Sticks together will probably work just fine too for most things. With the yoke it might be a bit more work if put into a dog fight situation. Supporting all of these different controls can definitely give a user a completely different experience when playing the same game.
     
  30. longroadhwy

    longroadhwy

    Joined:
    May 4, 2014
    Posts:
    1,551
    Yes. When both Saitek X-55 throttles are locked together they should report the same value.
     
  31. longroadhwy

    longroadhwy

    Joined:
    May 4, 2014
    Posts:
    1,551
    I do not mind waiting till the asset store is updated.
     
  32. Steve-Tack

    Steve-Tack

    Joined:
    Mar 12, 2013
    Posts:
    1,240
    Good point. Done!

    Interesting info, thanks! I assumed the X52 would have been what 99% of folks use. Shows how much I know. :)
     
  33. Steve-Tack

    Steve-Tack

    Joined:
    Mar 12, 2013
    Posts:
    1,240
    I figured it was like that. Thanks!
     
  34. longroadhwy

    longroadhwy

    Joined:
    May 4, 2014
    Posts:
    1,551
    This going to be an amazing template when you are done.

    Saitek does have a big push for all 3 of their HOTAS systems X-52, X-52pro and X-55 for Elite Dangerous.

    http://www.saitek.com/elitedangerous/

    The X-52 is $150 these days and X-52 PRO and X-55 are the same price of $199. That is the MadCatz/Saitek's list price from their on-line store.

    I did find a few threads having interesting discussions on HOTAS systems and this was one of them.

    http://www.reddit.com/r/oculus/comments/2cqomh/elite_dangerous_hotas_recomendations/
     
  35. Steve-Tack

    Steve-Tack

    Joined:
    Mar 12, 2013
    Posts:
    1,240
    Thanks for the info on Elite Dangerous. It makes sense for Saitek to promote the game; I'm sure they're glad to see some demand for flight sticks again. I haven't even picked that game up yet (!). I also backed Star Citizen, but haven't checked it out either.

    This is what I've got mapped so far in my four templates:

    HOTAS Combined: CH Eclipse Yoke, Logitech Extreme 3D Pro, Saitek ProFlight Yoke, Saitek X45, Thrustmaster T.Flight HOTAS X

    HOTAS Rudder Pedals Only: CH Pro Pedals, Saitek Pro Flight Rudder Pedals

    HOTAS Stick Only: CH FighterStick, Saitek X-55 Stick

    HOTAS Throttle Only: CH Pro Throttle, CH Throttle Quadrant, Saitek X-55 Throttle

    Once version 35 hits the asset store, I'll add the 1600.T and update the CH throttle control that's changing if needed.
     
  36. guavaman

    guavaman

    Joined:
    Nov 20, 2009
    Posts:
    5,627
    You won't really have to change it unless you mean the name in your template. The elements will still point to the right ones. Just the names will change.

    Yes. It has a tiny joystick on the side.

    If they're locked together they will report roughly the same value, but they can be split.
     
  37. longroadhwy

    longroadhwy

    Joined:
    May 4, 2014
    Posts:
    1,551
    The Saitek Throttle quadrant there are two different models. There is a Saitek Yoke System which includes a throttle quadrant that connects to the yoke via a 5 pin din connector. There is also a standalone USB Saitek throttle quadrant which looks exactly the same.

    http://www.saitek.com/uk/prod/yoke.html

    http://www.saitek.com/uk/prod/quad.html

    So for your throttle only you should include the Saitek Throttle Quadrant.

    I see good support for flight sticks from stores that support real pilots especially in conjunction with Microsft Flight Simulator, Prepare3D (which is Lockheed-Martin flight simulation software based on Microsoft Flight simulator source code) and X-plane. It is amazing how much dedicated hardware is just for Microsoft Flight Simulator.

    http://www.fspilotshop.com/

    The 3.5 inch LCD screens are really nice. It is mainly used in Microsoft Flight Simulator and X-plane but I wish there was more support for them in general gaming. It does come with a SDK.

    http://www.saitek.com/uk/prod/fip.html



    The full Saitek cockpit setup which gives a better overview of how it is in a full cockpit setup.
     
  38. Steve-Tack

    Steve-Tack

    Joined:
    Mar 12, 2013
    Posts:
    1,240
    LOL. Reminds me of some of the hard core racing sim setups that are at least as nuts.
     
  39. Steve-Tack

    Steve-Tack

    Joined:
    Mar 12, 2013
    Posts:
    1,240
    Ah. Those looked a bit odd in the list.
     
  40. longroadhwy

    longroadhwy

    Joined:
    May 4, 2014
    Posts:
    1,551
  41. longroadhwy

    longroadhwy

    Joined:
    May 4, 2014
    Posts:
    1,551
    The CH Pro Throttle I see the mini-joystick is used for thrust control in Elite Dangerous.

    There is more discussion of how someone mapped CH Pro Throttle at this URL.

    https://forums.frontier.co.uk/showthread.php?t=55350
     
  42. Steve-Tack

    Steve-Tack

    Joined:
    Mar 12, 2013
    Posts:
    1,240
  43. Steve-Tack

    Steve-Tack

    Joined:
    Mar 12, 2013
    Posts:
    1,240
    My game has direct side-to-side and up/down thrusters too, so that'd be a good match. At that point, the player is going to have to create their own profile to get that detailed though. Though I haven't even started on a remapping UI. :(
     
  44. Steve-Tack

    Steve-Tack

    Joined:
    Mar 12, 2013
    Posts:
    1,240
    I tried converting a copy of my game to Unity 5 RC3 tonight and got down to just two errors left (all of the errors so far have been in various purchased assets...). I'm just trying to get a feel for any issues - I don't know when I'll go to 5 "for real".

    I got this error from Rewired:

    TypeLoadException: Could not load type 'Rewired.Editor.UnityEditorBridge, Assembly-CSharp-Editor, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
    System.Type.GetType (System.String typeName, Boolean throwOnError) (at /Users/builduser/buildslave/mono-runtime-and-classlibs/build/mcs/class/corlib/System/Type.cs:471)
    Rewired.Editor.EditorManager.‭‍‏‏‭‮
‏‌‍‌‫‭‎‍‭‌‌‭‫‏‎‏‌‫‮ (System.String , Boolean )
    Rewired.Editor.EditorManager.VjduMiTXJmPybVzktjwTOQCvqKq ()
    Rewired.Editor.EditorManager.DMiFQKclFdMiHLvzMIvHFeKASchG ()
    Rewired.Editor.EditorManager.NhIQdvAtxMRHqqbjUclbHKihOKdD ()
    UnityEditor.EditorApplication.Internal_CallUpdateFunctions () (at C:/buildslave/unity/build/artifacts/generated/common/editor/EditorApplication.gen.cs:268)

    This is NOT a super important thing, but if there's a workaround for now, it'd be fun to see my game run in Unity 5. I realize there are known issues with OSX, Linux, and Windows Store, but I don't need those platforms.
     
  45. guavaman

    guavaman

    Joined:
    Nov 20, 2009
    Posts:
    5,627
    I'm aware of this issue and it's not only related to Unity 5. It's very intermittent, seems to be a bug introduced in a 4.6 version, and I've never actually seen it myself. Basically, Unity is compiling the scripts but then allows editor scripts to start running before compiling is complete. I believe I've already "fixed" it in the latest unreleased version, but as I've never seen it I can't be sure. (Fix being yet another workaround for one of Unity's 19 billion bugs).

    The only other way to see this error is to move Rewired into Plugins or StandardAssets. By doing that you're moving it from the Assembly-Editor to Assembly-Editor-firstpass and the current release of Rewired doesn't expect that.

    There's no workaround needed really unless this happens while switching platforms. Nothing is being changed after a recompile. It's just trying to find the non-dll editor script via reflection to determine what editor platform you're using (Windows or OSX). It doesn't find it so it can't update the current platform if it changed, but if you're not switching build targets, that's not going to affect anything.
     
    Last edited: Mar 4, 2015
  46. longroadhwy

    longroadhwy

    Joined:
    May 4, 2014
    Posts:
    1,551
    That is good to hear that will be a good match. I am really interested in your remapping screens.
     
  47. Steve-Tack

    Steve-Tack

    Joined:
    Mar 12, 2013
    Posts:
    1,240
    Oh, I had mentally grouped the error with the compile errors I'm getting (in other stuff). If I can just hit "Clear" on the console to make it go away and it doesn't cause issues, that definitely works!
     
  48. longroadhwy

    longroadhwy

    Joined:
    May 4, 2014
    Posts:
    1,551
    Actually you could almost use the G27 racing wheel too. It has 6 buttons on the wheel and on the shifter you have a dpad plus 8 other buttons. The metal gear shifters on the wheel itself could be used for rudder control. Then you still have 3 pedals to work with too.

    http://gaming.logitech.com/en-us/product/g27-racing-wheel

    If in your space game you have a ground based transportation component you could also support the G27 racing wheel for that too.

    Have you ever played Sundog frozen legacy on the Atari ST? In many ways Elite Dangerous reminds me of that game.

    You can see a video of it here:
     
  49. longroadhwy

    longroadhwy

    Joined:
    May 4, 2014
    Posts:
    1,551

    Are using the 64-bit or 32-bit Unity editor on Windows
     
  50. super-cypher

    super-cypher

    Joined:
    May 10, 2014
    Posts:
    117
    hi
    any news on the playmaker actions? i think you said by feb they would be ready.

    thanks