How To Use Unity's NEW INPUT SYSTEM: SUPER EASY [Gamepad Joystick & Buttons!]

Поділитися
Вставка
  • Опубліковано 21 лис 2024

КОМЕНТАРІ • 54

  • @BurtBot
    @BurtBot Рік тому +4

    Seth Funk, thank you so much for this incredible tutorial. You saved me hours of time, made me laugh, and gave me hope for the new Input System. Subbed!

    • @SethFunk
      @SethFunk  Рік тому +1

      Hey! Thank you for the kind words and I am glad it helped you out. I use the new input system for all my projects now. Good luck on your project!

    • @BurtBot
      @BurtBot 10 місяців тому +1

      Thank you@@SethFunk ! Seriously great tutorial -- Had to come back to it. Lots of laughs too.

    • @SethFunk
      @SethFunk  10 місяців тому

      This is such a great comment! Thank you. I hope the input system treats you well. I know there are some pain points with it still, but it can be really powerful@@BurtBot

    • @BurtBot
      @BurtBot 9 місяців тому +1

      Yo@@SethFunk have you gotten controller support PLUS multiplayer to work? Hope all is well!

    • @SethFunk
      @SethFunk  9 місяців тому +1

      @@BurtBot Depends on your definition of multiplayer. Local multiplayer I have gotten to work really well with this input system. I haven't done much with online multiplayer so I honestly have no idea how well this is handled or even how to approach that

  • @rontheofficialron
    @rontheofficialron Рік тому +3

    For anybody trying to figure out how to move a three dimensional object with this method:
    in the line that establishes moveInputValue, that is the equivalent of getting the X and Y value of the joystick.
    IF you plug this into a transform.Translate line, the way you'd do so is by calling in the X value (moveInputValue.x) and the Y value (moveInput.y)
    So with that in mind, if you're wanting to move a 3d character using the translate method, type "transform.Translate (moveInputValue.x * speed, 0, moveInputValue.y * speed);"
    It looks weird putting a Y value in where a z value would go, but the joystick itself is a Vector2 so it makes sense."
    Hope this helps some people.

  • @q4sbgf9kfgrd6
    @q4sbgf9kfgrd6 4 місяці тому +1

    Best tutorial on the internet for this input system. This is the nth video I've watched, and the only one I could reproduce in ~2 days. THANK YOU!

    • @SethFunk
      @SethFunk  4 місяці тому

      You're welcome! I'm glad to hear it worked out for you. The new input system is very powerful, just kinda difficult to work with at times.

  • @averyangryturky2717
    @averyangryturky2717 4 години тому

    very well made video, very easy to follow

  • @flamingodev
    @flamingodev 3 роки тому +3

    Clear and on the point. I'm sure I'll visit this tutorial many times for my projects :D

    • @SethFunk
      @SethFunk  3 роки тому

      Thanks for checking it out, and I hope it works out well for your projects.

  • @tirs0d
    @tirs0d Рік тому +1

    Thank you for the tutorial. I had a hard time creating input controls with ReWired and creating bindings for multiple controllers. This looks like the best way to get input up and running on generic controllers and keeps it all very tidy within a single asset file. :)

    • @SethFunk
      @SethFunk  Рік тому

      I'm glad it is helpful for you! This is the exact same method I use in all my projects now because of those very reasons!

  • @TYNEPUNK
    @TYNEPUNK Рік тому +1

    this is one of the better input tutorials thanks, im trying right now to get the stick working on switch in more than just 8 ways.

    • @SethFunk
      @SethFunk  Рік тому +1

      I hope the best of luck. I honestly can't help since I do not own a switch so I can't even test anything on my end. My guess is though is to make sure when choosing the input type, make sure it is set to stick and analog. That should give you full 360 degrees of movement

    • @TYNEPUNK
      @TYNEPUNK Рік тому +1

      @@SethFunk you my friend are exactly correct! works ! thanks! :-)

    • @SethFunk
      @SethFunk  Рік тому

      @@TYNEPUNK I'm glad! Good luck on your project! Here's a link to my discord. Feel free to drop in and share your progress!
      discord.gg/WBQXKdDKR7

    • @TYNEPUNK
      @TYNEPUNK Рік тому

      @@SethFunk cheers! im in I am called Gaz :)

  • @karefiev
    @karefiev 4 місяці тому +1

    I don't understand why such a wonderful and detailed tutorial is so underrated. Must be in the TOP.
    Thanks to the author, I like and subscribe! 🤍

    • @SethFunk
      @SethFunk  4 місяці тому

      Thank you for the kind comment! And i guess i just wasn't blessed by the youtube algo lol

  • @WannibeManisha
    @WannibeManisha 3 роки тому +1

    Just followed this tutorial! Super easy just like you've stated. Thanks for this :D

    • @SethFunk
      @SethFunk  3 роки тому

      Thanks for checking it out! The feedback is very much appreciated!

  • @creativehans
    @creativehans Рік тому +1

    Really helped me out, thank you!

    • @SethFunk
      @SethFunk  Рік тому

      I'm glad this is still being useful for people! Thank you for letting me know 😃

  • @kennethbailey9802
    @kennethbailey9802 2 роки тому +1

    you do good tutorials, thanks for this. Your channel should get more attention.

    • @SethFunk
      @SethFunk  2 роки тому

      Thank you! I really appreciate that. Happy Valentine's day btw!

  • @superdahoho
    @superdahoho 11 місяців тому +1

    can you you touch a big more on how to switch between Action maps based on your implementation?
    like what if I have a swim and onland actions that I need to toggle between?
    good video by the way. your tutorial is the best I've seen so far

    • @SethFunk
      @SethFunk  10 місяців тому

      Sorry for the slow response, yt likes to not notify me of comments. Lol But switching action maps should just be accessing your player input manager and setting the action map. As for the exact code, not sure off hand but it should on unity documentation or Im sure chatgpt could help.

  • @luyuanqi2960
    @luyuanqi2960 2 місяці тому +1

    at 9:05, why is fixeddeltatime multiplied into the velocity? shouldnt it just be inputvalue * speed?

    • @SethFunk
      @SethFunk  2 місяці тому

      Since this used physics calcs (moving a rigidbody object), the multiplying of time.fixedDeltaTime (could technically use .detlaTime aswell) helps ensure the movement is consistent between every machine that plays the game. I then call the MoveLogicMethod in FixedUpdate since this update method is only called at set intervals for physic calculations. Since physic calculations are computationally expensive, it's best to not run them every single frame which is what the normal "update" function would do.
      Hope this helps

  • @morganowen3543
    @morganowen3543 3 роки тому +1

    Thanks this is super helpfull to quickly get something working :)!

    • @SethFunk
      @SethFunk  3 роки тому

      Im glad it was useful!

  • @nottiredofwinning3736
    @nottiredofwinning3736 2 роки тому +2

    Great stuff!

    • @SethFunk
      @SethFunk  2 роки тому +1

      Thanks for checking it out!

  • @wolle4208
    @wolle4208 2 роки тому +1

    Thank you so much it worked

    • @SethFunk
      @SethFunk  2 роки тому

      I'm glad to hear it! Don't forget to give the video a like since that helps me out!

  • @wartem
    @wartem 3 роки тому +1

    Great, thanks!

    • @SethFunk
      @SethFunk  3 роки тому

      I'm glad it helped out! :D

  • @watercat1248
    @watercat1248 6 місяців тому +1

    why no one mention that the new input system dont support third party Controller's by default. ?
    also wean i have try the new input system i don't fund a way to add multiple controller's one for each player
    because I want my game to support all kinds off controller's i will havemake ribbing system with the old input system.
    and if use the new input system i will be only for Xinput,PS controller, Switch pro controller.
    but if make my input ribbing system advanced i don't think i will be nursery.

    • @SethFunk
      @SethFunk  6 місяців тому +1

      The new input system does support 3rd party controllers. There are a few limitations and special cases. But here is a link to the unity documentation to see which controllers are supported:
      docs.unity3d.com/Packages/com.unity.inputsystem@1.0/manual/SupportedDevices.html#:~:text=Unity%20supports%20Made%20for%20iOS,Project%20to%20enable%20console%20support.

    • @watercat1248
      @watercat1248 6 місяців тому

      @@SethFunk okay

  • @TheDoorMatt655
    @TheDoorMatt655 Рік тому +1

    Does the new input system function with Bolt/the new Visual Scripting that was recently added? For context, I'm just recently moving from Unreal over to Unity.

    • @SethFunk
      @SethFunk  Рік тому +1

      I believe it is possible but I never used the visual scripting. A quick google search I did looked promising though.

    • @TheDoorMatt655
      @TheDoorMatt655 Рік тому +1

      @@SethFunk I actually went through it today and thankfully it does. Thank you for taking the time to respond!

    • @SethFunk
      @SethFunk  Рік тому +1

      @@TheDoorMatt655 Of course, good luck with your project!

  • @sayedanowar3628
    @sayedanowar3628 2 роки тому +1

    I am using a usb dancepad. It appeares on the list inside the Joystick section, but when I try to use the 'Listen' option, unity detects nothing. I have tested the device from gamepad testing websites, it's working fine. Could you please help?

    • @SethFunk
      @SethFunk  2 роки тому

      When setting up the input action, in the action properties, try setting the action type to "Value", and the control type to "Axis", Then try to bind the controller via the listen button to see if that works. My guess is the dancepad is treating the input data in a very specific manner, which if that is the case, try a few different control types to see if any of them work. I would start with axis though

  • @Albino-cz2rd
    @Albino-cz2rd 10 місяців тому

    Tried this tutorial after at least 15 other ones and none did work, idk what to do anymore so I'll probably js use the Input Manager

    • @Albino-cz2rd
      @Albino-cz2rd 10 місяців тому

      The video was quite good tho

    • @SethFunk
      @SethFunk  10 місяців тому

      What seems to be the problem? Did you instal the input system through the package manager? Did you create the input asset? Did you create the action and give it a binding in the input asset? Did you add the player input component on the gameobject that the scripts is placed on? In your script did ypu make sure to add the input system library at the top of the script? Are you getting errors? What exactly have you done and what is the problem that is occurring l. This video is step by step and works on pretty much every version of unity, so if you followed it exactly it will work.

  • @chienthanhcong4729
    @chienthanhcong4729 2 роки тому +1

    Can I use my phone as a gamepad for my games?

    • @SethFunk
      @SethFunk  2 роки тому +1

      You can but not as simple as using a standard controller. You can use something like a mirror networking which takes commands from your phone and converts them into input actions. I believe there was also an asset I seen sometime ago that used phones connect via wifi to act as a controller.

    • @chienthanhcong4729
      @chienthanhcong4729 2 роки тому +1

      @@SethFunk thanks for your answer