Search Unity

  1. Unity 2018.3 is now released.
    Dismiss Notice
  2. The Unity Pro & Visual Studio Professional Bundle gives you the tools you need to develop faster & collaborate more efficiently. Learn more.
    Dismiss Notice
  3. We've updated our Terms of Service. Please read our blog post from Unity CTO and Co-Founder Joachim Ante here
    Dismiss Notice
  4. Want to provide direct feedback to the Unity team? Join the Unity Advisory Panel.
    Dismiss Notice
  5. Improve your Unity skills with a certified instructor in a private, interactive classroom. Watch the overview now.
    Dismiss Notice

Input System Update

Discussion in 'New Input System' started by Rene-Damm, Dec 12, 2017.

  1. TimNedvyga

    TimNedvyga

    Joined:
    May 18, 2015
    Posts:
    54
  2. rizu

    rizu

    Joined:
    Oct 8, 2013
    Posts:
    651
    I noticed that this issue report was logged for above post: https://github.com/Unity-Technologies/InputSystem/issues/74 and it's been recently closed, yet the very latest input system still has this issue on your SimpleDemo. I've tried adjusting the deadzones and sensitivity but it's always moving mouse in "chunks". It seems to wait for certain threshold for total movement amount to exceed before it moves at all.
    You refer to the above or are there other issues with the mouse?
     
  3. Rene-Damm

    Rene-Damm

    Unity Technologies

    Joined:
    Sep 15, 2012
    Posts:
    419
    Hey everyone,

    We made it to the production server. 0.1.2-preview can be installed directly from the package manager UI now. For details see here.

    As part of focusing our efforts, we've also decided to drop support for .NET 3.5 and focus exclusively on the new runtime. This means that once we have removed the old .NET 3.5 code, projects using the new input system require using .NET 4.

    Documentation has also started progressing finally. ATM it's still little more than a skeleton and there's still lots to write but things are moving. The most up-to-date WIP version can be found here. Docs can also be accessed through "View documentation" link in the package manager UI. The scripting ref still needs *a lot* of cleanup.

    Finally, we're in the process of working the kinks out of the system. Lots of little stuff. Proper fixed vs dynamic update handling with timeslicing is coming (just need to land the native changes for it). And confusion around how/when actions update is getting sorted. Plus lots of bugs that we're starting to whittle down.

    Thanks everyone for bearing with us and helping this take shape.

    Thank you. I'll have a look.

    Could you provide some details about Unity version, .NET version, and OS? Are you using actions and seeing the chunkiness on them or are you reading from the mouse directly? Is this with the position or the delta values or both?

    I've seen similar problems on 2019.1 where there seems to be a deeper issue with the native input system side which we still have to investigate.

    We recently fixed a number of issuing surround Mouse, but there may well be more. I've seen stuck buttons on the Mac, for example, which needs to be investigate.
     
  4. cecilcruxis

    cecilcruxis

    Joined:
    Sep 17, 2013
    Posts:
    85
    Thank you for the hard work. I know the team had some rocky areas in development early on, but it was always nice to see you guys make it through all of it. The package system is nice since I no longer have to pull from github repos which wasn't too bad anyways.

    For the .NET 3.5 I think most people will be mostly happy about it honestly. The less stuff to have to keep backwards compatible with, the less bugs and easier improving stuff will be. Now to go through all the current docs to make sure I haven't missed any cool function I might of not known about.
     
    sand_lantern and recursive like this.
  5. Rene-Damm

    Rene-Damm

    Unity Technologies

    Joined:
    Sep 15, 2012
    Posts:
    419
    Thanks @cecilcruxis :)

    Unfortunately, we're still missing large chunks. Like, `InputUser` is still completely absent from the docs. Bunch things are little more than placeholders. By mid-January, we should be in good shape as far as comprehensiveness is concerned. Then we hopefully get some help to turn my programmer-geek-speak explanations into nicely flowing and helpful docs :D
     
  6. rizu

    rizu

    Joined:
    Oct 8, 2013
    Posts:
    651
    Ah true, I actually tested with 2019.1.0a12. Using .NET 4.x and Win10 Pro x64.

    I now tried the demo project again on 2018.3.0f2 and mouse did definitely work better there. Your input seems very raw for mouse tho, will there be some built-in filtering options for it? I didn't seem to see noticeable difference on the "project settings->input (new)->filter noise on current" but I don't think the noise is the main issue with raw mouse data but that data is just coming in infrequently(?) / can have low resolution depending on the mouse sensor.

    Also, are there any estimates when the mouse will work again on 2019.1? :)
     
  7. Player7

    Player7

    Joined:
    Oct 21, 2015
    Posts:
    1,192
    With good example scenes to demonstrate it all...
     
  8. N3uRo

    N3uRo

    Joined:
    Dec 10, 2011
    Posts:
    554
    I see this is still a problem. Any news?
     
  9. MrG

    MrG

    Joined:
    Oct 6, 2012
    Posts:
    251
    Does this mean Unity is finally adopting CLS Compliance?
     
  10. SkyFox_x

    SkyFox_x

    Joined:
    Jun 11, 2018
    Posts:
    3
    Hey. I apologize if there was already a similar question. How can I track any button presses on any of my devices and display exactly which button was pressed. that is, how it is implemented in games,
    To change the control scheme you can click on the desired button and it will become involved for a specific action (a simple system of binding in games). sorry for my english, it is bad.
     
  11. Rene-Damm

    Rene-Damm

    Unity Technologies

    Joined:
    Sep 15, 2012
    Posts:
    419
    This one went through a re-evaluation. After initially the decision was made to switch *all* our new APIs to the new convention, we realized that we would end up with rather inconsistent APIs in UnityEngine and UnityEditor (you'd have one property being lowerCase and another being UpperCase, for example). So the decision was made to keep everything under the UnityEngine and UnityEditor namespace under the old conventions and everything under Unity, where the "new world" APIs live, under the new conventions.

    For input, this means that the current input APIs under UnityEngine will stay on the old conventions. There will be new APIs (likely Unity.Input) that will follow the new conventions.

    I think no. We definitely want to align ourselves more with the wider .NET world and get rid of some old "Unitysms" but CLS Compliance is not the goal AFAIK. In fact, many of the new APIs are going almost the opposite way as there's quite a bit of use of C#'s unsafe subset.

    PerformInteractiveRebinding() is probably what you're looking for. I recommend taking a look at the rebinding tests. Sorry to be posting links to tests rather than docs, but in the absence of the latter, it's the best source of information ATM. Docs will follow soon.

    The rebinding apparatus still needs its kinks worked out but the basics should be there.
     
  12. recursive

    recursive

    Joined:
    Jul 12, 2012
    Posts:
    425
    Hey @Rene-Damm , after tinkering around with figuring out how to display debug info in LWRP (an adventure in itself), I was wondering if we could have visualizers for different stages of Interactions and Processors, like this article describes:
    https://www.gamasutra.com/blogs/Rya...37/Interpreting_Analog_Sticks_in_INVERSUS.php

    Obviously this wouldn't be a 1.0-release feature, but something I think would be extremely handy for debugging complex games and nailing down game feel.
     
    Ofx360 likes this.
  13. Rene-Damm

    Rene-Damm

    Unity Technologies

    Joined:
    Sep 15, 2012
    Posts:
    419
    I'd love that. Overall, I have a long list of debugging/visualization/profiling stuff that I'd like to see tackled post-1.0. I think the input debugger was a good first step in at least surfacing basic activity but there's so much that can be done beyond that.

    IMO having input in the profiler window should be the first step after 1.0-preview (we're still missing APIs to allow packages to add their own profilers to the window). I'd like to clearly see event/update activity and input lag. E.g. seeing that in frame X gamepad events on average took 0.5ms from generation to processing. Stuff like that.

    But beyond that, having visualizations like those in the article readily available would be awesome.

    Thanks for the link. Super interesting article.
     
    Ofx360 and recursive like this.
  14. Tekksin

    Tekksin

    Joined:
    Oct 20, 2013
    Posts:
    28
    Sometimes my "joystock" disconnects and is not re-read by unity. it comes up null in the console as Joystick reconnected ("").

    It's not some weird unknown controller, it's a ps4 controller. Does this input system at all address that? Currently a full restart of my computer is the only thing that fixes this so that unity recognizes it. It's very annoying, since I need a controller to test my game, and every inch of code I write.
     
  15. MakabreGaming

    MakabreGaming

    Joined:
    Mar 30, 2017
    Posts:
    22
    Is it recognized by OS? If it's not recognized by it then it shouldn't be a problem in unity itself. I am using PS4 controller but it reconnects fine for me, I have a broken power exit on controller, so it turns on and off all the time.
     
  16. dadude123

    dadude123

    Joined:
    Feb 26, 2014
    Posts:
    718
    Hi, any news on being able to set the mouse-cursor position?
     
  17. Rene-Damm

    Rene-Damm

    Unity Technologies

    Joined:
    Sep 15, 2012
    Posts:
    419
    Code (CSharp):
    1. Mouse.current.WarpCursorPosition(new Vector2(123, 234));
    Where supported (IIRC only Win, Mac, and UWP currently).
     
    dadude123 likes this.