could you guys put out a video, where you go into the details? Basically going over the manual's overview. There are so many confusing things. For example, what's the difference between callbacks Started, Performed and Canceled. And what is the callback Triggered doing differently than these? Or what the "Player Input" script does and how you can write your own class, which handles Event subscription, if you want more control. Or how to poll input correctly and smoothdamp the movement vector correctly (this has been done by the old Input System automatically). I'm appreciating this video, but it leaves so many questions in the open, if you REALLY wanna start implementing the new input system into your project. Yes, there are other UA-camrs trying to explain it, but they are all doing it their own way, which they guess is right. I wanna get the correct way from the experts who built this system ;)
Congrats on the work made with the new System! The old one was a pain in the ass and so far this new one is saving me from buying Rewired :D Edit: I wonder if those glasses are heavy
Will there be support for key combos? And not only single keys? I would love to have combinations of keys to do specific actions. (Meanwhile I wrote my own solution, but I think it would be cool to have it out of the box.)
This is awesome! I'm liking the abstract nature of this. I was able to switch from the old input manager to this new Input System with relative ease. Glad they were finally able to release it in a polished state. Looking forward to future updates! Thank you Unity!
When do the user functions (OnMovement() and OnAttack()) get called? Are they based on frame rate such as Update(), or are they frame independent as FixedUpdate()?
I feel like an idiot right now. There was a unity video on input like 2 weeks ago still available. 10 Minutes, very precise. I can´t find it. This one is way to long and unspecific. Where is the other vid gone?
ua-cam.com/video/Gz0YcjXBJ3U/v-deo.html It's unlisted, so make a backup if you can, since they might take it down in the future. Then again, if they did take it down, then they probable have something better in place. In all fairness, though, the older video, too, had its share of problems, as evident in the comments and if you watched the video. The gem that I got out of this video, and the older one, is that to handle long key presses, as in keep moving forward as long as the 'w' key id depressed, is to set a value - direction in this case - based on the returned action value in the callback. Then use `FixedUpdate` or `Update` to continuously apply an effect - motion in this case. The callback would be called in both cases of the key being pressed and released. Instead of checking for state and setting a `bool` flag, just use the passed value, which should reflect the state of the key - if value is not zero, then probably the action is triggered and should be applied, otherwise the key is released. We were struggling to find out how to get continuous values from key presses and the Unity team - Rene - implemented a `continuous` flag that was later removed due to extra complexity and ambiguity. This system, although not as intuitive as you would imagine an event system would be implemented, is still easy to grasp and a welcomed compromise between a full event-driven system, and a value-polling system. The new input system is still a WIP. Hopefully it matures to be fool-proof soon. Much appreciation to the Unity team for all their efforts.
Not necessarily, it's mainly to improve Unity's default input system since the current system is lacking in many aspects as they said at the beginning of the video
At timestamp 52:05 , someone asked the input system performance of Send Messages, Unity Events etc. At the end they say in production stay entirely on Manager side fro better performance. Can somebody please explain what he meant by input "Manager side" ?
@@renedamm5630 Would this still apply to using UnityEvents for tracking input from gamepad analog sticks? That is, will there be a crazy number of UnityEvents triggered as the stick is moved, or is there a reasonable limit to the number of UnityEvents, like one per frame?
Hello.. newly I moved to use New Input System. (ON THE ANDROID PLATFORM) I use touch screen for rotation and I use an UI for movement but when I touch UI for movement, rotation happened too.. I don't want to rotate by a button . I want rotate by touch screen please help.thank you
I've been using this since its launch and in my experience, Send Messages has never worked. I've been assigning callbacks manually with unity events. But this video might be helpful to many people, so thanks for making it. Perhaps add timestamps so people can find information faster?
@@nqobastevennovukuza9775 That's possible. I'm using the exact same naming rule as is stated in the component itself but the function never gets called for some reason. Spent quite some time trying to debug it.
Hey there! I'm currently making a click-to-move mechanic using the New Input System. Is it possible to get the Vector2 mouse pointer position ONLY when I click the left mouse button without having to call Mouse.current.position in my code? The ButtonControl returns a float. How do I make it return the Vector2 mouse position instead?
Ack, I didn't know there was a PlayerInput Component. I was following a previous Unity tutorial that just set that up in code. If only this posted a few days earlier (where's my Delorain?)... ;p
That's how I interpreted the video. It seems that the action maps and schemes are just data components that throw up flags for systems to catch. At the very least, it surely must work with hybrid ECS since that approach utilizes the best of both worlds.
Dedicated ECS/DOTS support is going to be worked on soon. For now, it can be used in ComponentSystem Update methods like other main-thread-constrained APIs.
Hi Andy, The Editor did not accept my request to furnish your scene automatically with an XR Rig, citing "Main Camera is not in the root of the hierarchy." So, I went ahead and added the Rig and VR camera manually. Everything works fine. But should I be concerned that now there are sort of 2 cameras doing the main rendering? I can't delete your legacy camera because then the game would not respond to inputs. Thanks!
Looks great, still have reserve about the UX in the editor: if I have an azerty layout keyboard and assign "zqsd" for movement, to which characters/keys those will be assigned in the editor? What about in game?
OK for those wondering, I opened the project and launched the scene and could use my zqsd keys to move the warrior... while it has the wasd keys in the editor. So a dev HAS to use an american qwerty keyboard to do things correctly. This could be automated so that the correct key labels are displayed depending on the current layout? (either automatically or by selecting it) Also what about on runtime, what if I display the key on screen, which one will be shown? If it's the US qwerty one, that's a bummer. :(
@@ZoidbergForPresident There is an option to show and use keys either by place in the keyboard or by character. I'm pretty sure you can bind keys by character, it's on the list of bindings in the map editor. I don't remember how, but i'm pretty sure there was a way to get keys by the character they represent, in order to show them in the UI. It was there on the docs or an example.
For some reason, when i switch this project from send messages to invoke unity events, make the functions public and change the parameter to InputAction.CallbackContext and so on... none of the functions work. And if I create a new project just to test the unity events with the input system, it works. Why doesn't it work if I do it in the warrior project?
What brand of spectacles is @WillGoldstone wearing? Been looking for a similar type of pair for a while now. If anyone at unity reads this, be sure to ask Will and report back to me. Peace and love.
i dont get the new input system the apis confusing the documention isnt any help some of the stuff dosent work like playerinput i wanated to find out when the device changes but i couldn't get it to work with the messages in game input it jankie feeling or dosent work some of the time and some of the namespaces are arnt available in script but are in the docs the way you integrate it in to the game is weirds theres alot you need to remember
@@renedamm5630 Is there any official tutorial/documentation link on creating support for custom input devices you recommend? I started working with arduinos and I want to use buttons I create there to provide input to Unity (either via wired or bluetooth connection) using custom support with the new input system. Thank you
Imagine spending 1 year on it with dedicated team and access to Unity source and resources and you still end up with a worse version of Rewired. Tim Sweeny laughing in his casket
It is because these kids they hire and assign them on such tasks, do not trully understand what they are working on, who is going to use it, etc. They do not understand the heart and matter or user interaction and how it affects the experience of the player. They just make a tool with no bugs (ha ha figure of speech :P) and somehow efficient code. Passes QA; collect the salary, all good.
i switched from ue4 to unity, because ue4's input system is complete garbage. especially when it comes to widgets. the bugs i reported nearly 3 years ago, havent been fixed to this day. ¯\_(ツ)_/¯
I really loved the video, good job. But I would also like to say to the guy on the left that those glasses are oversized. Look like Lab equipment. Please get rid of those, unless you really really love em.
Space bar is jump for 90% of games. People who do not understand and have not internalized global control scheme standards should not be defining new input systems...
I'm glad to see that this got as far as it has... It was touch and go there; I remember when it was practically on life support.
could you guys put out a video, where you go into the details? Basically going over the manual's overview. There are so many confusing things. For example, what's the difference between callbacks Started, Performed and Canceled. And what is the callback Triggered doing differently than these? Or what the "Player Input" script does and how you can write your own class, which handles Event subscription, if you want more control. Or how to poll input correctly and smoothdamp the movement vector correctly (this has been done by the old Input System automatically). I'm appreciating this video, but it leaves so many questions in the open, if you REALLY wanna start implementing the new input system into your project. Yes, there are other UA-camrs trying to explain it, but they are all doing it their own way, which they guess is right. I wanna get the correct way from the experts who built this system ;)
Congrats on the work made with the new System! The old one was a pain in the ass and so far this new one is saving me from buying Rewired :D
Edit: I wonder if those glasses are heavy
Will there be support for key combos? And not only single keys? I would love to have combinations of keys to do specific actions. (Meanwhile I wrote my own solution, but I think it would be cool to have it out of the box.)
they said in the end, not currently suport, but they will get to next
The input system is made by .... Mr. Touch? I love it.
No, Mr. Touch builds demo projects.
Mr Touch has only given his touch for the demo files.
The actual System is made by the really damn good Rene Damm.
This is awesome! I'm liking the abstract nature of this. I was able to switch from the old input manager to this new Input System with relative ease. Glad they were finally able to release it in a polished state. Looking forward to future updates! Thank you Unity!
When do the user functions (OnMovement() and OnAttack()) get called? Are they based on frame rate such as Update(), or are they frame independent as FixedUpdate()?
From my own testing they are based on when the event for that action itself is called, it's not tied to any Update loop
Been working with the new input for a while now. It is very nice to work with.
Looking forward to the tools to handle mutual exclusive controls.
I feel like an idiot right now. There was a unity video on input like 2 weeks ago still available. 10 Minutes, very precise. I can´t find it. This one is way to long and unspecific. Where is the other vid gone?
ua-cam.com/video/Gz0YcjXBJ3U/v-deo.html
It's unlisted, so make a backup if you can, since they might take it down in the future. Then again, if they did take it down, then they probable have something better in place.
In all fairness, though, the older video, too, had its share of problems, as evident in the comments and if you watched the video.
The gem that I got out of this video, and the older one, is that to handle long key presses, as in keep moving forward as long as the 'w' key id depressed, is to set a value - direction in this case - based on the returned action value in the callback. Then use `FixedUpdate` or `Update` to continuously apply an effect - motion in this case. The callback would be called in both cases of the key being pressed and released. Instead of checking for state and setting a `bool` flag, just use the passed value, which should reflect the state of the key - if value is not zero, then probably the action is triggered and should be applied, otherwise the key is released.
We were struggling to find out how to get continuous values from key presses and the Unity team - Rene - implemented a `continuous` flag that was later removed due to extra complexity and ambiguity. This system, although not as intuitive as you would imagine an event system would be implemented, is still easy to grasp and a welcomed compromise between a full event-driven system, and a value-polling system.
The new input system is still a WIP. Hopefully it matures to be fool-proof soon. Much appreciation to the Unity team for all their efforts.
Really good feature, Unity is surpassing itself day by day.
Q: Is the new input system supposed to replace pro solutions like ReWired or InControl?
Not necessarily, it's mainly to improve Unity's default input system since the current system is lacking in many aspects as they said at the beginning of the video
What are you missing? It will completely replace Rewired for us in the coming months
Very useful and clear presentation. Thanks.
At timestamp 52:05 , someone asked the input system performance of Send Messages, Unity Events etc. At the end they say in production stay entirely on Manager side fro better performance.
Can somebody please explain what he meant by input "Manager side" ?
@@renedamm5630 Thanks Rene!
@@renedamm5630 Would this still apply to using UnityEvents for tracking input from gamepad analog sticks? That is, will there be a crazy number of UnityEvents triggered as the stick is moved, or is there a reasonable limit to the number of UnityEvents, like one per frame?
Hello.. newly I moved to use New Input System. (ON THE ANDROID PLATFORM) I use touch screen for rotation and I use an UI for movement but when I touch UI for movement, rotation happened too..
I don't want to rotate by a button . I want rotate by touch screen
please help.thank you
Thanks now i can play my game with my family members.
I've been using this since its launch and in my experience, Send Messages has never worked. I've been assigning callbacks manually with unity events.
But this video might be helpful to many people, so thanks for making it. Perhaps add timestamps so people can find information faster?
Mortified Potato, there should be something wrong your doing because “SendMessage” works perfectly.
@@nqobastevennovukuza9775 That's possible. I'm using the exact same naming rule as is stated in the component itself but the function never gets called for some reason. Spent quite some time trying to debug it.
amazing. Amazing! I'm always was wondering how games switch inputs and bindings on the fly without restarting an actual game or loading the scene
Does this have support for double taps and measuring hold duration?
Yes :)
50:49
Hey there! I'm currently making a click-to-move mechanic using the New Input System. Is it possible to get the Vector2 mouse pointer position ONLY when I click the left mouse button without having to call Mouse.current.position in my code? The ButtonControl returns a float. How do I make it return the Vector2 mouse position instead?
Ack, I didn't know there was a PlayerInput Component. I was following a previous Unity tutorial that just set that up in code. If only this posted a few days earlier (where's my Delorain?)... ;p
What's a Delorain? Ohhhh....DeLorean.....
would do a tutorials for touch movement
I wish we could have this video in full screen-size (read: without the static Unite Now frame around it)
Will there be support for rebinding inputs during playmode via code?
Great video, very instructive! :)
Can we use this new input system with Unity ECS? Do you have some example project using it? Thanks
That's how I interpreted the video. It seems that the action maps and schemes are just data components that throw up flags for systems to catch. At the very least, it surely must work with hybrid ECS since that approach utilizes the best of both worlds.
Dedicated ECS/DOTS support is going to be worked on soon. For now, it can be used in ComponentSystem Update methods like other main-thread-constrained APIs.
48:58
Hi Andy, The Editor did not accept my request to furnish your scene automatically with an XR Rig, citing "Main Camera is not in the root of the hierarchy." So, I went ahead and added the Rig and VR camera manually. Everything works fine. But should I be concerned that now there are sort of 2 cameras doing the main rendering? I can't delete your legacy camera because then the game would not respond to inputs. Thanks!
When I turn on the UI joystick and play, it keeps flickering between keyboard and the gamestick.
Looks great, still have reserve about the UX in the editor: if I have an azerty layout keyboard and assign "zqsd" for movement, to which characters/keys those will be assigned in the editor? What about in game?
OK for those wondering, I opened the project and launched the scene and could use my zqsd keys to move the warrior... while it has the wasd keys in the editor.
So a dev HAS to use an american qwerty keyboard to do things correctly.
This could be automated so that the correct key labels are displayed depending on the current layout? (either automatically or by selecting it)
Also what about on runtime, what if I display the key on screen, which one will be shown? If it's the US qwerty one, that's a bummer. :(
@@ZoidbergForPresident There is an option to show and use keys either by place in the keyboard or by character. I'm pretty sure you can bind keys by character, it's on the list of bindings in the map editor. I don't remember how, but i'm pretty sure there was a way to get keys by the character they represent, in order to show them in the UI. It was there on the docs or an example.
I used the code the for the new I put system but I’m getting an error saying that it can’t find the type or namespace of InputValue
For some reason, when i switch this project from send messages to invoke unity events, make the functions public and change the parameter to InputAction.CallbackContext and so on... none of the functions work. And if I create a new project just to test the unity events with the input system, it works. Why doesn't it work if I do it in the warrior project?
So the best version to use this is in 2019.7 or should I wait till 2020?
Liked but I hoped for more on the management of touch interfaces with examples on tap, double tap, drag and so on.
What brand of spectacles is @WillGoldstone wearing? Been looking for a similar type of pair for a while now. If anyone at unity reads this, be sure to ask Will and report back to me. Peace and love.
I cant really use Biding for Left stick and I have no idea why
i dont get the new input system
the apis confusing the documention
isnt any help some of the stuff dosent work like playerinput i wanated to find out when the device changes but i couldn't get it to work with the messages
in game input it jankie feeling or dosent work some of the time
and some of the namespaces are arnt available in script but are in the docs
the way you integrate it in to the game is weirds theres alot you need to remember
Will there be support for steering wheels and pedals?
@@renedamm5630 Is there any official tutorial/documentation link on creating support for custom input devices you recommend? I started working with arduinos and I want to use buttons I create there to provide input to Unity (either via wired or bluetooth connection) using custom support with the new input system.
Thank you
Please put the dark look option on the free versions
Imagine spending 1 year on it with dedicated team and access to Unity source and resources and you still end up with a worse version of Rewired.
Tim Sweeny laughing in his casket
It is because these kids they hire and assign them on such tasks, do not trully understand what they are working on, who is going to use it, etc. They do not understand the heart and matter or user interaction and how it affects the experience of the player. They just make a tool with no bugs (ha ha figure of speech :P) and somehow efficient code. Passes QA; collect the salary, all good.
i switched from ue4 to unity, because ue4's input system is complete garbage. especially when it comes to widgets. the bugs i reported nearly 3 years ago, havent been fixed to this day. ¯\_(ツ)_/¯
atleast you dont need to pay for something that you shouldnt pay for
and im 99% sure that people that made Rewired made it in 1/2+ years
Great video, very interesting thank you :)
Outdated already.... Update this. New input system is rly pain to learn.....
Aldready started using the new system
So long ago
Resume @11:20
Cool! 👍🤓🧡
Why. Why do they have to update the way you reference the thing in such a way that you'll never be able to figure it out.
Awesome!
very nice by Unity3dTeacher
Yes Andy, we're with you.. our boss can sometimes be a dick
We need tutorial for android for new input system
Awesome
Let’s go
Ough! Andy Touch)) Where is the magic cat !??
WoW
I really loved the video, good job.
But I would also like to say to the guy on the left that those glasses are oversized. Look like Lab equipment. Please get rid of those, unless you really really love em.
Those glasses though...
Unity now logo takes up to much space
noice
That's definitely not two meters apart 😂
my dude use blackberry in 2020
comment
Comment
1st
Space bar is jump for 90% of games. People who do not understand and have not internalized global control scheme standards should not be defining new input systems...
That's a matter of opinion. There's just as many games that don't even have a jump... They're doing quite well impo
@@phantomdragonstudio252 No. It is not a matter of opinion; it is a matter of fact.
First
Ok boomer