This is pretty weird, but for those who use Unity Remote to test things out for your mobile app, please keep in mind that the New Input System is not supported in Remote yet (it's been 3 years already :/ ). To test your controls. you will need to actually build the app. I found this after 3 hours "fixing" my game...
Really digging all the Input System videos that you have made! This one I thought had a lot of information that is easy to digest! I sent it to my designers so they can watch it and get a feel for the tool! It's always exciting to see how Unity evolves!!!
Heads up: if you are like me, in the input debugger, you may need to right click on "Mouse" in the devices list and click "Enable Device" before the simulated touchscreen will return any values for clicks etc..
I've really been thinking about starting a simple mobile game after this current project and I use the new input system religiously at this point so very informative! I remember using the old system to try and set up a simple movement system based on starting touch. It wasn't fun from what I can remember (several years ago).
As a value action type, TouchPosition would change whenever the position value changes. This is consistent with other value action types. That could mean you're sliding your finger and it's triggering every frame (by default, input is collected on Update). TouchPress on the other hand will require a physical press, but will not pass through the position data by itself. That's my take.
Hi Sam, how can I set up the functionality to use two fingers to rotate a 3D object? I'd like to achieve a result similar to what's commonly done in 3D viewers: using one finger to move the object, pinch-to-zoom with two fingers, and rotating the object by moving two fingers in a circular motion. Could you give me some guidance on how to set up the parameters in the Input Action Editor ? Thanks! 🤟
Thanks, but i want onscreen buttons touch input instead of finding the touch position. Eg. i want to assign "A" key into a touch buttton, I know this can be achieved with a script comes with new input system. but if i touch a button and slide my finger outside the button area, the touch input still keeps on pressing the button. So how to implement the "on pointer down/up/enter/exit" with new input system..., Thanks
Hi Samyam Thanks For Your Great Video I Have One Question , I have Some Object Like `House , Car , Tower etc` How To Detect That User Touch It Or Not , Before I Used `Raycast` And `Update Method` To Detected , Any Chance To Detected With ThisNEW Input System ??????
Good Work SamYam. I have a question. Is this new input system with Touch compatible with Unity Remote 5 ? I tested but it did not read the touch position. Maybe i made someting wrong. You know it eases the worload without building the project for mobile.
I’ve been after a invisible touch screen joystick tutorial, the one you get on most modern portrait mobile games for player movement. I imagine having an on screen analog/joystick that stretches to the whole canvas size would do the job. - I’m still not sure how to do this as I tried for countless hours and decided to compromise to a different movement system. Can’t find a tutorial anywhere. Can you be the first one to make it 😅 would really appreciate it. Btw great video Thanks a thousand.
Thank you so much for doing these videos. The unity documentation, in my opinion, is trash. It's so hard to find the information that I need, but your videos explain how to use it so well, I don't have to go digging.
not gonna lie, when I compare setting up touch controllers with the New input system, vs adding a collider, event trigger component or Button component, is x1000 easier using the event or button component for touch buttons. I am looking forward to use the new input system only because with events I cannot manage to detect more than one finger input at the same time. but I cannot believe how complicated it is.
Thanks Sam! amazing video. I have a question. Why i can not move the object smoothly where my finger is pressing, i mean while my fingen is on press. Because looks like the object is teleporting to the position where my finger is. i would like to move an object but in a smoothly way. Thanks again i am so glad you are doing this videos.!!
how i can limit the Right stick input on an image but not with the OnScreen Stick, like looking on mobile devices happen i have seen it in Third person controller made by unity but it is done by right stick i hope it is understandable
I don't think I understand this enough. I am trying to listen whenever the touch phase is changed and then get the phase to only do something on Moved. I selected Touch as the control type and path to primary touch. It seems to only run when the phase is changed, but I can't seem to return the touch so I can check the phase. I might just end up using the enhanced touch, but I don't think I need the finger returned and I think it's worse for performance? Idk I could really use a little more clarity and documents aren't working for me. Please help.
What is the best approach to call a function in another class for the action callback? For example: If I need to define "TouchPressed" in another class, is it better to make it static Class2.TouchPressed?
I keep getting the same position coordinates when I click on the screen. (0.0, 1.00, -10.00). Doesn't matter where I click on the screen it returns this value and the circle just jumps to (0.0, 1.0, 0.0). no interaction. I have gone through the video three times and still get the same results. HELP!
On the first TouchPressed() the touchPositionAction is always (0.00, 0.00), I guess since it's the first touch it "hasn't moved yet". Is there a way to get the position of the very first TouchPress?.
I had a very similar problem. On the first click, the circle would move to 0, 0. Then on every subsequent click, it would move to the position of the PREVIOUS click (so it would lag behind by one click). I couldn't figure out why until I went back into the Input Actions and saw that the path for "TouchPosition" was set to Touch #0 > Position instead of simply Position. Fixed that, and now it works as it should. :)
so how would I have it where falling objects from the top of the screen get destroyed every time you touch them? new to unity and touch and this is confusing to me.
Hey, @Samyam. In the Awake() method @ 15:22 (playerInput = GetComponent(); ), I am getting an error : UNT0014: ‘PlayerInput’ is not a Unity Component. What could be the issue?
After this Video im just totaly confused how to setup a simple Touchinput to jump in my game xD Well maybe i will try it someday but this system is pretty confusing because this context stuff makes absolutly no sense in my brain 🤷♂ Im coming from Unreal and started to love Unity for its simplicity but that InputSystem is rly uncomfortable to work with holy cow 😢
Hey does anyone experience any "lag" on the touch position when playing on mobile? So in a test scene of mine (just a simple square sprite) I have an easy implementation with a dragging functionality that uses the Input system and works fine when tested in the unity editor. When building and playing it on my phone/tablet it still works but I can see a little to medium lag in the dragging. So the Square is always trying to catch up with the touch position by a delay of maybe 0.2-0.5 seconds (so its not a lot, but you really feel it). I think there is no problem with my code or my input asset configuration as its very simple and I checked it many times... Is there maybe some setting in the build settings that should be adjusted or something to consider when implementing on mobile in general? Thanks in advance and thanks for the nice vid :) p.s. is your video on drag and drop still up to date? cheers
Should be up to date! Are there any errors in the scene? We also have a Discord in our description where you can join and ask in the help channel to add more details and images
@@samyam OK great then I will check your drag video again! And no there are no errors or warnings. Everything seems to work fine. It just seems that the rate at which the input-data gets processed on my mobile devices is too slow. Will head to the Discord :)
does anyone else encountered an issue where the first touch position is always the left bottom corner of the game tab? no matter what. This seems like a bug in the new input system
Make sure your TouchPosition input action has a proper binding. I was having this issue before realizing it was because I didn't set the binding to be "position".
Can someone tell me what I have to do to get the IDE to recognize things like "Getcomponent" to light up in color. How I tell the IDE to know what I mean? The color remains basic white with no change on certain texts. Do I need to do a PIP install for something? Same thing with PlayerInput isn't orange; it is just white like the IDE doesn't understand what I enter. I feel like my IDE is missing definitions or.....something. I don't know. I am rather new to all this & don't have any tech friends to ask about this.
Try asking on our discord, i don’t use MS visual studio, maybe this can help th-cam.com/video/kfuBAhIGzrY/w-d-xo.html it’s called “intellisense” the thing that recognizes the code and highlights it
@@samyam Ok thank you. More help than I've ever gotten from any Udemy instructor lol. Btw when I clicked your discord link in the bio of the video it said the invite has expired. Might just be an issue on my end. Thank you for taking the time to respond before; I greatly appreciated it.
This is great but it’s sad Unity’s new system is so convoluted people need to come here to look for how to use it. They really need a lesson in input handling from Godot.
touch is always in 2d screen coordinates, if you want to convert that into Unity 3D coordinates i have a video th-cam.com/video/JID7YaHAtKA/w-d-xo.html
Thanks for the amazing video ! I was using Enhanched Touch in my script and wanted to check if the touch was on a UI element. I have used the pointer over game object but it does not seem to work if (EventSystem.current.IsPointerOverGameObject(finger.index)) { return; }
Wishlist my new game BUMBI on Steam! store.steampowered.com/app/2862470/BUMBI/
Sam you understand this input system on a different level. Thank you for putting in all this work!!
I've come back to this video twice, and twice found the solutions I needed lmao. Thanks a lot!
This is pretty weird, but for those who use Unity Remote to test things out for your mobile app, please keep in mind that the New Input System is not supported in Remote yet (it's been 3 years already :/ ). To test your controls. you will need to actually build the app. I found this after 3 hours "fixing" my game...
I have that issue, what do you mean by "build the app"? because whenever I do "Build and Run" the input still doesn't work... Thanks!
Really digging all the Input System videos that you have made! This one I thought had a lot of information that is easy to digest! I sent it to my designers so they can watch it and get a feel for the tool! It's always exciting to see how Unity evolves!!!
thank you!!
Heads up: if you are like me, in the input debugger, you may need to right click on "Mouse" in the devices list and click "Enable Device" before the simulated touchscreen will return any values for clicks etc..
Good to know
dude. I searched the entire internet for this comment. you're a lifesaver my guy 🙏
Somehow, you are there to answer all my questions. I appreciate your tutorials SO MUCH. THANK YOU!
I've really been thinking about starting a simple mobile game after this current project and I use the new input system religiously at this point so very informative! I remember using the old system to try and set up a simple movement system based on starting touch. It wasn't fun from what I can remember (several years ago).
good to finally put a voice to the twitter user - also wonderful video, gonna be using this at some point
why we use EnhancedTouch.Touch.onFingerDown += Touch_onFingerDown; in start() not in Enable() so we can unsubscribe in Disable()??
On Enable would be better, I was showcasing the function and it slipped my mind.
best description: new but not so new input system 😆
As a value action type, TouchPosition would change whenever the position value changes. This is consistent with other value action types. That could mean you're sliding your finger and it's triggering every frame (by default, input is collected on Update). TouchPress on the other hand will require a physical press, but will not pass through the position data by itself. That's my take.
Best explenation of the new input system I could find! Definitely going to give it a try now. 😅Nice video!
Hi Sam, how can I set up the functionality to use two fingers to rotate a 3D object? I'd like to achieve a result similar to what's commonly done in 3D viewers: using one finger to move the object, pinch-to-zoom with two fingers, and rotating the object by moving two fingers in a circular motion.
Could you give me some guidance on how to set up the parameters in the Input Action Editor ? Thanks! 🤟
thx Sam, I needed this and you made the video right on time lol
Lady...I learned and enjoyed it, thanks!
im so overwhelmed
Thank you very much for making these tutorials ❤
Thanks for the help samyam :D
The google is not recommending me the touch about touching objects not clicking screen, what the heck.
Thanks, but i want onscreen buttons touch input instead of finding the touch position. Eg. i want to assign "A" key into a touch buttton, I know this can be achieved with a script comes with new input system. but if i touch a button and slide my finger outside the button area, the touch input still keeps on pressing the button. So how to implement the "on pointer down/up/enter/exit" with new input system..., Thanks
Best information thanks! subscribed
thank you!
Great video!
That's really really nice 🙂
Hi Samyam Thanks For Your Great Video I Have One Question , I have Some Object Like `House , Car , Tower etc` How To Detect That User Touch It Or Not , Before I Used `Raycast` And `Update Method` To Detected , Any Chance To Detected With ThisNEW Input System ??????
How to determine whether a click on a mobile device using Unity's new input system is on the UI or on a 3D object?
I'm having a weird issue... please help! When I swipe, the onperformed action gets called multiple times, even though I set only one control.
I like the new touch system. Great video but how do I get a pressed/touched object?
For some reason, the player.transform.position changes once to 0,1,-10.
did you find the issue?
Thank you very much !
why the touch is registering even when i touched outside game view . an even when i stopped the game still showing Logs when i touch everywhere
I can't get the Input Debugger to simulate touch drag events. It doesn't create a Touch control scheme when simulating touch.
Good Work SamYam. I have a question. Is this new input system with Touch compatible with Unity Remote 5 ? I tested but it did not read the touch position. Maybe i made someting wrong. You know it eases the worload without building the project for mobile.
I don’t think it is unfortunately, they haven’t updated that app in years forum.unity.com/threads/new-input-system-and-unity-remote-5.735968/page-4
Me: (watching this video)
Also Me: (About to fall asleep)
You are the best.
Bro just casually got sponsored by unity
I’ve been after a invisible touch screen joystick tutorial, the one you get on most modern portrait mobile games for player movement.
I imagine having an on screen analog/joystick that stretches to the whole canvas size would do the job. - I’m still not sure how to do this as I tried for countless hours and decided to compromise to a different movement system.
Can’t find a tutorial anywhere. Can you be the first one to make it 😅 would really appreciate it.
Btw great video
Thanks a thousand.
Thanks! Maybe in the future I will make the video! I have some cool tutorials planned for the near-term right now :)
16:11 why screen 0.0 coordinates are at top left corner& offical unity documentation tells that 0.0 is bottom left corner and 1.1 is top right corner
Thank you so much for doing these videos. The unity documentation, in my opinion, is trash. It's so hard to find the information that I need, but your videos explain how to use it so well, I don't have to go digging.
not gonna lie, when I compare setting up touch controllers with the New input system, vs adding a collider, event trigger component or Button component, is x1000 easier using the event or button component for touch buttons. I am looking forward to use the new input system only because with events I cannot manage to detect more than one finger input at the same time. but I cannot believe how complicated it is.
it doesn't work. Not matter what I try. I get "Screen position out of view frustum (screen pos inf, -inf, 0.000000)" error.
Same here, have you solved it?
@@Terajoel I guess it's a version issue
I'm sure it's a version issue! It bothered me for a long time, but I have no problem with the same code in Unity6!
Thanks Sam! amazing video. I have a question. Why i can not move the object smoothly where my finger is pressing, i mean while my fingen is on press. Because looks like the object is teleporting to the position where my finger is. i would like to move an object but in a smoothly way. Thanks again i am so glad you are doing this videos.!!
In the case of window standalone using multiple touch screen monitors, touch coordinates are recognized strangely when building. What should I do?
Awesome video! Do the touch inputs work when exported to WebGL, and played in a mobile phone's web browser?
I had the same question, did you ever find out? May save me some headache, thanks!
Thank yoou!
Is there anyway to tell if you touched the left or right side of a screen in portrait mode?
how i can limit the Right stick input on an image but not with the OnScreen Stick, like looking on mobile devices happen i have seen it in Third person controller made by unity but it is done by right stick i hope it is understandable
When the touch is released, how can I get the coordinates of when it was released? canceled returns 0, 0, 0.
I don't think I understand this enough. I am trying to listen whenever the touch phase is changed and then get the phase to only do something on Moved. I selected Touch as the control type and path to primary touch. It seems to only run when the phase is changed, but I can't seem to return the touch so I can check the phase. I might just end up using the enhanced touch, but I don't think I need the finger returned and I think it's worse for performance? Idk I could really use a little more clarity and documents aren't working for me. Please help.
Does this also work with multitouch on Windows (e.g. on Surface tablets)?
Off topic, but how did you make the font of the unity interface bold and flat?
What is the best approach to call a function in another class for the action callback? For example: If I need to define "TouchPressed" in another class, is it better to make it static Class2.TouchPressed?
I keep getting the same position coordinates when I click on the screen. (0.0, 1.00, -10.00). Doesn't matter where I click on the screen it returns this value and the circle just jumps to (0.0, 1.0, 0.0). no interaction. I have gone through the video three times and still get the same results. HELP!
did you fix it?
On the first TouchPressed() the touchPositionAction is always (0.00, 0.00), I guess since it's the first touch it "hasn't moved yet".
Is there a way to get the position of the very first TouchPress?.
nvm just changed the Action to Value > Vector2 and Path to primaryTouch > startPosition
I had a very similar problem. On the first click, the circle would move to 0, 0. Then on every subsequent click, it would move to the position of the PREVIOUS click (so it would lag behind by one click). I couldn't figure out why until I went back into the Input Actions and saw that the path for "TouchPosition" was set to Touch #0 > Position instead of simply Position. Fixed that, and now it works as it should. :)
strange that enhancedTouch seems to completely bypass normal inout system and related actions!
so how would I have it where falling objects from the top of the screen get destroyed every time you touch them? new to unity and touch and this is confusing to me.
I recommend this video of mine! th-cam.com/video/JID7YaHAtKA/w-d-xo.html
Hey, @Samyam. In the Awake() method @ 15:22 (playerInput = GetComponent(); ), I am getting an error : UNT0014: ‘PlayerInput’ is not a Unity Component. What could be the issue?
did you include "using InputSystem" up at the very top
using UnityEngine.InputSystem;
@@samyam My bad
@@samyam Yes. I did. The reference seems to be the issue of the other script.
what i need to know,,,,,,,,,,,when i click ui button , it should not click the touch
awesome
感谢分享~希望知道如何使我的UI可以屏蔽触摸输入(例如希望在我触摸屏幕时角色会发起攻击,但当我点击游戏暂停按钮时角色不会发起攻击)
Thanks
Love you
After this Video im just totaly confused how to setup a simple Touchinput to jump in my game xD
Well maybe i will try it someday but this system is pretty confusing because this context stuff makes absolutly no sense in my brain 🤷♂
Im coming from Unreal and started to love Unity for its simplicity but that InputSystem is rly uncomfortable to work with holy cow 😢
Hey does anyone experience any "lag" on the touch position when playing on mobile? So in a test scene of mine (just a simple square sprite) I have an easy implementation with a dragging functionality that uses the Input system and works fine when tested in the unity editor. When building and playing it on my phone/tablet it still works but I can see a little to medium lag in the dragging. So the Square is always trying to catch up with the touch position by a delay of maybe 0.2-0.5 seconds (so its not a lot, but you really feel it). I think there is no problem with my code or my input asset configuration as its very simple and I checked it many times... Is there maybe some setting in the build settings that should be adjusted or something to consider when implementing on mobile in general?
Thanks in advance and thanks for the nice vid :)
p.s. is your video on drag and drop still up to date?
cheers
Should be up to date! Are there any errors in the scene? We also have a Discord in our description where you can join and ask in the help channel to add more details and images
@@samyam OK great then I will check your drag video again! And no there are no errors or warnings. Everything seems to work fine. It just seems that the rate at which the input-data gets processed on my mobile devices is too slow. Will head to the Discord :)
Can u do on multiple players game articture
does anyone else encountered an issue where the first touch position is always the left bottom corner of the game tab? no matter what. This seems like a bug in the new input system
Make sure your TouchPosition input action has a proper binding. I was having this issue before realizing it was because I didn't set the binding to be "position".
Can someone tell me what I have to do to get the IDE to recognize things like "Getcomponent" to light up in color. How I tell the IDE to know what I mean? The color remains basic white with no change on certain texts. Do I need to do a PIP install for something? Same thing with PlayerInput isn't orange; it is just white like the IDE doesn't understand what I enter. I feel like my IDE is missing definitions or.....something. I don't know. I am rather new to all this & don't have any tech friends to ask about this.
What IDE are you using? You can also join our Discord and ask in the help channel
@@samyam MS Visual Studio. I am about to leave for work; so if you happen to reply I may be late to respond. I appreciate the help.
Try asking on our discord, i don’t use MS visual studio, maybe this can help th-cam.com/video/kfuBAhIGzrY/w-d-xo.html
it’s called “intellisense” the thing that recognizes the code and highlights it
@@samyam Ok thank you. More help than I've ever gotten from any Udemy instructor lol. Btw when I clicked your discord link in the bio of the video it said the invite has expired. Might just be an issue on my end.
Thank you for taking the time to respond before; I greatly appreciated it.
No worries!
discord.gg/SwCKB3Q
Is it same for 3d games or is it only used for 2d games
This detects touch which you can use for any kind of game you want! How you implement the functionality is up to you
@@samyam I had completed this tutorial now can I implement same for 3d game
Choose the best event handler
Hey I sent you a message on Paetron about the the racing game project.
How do i do hold?
This is great but it’s sad Unity’s new system is so convoluted people need to come here to look for how to use it. They really need a lesson in input handling from Godot.
Check you out, helping us normies yet again with Unity's input system. 😏 Thank you for this! One step closer to having a mobile dungeon crawler.
🙌🙌
can you make this in 3D, kinda messed up if i try in 3d -_-
touch is always in 2d screen coordinates, if you want to convert that into Unity 3D coordinates i have a video th-cam.com/video/JID7YaHAtKA/w-d-xo.html
@@samyam nice thank you so much
Solid principals, desgin pattrens............?
genuienly ununderstandable.
Sent you a reply on Patreon.
what did i just see
𝙥𝙧𝙤𝙢𝙤𝙨𝙢 💕
Thanks for the amazing video !
I was using Enhanched Touch in my script and wanted to check if the touch was on a UI element. I have used the pointer over game object but it does not seem to work
if (EventSystem.current.IsPointerOverGameObject(finger.index)) { return; }