Search Unity

This is starting to get ridiculous

Discussion in 'Input System' started by Hertzole, Nov 25, 2017.

  1. Hertzole

    Hertzole

    Joined:
    Jul 27, 2013
    Posts:
    422
    Hi all

    First, I really don't want to make this post but at the same time, I really want to.

    As the title says, this is getting ridiculous. The time everyone has waited for a new and improved input system is getting ridiculous. The silence from Unity regarding this issue is ridiculous. It's no secret that the old Input Manager is horribly outdated. It gets the job done for very basic stuff, and that could be okay for small web games and games from around 2008, but as soon as you want to do something slightly more advanced with input, like rebindable controls, gamepads, or co-op controls, it starts to become a real headache. Depending on the stability you want from an input system that has some more advanced features, it could take a lot of time and effort just to make that part of your game.

    Now, back in April of 2016, it seemed like Unity would finally address this issue and the Input Prototype that was released was great! It was a leap in the right direction! (And I would definitely like to see something similar to the new system when that eventually arrives) But then came the announcement that a new team will be made to take care of this and the good prototype was no more, for now.

    Now, this is probably all old news to you and here starts my own ranting.

    Unity, as a company and developers, really seem to not care enough about a trivial feature such as this. They keep on pushing all this VR and AR stuff. Stuff that doesn't require much input, except for some on-screen buttons. Same with mobile. But believe it or not, some people actually still want to make desktop/console games and have the standard input features that gamers expect in the year 2017 and the developers want to have the ability to support that in a modern game engine, without having to basically make their own entire input system. And when they finally start moving in the right direction, they shut it down without much explanation. Unity should explain why they did it and tell us that they have something planned at least. Just not shut it down and then not say anything more about it.

    Now, to make things clear, I appreciate everything the current/old(?) input team did with the prototype. It was a real shame that it was shut down. I just wish Unity could either give you guys or us, the users, some info what so ever on how they are going to address this issue. A better input system that doesn't require tons of manual work by the game developers is long overdue.

    Rant over. This rant was basically born out of having to make local multiplayer controls and the headache that resulted from that.

    I'm also pretty sure I'm not the only one that has this frustration with this.

    Also, could someone enligthen us with what this is? It was updated quite recently (as of writing this) and has the name "input-prototype", which makes me excited.
    https://github.com/Unity-Technologies/input-prototype/tree/refactor/2017.2
    Is this something that will be fully replaced or is this THE NEW input system being worked on? And can it be used in games already?
     
  2. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Hi, the new input system has been put on hold pending some design. (edited for clarity)

    Meanwhile, Rewired is a great asset, use it myself. Highly recommended. I know it's not built in but that's tough luck for us both. Rewired does all what you want and more. Again, not taking anything away from your complaint but there is action that can be taken, at least.
     
    Last edited: Dec 9, 2017
  3. Hertzole

    Hertzole

    Joined:
    Jul 27, 2013
    Posts:
    422
    I've heard it's pretty great and I've been eyeballing it for quite a while, but I just can't get myself to buy it (which is probably a dumb thing on my part). I don't know if it's the price of the hope that Unity will release a new input system some day.

    But the issue still is that Unity STILL doesn't have an input system that supports the standard expected these days.
     
  4. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Yeah they know it, believe me. But we can't sit around waiting for them. Up and onward!
     
  5. longroadhwy

    longroadhwy

    Joined:
    May 4, 2014
    Posts:
    1,551
    Rewired has a free trial version so at least you can test it out before spending any money. So at least you know what you are getting. Definitely the best Input asset on the asset store.
     
    Last edited: Nov 27, 2017
    guavaman likes this.
  6. greg-harding

    greg-harding

    Joined:
    Apr 11, 2013
    Posts:
    524
    I have not used Rewired but I do use InControl and it is great (for us). We wrote our own rumble mixer and we only require input from a single player, but handling game controller and keyboard input and binding them to actions is pretty easy. It works on desktop, mobile, and console, so we can largely ignore the plumbing and just get on with our stuff. I assume Rewired is just as easy to use from what I've read, so perhaps just pick one and save some headaches until Unity sort themselves out.
     
    sand_lantern likes this.
  7. Steve-Tack

    Steve-Tack

    Joined:
    Mar 12, 2013
    Posts:
    1,240
    Rewired fixes Unity's input issue and then some. I know it sucks to have to pay for an add-on, but I doubt that even Unity will have anything that matches its features any time soon. It also doesn't hurt that it's one of the best supported and stable assets I've encountered.
     
    MMOARgames and guavaman like this.
  8. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    In the spirit of fairness I want to mention I've used InControl as well with similar praise to rewired.
     
  9. Xarbrough

    Xarbrough

    Joined:
    Dec 11, 2014
    Posts:
    1,188
    That's sad news. I too thought the new input prototype was great. I liked the data-driven approach and everything about it, even though I own and use Rewired. Would have been a nice thing to have in Unity. I'd gladly trade in a couple of those small features like 2D tilemap. :p
     
  10. WhendricSo

    WhendricSo

    Joined:
    Jan 1, 2011
    Posts:
    171
    We should not have to spend money on something as basic as input. I love Unity but this is infuriating.
     
  11. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    You don't have to. You can use Incontrol from github. You can roll your own. Input isn't "broken", it's just a little creaky and old.

    And they are trying I guess, just hoping nobody needs to register a domain like www.isthenewinputhereyet.com ...
     
    NeatWolf and dadude123 like this.
  12. LaneFox

    LaneFox

    Joined:
    Jun 29, 2011
    Posts:
    7,500
    Input works. You can use it in production.

    If you don't like it then - as mentioned already - you can roll your own to suit your needs or buy an advanced system that supports more modern features.
     
    dadude123 likes this.
  13. ceebeee

    ceebeee

    Joined:
    Mar 7, 2017
    Posts:
    395
    That's a really asinine reply. That's like telling someone who bought a laptop and got a typewriter instead, that a typewriter works and if they don't like using a typewriter, they should go build a laptop.

    Unity should fix their feature, not us. Period. End of story.
     
  14. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    The feature is not broken though. It's perfectly functional.
     
    dadude123 likes this.
  15. LaneFox

    LaneFox

    Joined:
    Jun 29, 2011
    Posts:
    7,500
    Sounds familiar.

    "Game is fun, had a great time. One star because no multiplayer"

    "Input module works fine, gets used in production. One star because no rebinding."
     
  16. dadude123

    dadude123

    Joined:
    Feb 26, 2014
    Posts:
    789
    The new input system is probably just a collection of things that simplify stuff.
    The normal Input.GetKey will almost definitely still be there.

    Nah man, thats not how it is at all.
    They wanted to make some improvements to a system that works to make it easier to use (and quicker to prototype stuff with).

    And somehow that just didn't work out for whatever reason.

    Can you even list what exactly you expect from the new input system?
    Do you have any specific problems that this new system would supposedly solve?

    Just calm down a bit and think about this again. The situation is not as dire as you make it out to be.
     
    hippocoder likes this.
  17. BlackPete

    BlackPete

    Joined:
    Nov 16, 2016
    Posts:
    970
    ceebeee likes this.
  18. GennadiyKorol

    GennadiyKorol

    Joined:
    Jul 10, 2010
    Posts:
    107
    Is the new input system really cancelled? I can still see it on the Unity roadmap.

    One thing beyond just rebindings would be to be able to figure out input sampling that is more "subdivided" within a frame. Ideally I want to sample the latest state of the input right before there's code that needs it. Sure you have to handle dependencies that come with that but at least let me have that choice.
    That way if the game is vsynced and the input is registered 1ms after the frame start but 5ms before the input using code runs I am not going to get another 17ms of extra latency.

    This is even more important for 30fps games. I am pretty sure Nintedo do this with Zelda and sample input multiple times within a frame since the input there is really responsive for a 30fps vsynced game.
     
  19. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Cancelled wasn't an accurate choice of words apparently. Unity has decided to delete their comment due to it most likely being a mix up but the last relevant information I can share was:

    Sorry I don't have more. A staff member will be along at some point but it's best to go with the general sentiment of using an off the shelf manager if you don't fancy coding it.
     
  20. BlackPete

    BlackPete

    Joined:
    Nov 16, 2016
    Posts:
    970
    That post is still there in the first post of the stickied thread:



    I agree that saying it's been cancelled is probably incorrect. It seems more likely it's been put on hold while they try to figure out what their next move is. I'm guessing that's why it's been deemed "At Risk" on the roadmap.
     
  21. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Yeah it's late here just trying to dig for info myself. I'll just an input manager for now I think. Plenty of bigger fish to fry. And lets face it, Unity is cheap for the tech we get so an outlay on an input manager isn't going to make the sky fall.
     
    Xarbrough likes this.
  22. GennadiyKorol

    GennadiyKorol

    Joined:
    Jul 10, 2010
    Posts:
    107
    How would you do the input "super sampling" within a frame to reduce latency with current Unity input?
     
  23. dadude123

    dadude123

    Joined:
    Feb 26, 2014
    Posts:
    789
    I somehow doubt the new input system would allow super sampling.

    Just as it won't give us a method to set the cursor position or do a custom confine logic.

    Those are things that need to be fixed at a lower level. The input system only builds on top if the low level API.
     
    ThaiCat likes this.
  24. Natrem

    Natrem

    Joined:
    Feb 24, 2015
    Posts:
    31
    Does anybody know if the new input system will handle gamepad rumble? I didn't find any information on that.
     
  25. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    I can't quite remember Unity's dev notes on input but AFAIK it happens either really early or really late, and the engine pipeline is quite long. It probably won't give different results until the next frame, but you can test it.
     
  26. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Nope, no information.
     
  27. GennadiyKorol

    GennadiyKorol

    Joined:
    Jul 10, 2010
    Posts:
    107

    Isn't it event based? That should mean that you should be able to read the most up to date state of the input anywhere in the frame, instead of being limited to the state sampled at the start.

    That being said there's Custom Player Loop talk - maybe we can add input sampling calls in there?
     
  28. WhendricSo

    WhendricSo

    Joined:
    Jan 1, 2011
    Posts:
    171
    I hope it's not based on UnityEvents, those things are a cluster-truck. All I want to do is set a bool but I get a list of 30-40 options, most of which don't actually work.

    It was so bad that I wrote my own, clean event system called ManagedMessages:
     
  29. ceebeee

    ceebeee

    Joined:
    Mar 7, 2017
    Posts:
    395
    It needs to redone from the ground up. You need to be able to group control sets (or input sources if you like), and enable/disable those sources programmatically. So your code just looks for "Fire" and what triggers that is completely dependent on what control set is currently enabled.

    This is exactly what Rewired and other middleware solutions do, and the point is, They shouldn't exist! It should be built into the engine.
     
  30. dadude123

    dadude123

    Joined:
    Feb 26, 2014
    Posts:
    789
    Cool, so just so you don't misunderstand me: I actually completely agree!

    But the point I was making in my previous post is that this delay/cancellation of the system is not a huge problem.
    Sure its a bad situation, sure they should have a good input system like that already.
    But the lowlevel api is still there.

    And here's how I personally see this:
    - if you make a "small" game then you probably don't want to do everything by yourself (like input) and you'd like a built in system; but buying one isn't really that bad either. Even if you're making a small game, the costs for everything else will be significantly larger than the money for some asset (rewired or whatever).

    - If you make a "bigger" game (like I do) then having some prototyping stuff available is nice, but that's about it. Unless their new system is really super awesome and supports ALL the scenarios we need them for (because if there's just one single problem and the thing either can't be changed bc no source code; or the system is just badly designed; then we will have to make our own input system anyway!)

    Unity is great for prototyping, but that's about it.
    In its basic form it is not for making a large, full featured game, no matter what people tell you.
    You want to make a huge awesome game? Then use Unity for what it was intended for: As a stepping stone, to prototype extremely fast, see what works, ...

    In my case there are lots of things Unity comes with that we can (and will) use in the final game; but there are also other core features that we simply have to reinvent. Networking, input, some post processing things, ...
     
  31. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Yes, Unity knows that. Trouble is, Unity is at the moment still staffed by pesky humans so it isn't there yet.
     
    Rene-Damm likes this.
  32. tripodsgames

    tripodsgames

    Joined:
    Mar 19, 2016
    Posts:
    4
    Thanks for the idea...
    www.isthenewinputhereyet.com
     
    5argon, NeatWolf, Hertzole and 2 others like this.
  33. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
  34. Kiupe

    Kiupe

    Joined:
    Feb 1, 2013
    Posts:
    528
    your fault ;-)
     
    hippocoder likes this.
  35. ceebeee

    ceebeee

    Joined:
    Mar 7, 2017
    Posts:
    395
    landon912 likes this.
  36. Akamis

    Akamis

    Joined:
    Nov 26, 2017
    Posts:
    7
    Still waiting for it :'(
     
  37. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
  38. recursive

    recursive

    Joined:
    Jul 12, 2012
    Posts:
    669
  39. Rene-Damm

    Rene-Damm

    Joined:
    Sep 15, 2012
    Posts:
    1,779
    Valid point, though :) Been some time in the making. Sorry @Akamis that we're making you wait.
     
  40. FROS7

    FROS7

    Joined:
    Apr 8, 2015
    Posts:
    26
    TBH, I prefer by a MASSIVE margin waiting longer for a better and more thought out project than a quick one that missed things it shouldn't have.
     
    dzamani and Ryiah like this.
  41. MCrafterzz

    MCrafterzz

    Joined:
    Jun 3, 2017
    Posts:
    354
    Any time estimate or should we expect it to take another year or two? Is someone currently working on it?
     
  42. BlackPete

    BlackPete

    Joined:
    Nov 16, 2016
    Posts:
    970
    Ryiah likes this.