3rd Person Controller - Unity's New Input System

Using Unity's new input system, C# events, blend trees with animations, and Cinemachine create a basic 3rd person controller in Unity. Create basic movement, jumping, melee attack (animation only).
Tutorial Files: github.com/onewheelstudio/Adv...
Assets Used in the Video (Affiliate)
************************************
Low Poly Megapolis: assetstore.unity.com/packages...
Toony Tiny People: assetstore.unity.com/packages...
Want to support the Channel?
*******************************
Shop the Unity Asset Store (affiliate): assetstore.unity.com/top-asse...
Become A Channel Member: / @onewheelstudio
Or a Patron: / onewheelstudio
Grab a T-Shirt: onewheelstudio.com/merch/
My video and streaming kit: kit.co/onewheelstudio/tutoria...
Buy a Game Design Books: kit.co/onewheelstudio/game-de...
Other Links
************
Discord: discord.onewheelstudio.com
Twitter: / onewheelstudio
Devlog: onewheelstudio.com/
Twitch: / onewheelstudio
Timestamps
*************
0:00 Intro
0:24 Scene Setup
0:47 Input Action Asset
4:14 Generating C# Code
4:59 Creating 3rd Person Controller Code
7:54 Jump Code
11:55 Movement Code
19:00 Character Object Setup
23:20 Movement Animation
26:33 Movement Animation Code
28:45 Melee Attack Animation
31:55 Melee Attack Code
33:50 Cinemachine Camera
37:40 Input System + Cinemachine
39:07 Other Useful Settings
39:58 THE END
#unityinputsytem #GameDevelopment #Unity3D #indiedeveloper

Пікірлер: 315

  • @sakrefunholy
    @sakrefunholy2 жыл бұрын

    Amazing video and helped me understand how the new input system works, but i'm having some issues with my player character constantly going up in the air. I can move around and turn but it seems like he is constantly jumping up into the sky. what could be the issue?

  • @OneWheelStudio

    @OneWheelStudio

    2 жыл бұрын

    At 16:31 there was an error with on-screen text pointing it out. The error does effect the jump. Could that be the issue?

  • @sakrefunholy

    @sakrefunholy

    2 жыл бұрын

    @@OneWheelStudio well, I saw it and already made the change but that still makes the character float upwards constantly. I even tried copy paste the one from your github, but it still has the issue.

  • @OneWheelStudio

    @OneWheelStudio

    2 жыл бұрын

    Is it possible you have gravity turned off on the rigidbody?

  • @sakrefunholy

    @sakrefunholy

    2 жыл бұрын

    @@OneWheelStudio nevermind, I found out what the issue was. the issue was that I had the capsule collider as a trigger. which for some reason made it the character go up into the air.

  • @centauriboy
    @centauriboy2 жыл бұрын

    For anyone using Unity version 2021.2.4f1 or higher, in order to select "Add 2D Vector Composite", you need to change the Action Type to "Value" and the Control Type to "Vector 2" in the Action Properties, then you can press the plus sign and it will be called "Add Up/Down/Left/Right Composite".

  • @ifladog

    @ifladog

    2 жыл бұрын

    Thank you

  • @littledindin3299

    @littledindin3299

    2 жыл бұрын

    thanks so much i was so confused :)

  • @macmonk7

    @macmonk7

    2 жыл бұрын

    Thanks man!

  • @infomatics_

    @infomatics_

    2 жыл бұрын

    Thank you

  • @elissteiner4319

    @elissteiner4319

    2 жыл бұрын

    thanks

  • @SirOnionKnight
    @SirOnionKnightАй бұрын

    I appreciate you for putting this out. I've been stuck in a lot of weird/bad habits for making controllers, using animator and barely understand the input system and this made it all so much clearer for me, even without following along directly.

  • @zparklyztars
    @zparklyztars2 жыл бұрын

    I love this style of videos, keep up the great work! It feels like a one on one tutoring session and that makes walking through the codes and around Unity all that much easier! Thank you for making great videos!

  • @99darkprince
    @99darkprince Жыл бұрын

    I have been watching a lot of Unity tutorial videos trying to get a better understanding of both the new Input System as well as being able to better understand Unity with creating my game and I have to say this has to be the most helpful and beginner friendly tutorial I have seen, and it really allowed me to better understand how to work with creating a character controller. Thank you so much for making this video it has helped me tremendously get better at making my own games!

  • @muhammadumair6306
    @muhammadumair63062 жыл бұрын

    There's always, like ALWAYS something new to learn in your videos. Love your content. ❤

  • @jeremylamy6456
    @jeremylamy64562 жыл бұрын

    This video is what I have been looking for for a week. Thanks a lot, great content !

  • @hawkgamedev
    @hawkgamedev Жыл бұрын

    You are by far the best instructor I've ever seen, thanks for the hours you take to make and upload these videos, you make my life so much better after dealing with learning frustration as a noob in Unity. THANK YOU!

  • @eddyrc7
    @eddyrc72 жыл бұрын

    For anyone not finding creating "input actions", you need to install the input system from your package manager before the first step in this tutorial.

  • @conservativestrawman9837

    @conservativestrawman9837

    2 жыл бұрын

    THANK YOU

  • @jameshenderson1826
    @jameshenderson1826 Жыл бұрын

    Excellent tutorial! Thanks very much. I don't normally comment on many tutorials but felt I had to in this case. I really like your approach and feel that you've helped me take my understanding of Unity character controlling and physics to the next level. Cheers and keep up the great work. ;-)

  • @goodsonguitars
    @goodsonguitars Жыл бұрын

    I have been trying to wrap my head around this new input system and thanks to you, I think I about have a grasp on it. Thank you for your time and effort. Liked and subbed.

  • @markuskankare2911
    @markuskankare29112 жыл бұрын

    Thank you so much! You helped me a lot. I'm new with Unity and C# but after this video I made big steps forward with my project and skills. One step at a time :) More videos like this and I would like to see long video where we could make full game from start to finish.

  • @OneWheelStudio
    @OneWheelStudio2 жыл бұрын

    Do you like this style of video? Longer, less scripted, and admittedly less concise? Or would shorted scripted videos be more helpful?

  • @_Garm_

    @_Garm_

    2 жыл бұрын

    i like this style :)

  • @VirtusH

    @VirtusH

    2 жыл бұрын

    this was a decent vid, but shorter scripted videos are definitely better IMO

  • @allanl5511

    @allanl5511

    2 жыл бұрын

    This is great! So far the best video I found showing how to implenment the new Input System, Cinemachine, Animation and putting it altogether. Instead of a series of videos in a long tutorial, I really dig this relatively short form. p.s. the timestamps are really helpful too, thank you.

  • @alexstankovic2947

    @alexstankovic2947

    2 жыл бұрын

    This type of videos where you can actually see the bigger picture and the architecture of making games, but at the same time you cover every component and technique that makes up that bigger picture. Big thanks!

  • @davidReyGD

    @davidReyGD

    2 жыл бұрын

    Great video! thank's a lot for your work ;)

  • @joefacenda3034
    @joefacenda3034 Жыл бұрын

    Thank you for your clear explanation of why we normalize the camera look vectors. I finally understand.

  • @Jarzykk
    @Jarzykk Жыл бұрын

    Thank you! It was a pleasure to look at clean code. Subscribed.

  • @umapessoa6051
    @umapessoa60512 жыл бұрын

    Hi, thank you for this video, love the video style, keep up with the good work.

  • @morningforeststudio8596
    @morningforeststudio85962 жыл бұрын

    Awesome video about third person controller! Thanks!

  • @Hoglet.Interactive
    @Hoglet.Interactive2 жыл бұрын

    Another great tutorial from O.W.S. Cool!

  • @fess1024
    @fess10242 жыл бұрын

    Thanks a lot for the video! Very informative and understandable.

  • @4real04
    @4real042 жыл бұрын

    THANK YOU , im a newbie and ive been trying to do this exact motion and movement for 3 days

  • @nosh247
    @nosh2472 жыл бұрын

    Excellent tutorial! thank you!

  • @SacWebDeveloper
    @SacWebDeveloper5 ай бұрын

    Thank you for making this! I've tried so many character controllers and they all felt wrong. This is perfect for PS2 style or highly stylized games.

  • @legomanacm8402
    @legomanacm84022 жыл бұрын

    This video helped me a lot. Thanks!

  • @EricWilliamsCG
    @EricWilliamsCG Жыл бұрын

    24:37 You can find the animation inside the objects. So click drop down for the object, fbx or whatever it is, and drag the animation from inside of it into the inspector. Great tutorial!

  • @FrozenWell
    @FrozenWell2 жыл бұрын

    Cheers for this, great tutorial

  • @johnshields_
    @johnshields_2 жыл бұрын

    Best Player controller tutorial ever! no more spider web animators!

  • @nayansinha7216
    @nayansinha72162 жыл бұрын

    Very good video explained everything nicely

  • @joseluisRueda
    @joseluisRueda Жыл бұрын

    great tutorial , thanks

  • @TechWrathTV
    @TechWrathTV2 жыл бұрын

    You are a LIFE SAVER mate :D

  • @sepehr2371
    @sepehr237111 ай бұрын

    Nice video, you could probably use some comments on methods you create so that it is more understandable for future use

  • @mikelangford5964
    @mikelangford59645 ай бұрын

    This was a good start. The code needs some modifications to handle any sort of hill or stairs, but not a bad intro.

  • @aliceintini8900
    @aliceintini890020 күн бұрын

    This tutorial is amazing! Can I ask how to add an animation to the jump?

  • @MrTaziz
    @MrTaziz2 жыл бұрын

    Hey really liked this kind of style of video, very informative, learned a lot. But when you were explaining the movement physics was a bit confusing, maybe do a separate video where you explain this better ?

  • @OneWheelStudio

    @OneWheelStudio

    2 жыл бұрын

    That’s a fair critique! My day job is a physics teacher so easy to gloss over bits when I’m focused on the code. Was there something in particular about the physics that was unclear? Or all of it? 😛

  • @MrTaziz

    @MrTaziz

    2 жыл бұрын

    @@OneWheelStudio This video was was about unity new Input System and boy it delivered. I think it's more a request/suggestion than a critique :D yeah to me physics and math is unity is the bigger hurtle. I do understand them when I get explained, but figure this out by my self or where to start is what melts my brain. Cheers

  • @OneWheelStudio

    @OneWheelStudio

    2 жыл бұрын

    Totally get that. Always happy to try and answer questions - pop over to the OWS discord any time I can help.

  • @T_D_E_V
    @T_D_E_V2 жыл бұрын

    Amazing video and helped me understand how the new input system works, and can u make tutorial how to make so that when i click control when player moves this player slows down and goes on walk animation

  • @cecilloki
    @cecilloki2 жыл бұрын

    Hey @One Wheel Studio I dont know how to get when the mouse button down for example, could you help me, because I need set an animation for an action that need hold the button down

  • @HeartWulf
    @HeartWulf2 жыл бұрын

    Hey! Thank you for the video, it's been really helpful. How would you go about smoothing out the character rotation in this code? Look rotation is giving me very snappy results.

  • @OneWheelStudio

    @OneWheelStudio

    2 жыл бұрын

    I haven't played with that myself, but you could add a scaling processer to the binding. It will give you x and y values or 1, make that 0.5 and I'd guess your rotation will be slower and maybe smoother?

  • @Smokey-A

    @Smokey-A

    2 жыл бұрын

    Quaternion toRotate = Quaternion.LookRotation(direction, Vector3.up); this.rb.rotation = Quaternion.RotateTowards(rb.rotation, toRotate, 10f);

  • @addisonjacoby
    @addisonjacoby Жыл бұрын

    Why do we only multiply the jump descent by Time.fixedDeltaTime isn't everything in FixedUpdate frame rate independent? Also, curious why you choose not to use a CharacterController?

  • @S4von
    @S4von2 жыл бұрын

    Wait, doesn't the current melee code let player spam attack? Animation will play fine but if we were to put damage mechanic, player would be able to do damage several times during animation just by pressing attack constantly.

  • @OneWheelStudio

    @OneWheelStudio

    2 жыл бұрын

    Not exactly, but the solution shown also isn't pefect. As shown the player can press the button once and the animation will run and if they press the button again the trigger will get set and when the melee animation finishes it will immediately play again. To resolve this you could check the which animation is playing. You could also dive in to Animation State Behaviors which allow really good control/knowlege of the animation state. Check Animation: www.reddit.com/r/unity_tutorials/comments/owryhj/3rd_person_controller_new_input_system/ Unity Animatin State Behavior: docs.unity3d.com/ScriptReference/StateMachineBehaviour.html

  • @princessoscar3089
    @princessoscar30892 жыл бұрын

    Okay I fixed the missing thirdpersonactionsasset by RENAMING my inupt settings thingy, but I still don't know what to rename RIGIDBODY? I'm using a different unity asset character than yours called Insect4_Green. Do I rename that character to RIGIDBODY? It also has a sub thingy called Body_LP.

  • @NewYorkNixDa
    @NewYorkNixDa Жыл бұрын

    Really awesome tutorials, you made! 🙂 Little question: How can i change / blend the animations for crouching / proning? im a bit struggling to get it 😞

  • @OneWheelStudio

    @OneWheelStudio

    Жыл бұрын

    Thanks! ☺️ the blending is handled in the transition. Unity will usually do a good job for you but in the transition you can tweak the settings.

  • @NewYorkNixDa

    @NewYorkNixDa

    Жыл бұрын

    @@OneWheelStudio Youre just awesome 🙂Ive found out how to implement other animations, my only problem is: if i change the maxSpeed it causes into slower animationspeed. 😞

  • @juliaalder2007
    @juliaalder20072 жыл бұрын

    This is very cool. Would you please do a tutorial to show how to combine melee animation with the third person from the starter assets? The code seems to be different. Thanks for this video! :)

  • @Guacamakis

    @Guacamakis

    2 жыл бұрын

    Have you found anything on this? Cause I'm struggling too

  • @juliaalder2007

    @juliaalder2007

    2 жыл бұрын

    No, not really. But I think you can combine Mixamo animations and the starter assets. So you could parent a sword to the hand? But I'm not sure about this.

  • @pranjaldevstuff8395

    @pranjaldevstuff8395

    Жыл бұрын

    @@juliaalder2007 If you find anything on that then please tell here. And also in this tutorial when I press the W key , the player directly runs from idle when he should just walk. Can you tell how to fix it?

  • @brandons1433
    @brandons14332 жыл бұрын

    Great video! Got one question how would you go up stairs and slopes?

  • @OneWheelStudio

    @OneWheelStudio

    2 жыл бұрын

    Slopes should be okay if you use a capsule collider. Stairs!?! That's another issue altogether. I couldn't tell you the best way to do that. I might fake it! Have it look like stairs, but keep it smooth.

  • @Cadaverine1990

    @Cadaverine1990

    2 жыл бұрын

    Stairs are a bit of a mess, I have played with several controllers and most of them seem to offset the collider to be on the top of the mesh having the bottom of the collider where the stair height should be. However, once you offset the collider, the mesh will fall into the ground, you will then need adjust the height of your character based on Raycast distances and then lerp your character's position to keep smooth movement. This works quite well for 90% of applications. Just have to keep in mind when moving the player on Platforms that the movement of the platform might occur after the Raycast of the player thus having the player fall up to the collider for a frame or two.

  • @tdr7481
    @tdr7481 Жыл бұрын

    for me there is no mouse delta showing up, I tried pass through and vector2 also value and vector2, any ideas how to solve this?

  • @BlenderSV
    @BlenderSV2 жыл бұрын

    Great video, very helpful!! Is there a part 2 related to the zombies? (can't find it, lol)

  • @OneWheelStudio

    @OneWheelStudio

    2 жыл бұрын

    No there isn’t but if you check the links in the description you should be able to get the code used for them - it’s pretty basic though.

  • @BlenderSV

    @BlenderSV

    2 жыл бұрын

    @@OneWheelStudio thank you so much!!

  • @ivancarranza2473
    @ivancarranza2473 Жыл бұрын

    Hey, After watching some other videos on movement and rotation on a rigid body character this is probably the best and more to the point. Everything works good for me, the only question I have is ('cause i tried to research but couldn't find anywhere) around 14:20 where you copy paste the GetCameraForward function to the GetCameraRight and you replace the highlighted text from 'forward' to 'right' only in the highlighted text, how is that done? is there shortcut? i've tried Ctrl+F2 and other ways but I can't figure it out. Obviously no rush on this but I think for those like me that don't know would be a great help. Thanks again for this video.

  • @OneWheelStudio

    @OneWheelStudio

    Жыл бұрын

    Glad the video was useful! To rename variables I generally use CTRL + R +R ( press R twice). I believe pressing F2 also works.

  • @pranjaldevstuff8395
    @pranjaldevstuff8395 Жыл бұрын

    How can I make my character run only when i am pressing the shift key? It always transitions into run animation just by pressing the W key...

  • @user-wo3ym4bj8e
    @user-wo3ym4bj8e2 жыл бұрын

    How would it be the solving for slope in 2/3D while having same code for movement as in your example ? After checking the normal of the ray how should I move the player and also let him jump ?

  • @OneWheelStudio

    @OneWheelStudio

    2 жыл бұрын

    I'm not sure exactly what you are trying to do. Might be an easier conversation on Discord? Feel free to come by the OWS discord (link in the description).

  • @zivv1147
    @zivv1147 Жыл бұрын

    Great video. You should do the same for touch input for mobile devices.

  • @HoneyBoySoSweet
    @HoneyBoySoSweet2 жыл бұрын

    Excuse me, I want to know how to connect the gamepad for PC Building Game in Unity?

  • @sakrefunholy
    @sakrefunholy2 жыл бұрын

    I have a different question. If I wanted to use a 2d directional animator (for example to make the character able to strafe to the sides with animations) then how would I use that with the new input system?

  • @OneWheelStudio

    @OneWheelStudio

    2 жыл бұрын

    I'm not sure it's any different with the new input system. Maybe I'm wrong. So here's my first thought on the problem: You would need to separate out the side to side velocity and the forward/backward velocity - these would need to be relative to the camera's direction. You could look up "vector projections" to project the character velocity onto the camera's direction to get the velocity in the s/s or f/b direction. From there you could then send the magnitude (with sign) of each of those velocity to the animator as parameters.

  • @angrypug9841
    @angrypug984114 күн бұрын

    The NEW way to set up the 2d Vector is as follows :( Click on Move Go to Binding Properties and select "Action Type: Value" then "Control Type: Vector 2" THEN you can right click Move and Add Up/Down/Left/Right Composite will show up. It will then add a 3d vector to your drop down for WASD. So stupid of them to switch that up

  • @souravsvc1486
    @souravsvc14862 жыл бұрын

    Can you please make a video how this work's in with mobile input. Please.

  • @kylershahalami6453
    @kylershahalami64532 ай бұрын

    I found out how to get the jump to work for me! I created a new private float at the top and named it "RayRange" and set it to 1.25f After that, I went down to the private bool IsGrounded() function and changed it to the following: private bool IsGrounded() { Vector3 direction = Vector3.down; Ray ray = new Ray(this.transform.position, transform.TransformDirection(direction * RayRange)); if(Physics.Raycast(ray, out RaycastHit hit, RayRange)) { return true; } else { Debug.Log("not grounded"); return false; } } Hope this helps some folks!

  • @lumzalum8863
    @lumzalum88632 жыл бұрын

    Thank you for bit on Input System + Cinemachine, but I'm getting jittery movement with the camera now as compared with when I used Mouse X/Y

  • @Shir0dev_

    @Shir0dev_

    2 жыл бұрын

    Idk if youre still having this problem but using interpolate on the rigidbody fixed this issue for me

  • @SacWebDeveloper

    @SacWebDeveloper

    5 ай бұрын

    Interpolate + continuous

  • @epicdoggames9667
    @epicdoggames96672 жыл бұрын

    Can you create a menu system with the new input system? Specifically with drop down menus and sliders using a game pad. There is like nothing out there showing how to do this.

  • @OneWheelStudio

    @OneWheelStudio

    2 жыл бұрын

    This is definitely on my list! Can’t promise if or when it’ll get done but it’s definitely on my list.

  • @kozmobotgames
    @kozmobotgames10 ай бұрын

    Amazing video, but when I press Space on my keyboard, the player does not jump. How can I fix it?

  • @daberechiukoha-kalu356
    @daberechiukoha-kalu3562 жыл бұрын

    THANK UUU

  • @tarriochu95
    @tarriochu959 ай бұрын

    18:57 im big dumb and still have no idea why you square root the magnitude of the vector, anyone know where to find an explanation to this?

  • @sahpdude
    @sahpdude3 ай бұрын

    you cannot drag those animations because they have meshes included those are full animation files with mesh pieces included if you opened the animation that you said "I can't drag these into the animation slots" and you selected the animation file specifically then dragged it into the blend slot it would work. I had the same question I was like why can you not drag this into the blend state but that is because that is the entire mesh and not just the animation data

  • @bhautikranpara7664
    @bhautikranpara76642 жыл бұрын

    Hello sir, Can we make videos on 3rd person shooter with different type of gun using Animation rigging ?

  • @sainteven8181
    @sainteven81812 жыл бұрын

    One point to square roots calculation in general. This isn't slower anymore most compiler these day can do it in 1 cpu clock cycle. It cant get any faster then this. :)

  • @Hassanali-jr4yb
    @Hassanali-jr4yb Жыл бұрын

    First of all thanks for such an amazing content, But I am really confused as there are 4 ways to use with new input system like you said in your first video about new input system. As the best ways are only 2 through Messages or by using Unity Events. But in this video your not using Invoke Using Unity Events?

  • @OneWheelStudio

    @OneWheelStudio

    Жыл бұрын

    My favorite method is to generate a C# class and using C# action/events. That's the approach that I've used here. It's a work flow I'm comfortable with - but at the end of the day use whatever method works best for you.

  • @Hassanali-jr4yb

    @Hassanali-jr4yb

    Жыл бұрын

    @@OneWheelStudio thanks

  • @CodenTheSynth
    @CodenTheSynth6 ай бұрын

    whenever my player goes idle, the next time it moves the animation stays on the first frame. :(

  • @sparky634
    @sparky6342 жыл бұрын

    my charecter will move but it will only move up or down even A and D make me go ,up and down and my jump does not work

  • @migueldc6845

    @migueldc6845

    2 жыл бұрын

    For the movement: Are you sure BOTH Vector3 GetCameraRight/Forward are set to .y? right.y = 0; forward.y = 0;

  • @johnorfanos6287
    @johnorfanos628711 ай бұрын

    Cool vid. I like how well each function is explained. One question though, why not use a Quaternion.Slerp instead of Quaternion.LookRotation in the LookAt() function? LookRotation makes it feel too 2d and snappy when the character rotates. Slerp just adds that smooth feel and you can adjust the rotation speed in the command to a higher value if you want to get a faster rotation etc... The reason I ask, is because I notice a trend in these thirdperson controller tutorials when it comes to this approach. Am I overlooking something by using Slerp instead of LookRotation?

  • @OneWheelStudio

    @OneWheelStudio

    11 ай бұрын

    I think the honest answer is that Slerp never made it into my toolbox so to speak. Probably the same for other content creators so we just don't think about it and go with what we've always used.

  • @SacWebDeveloper

    @SacWebDeveloper

    5 ай бұрын

    Personally, I like the immediate change in direction, it feels more arcade-like. I'm interested in games like Chinatown Wars where the 2.5D characters were made with sprites, but I think there's a happy medium that can be struck with full 3D models, you just have to make things move more like a cartoon, fast "poses." If you want realism, use root motion and start with Unity Starter Asset Third Person Controller.

  • @neozoid7009
    @neozoid7009 Жыл бұрын

    awesome video but you didn't show the look direction at mouse and controller right stick

  • @joekraphel5113
    @joekraphel51132 жыл бұрын

    Question - I have terrain that is uneven and when my character runs/walks across it hills, it remain in air and gravity isn't applied. Might the rigidbody mass be too low? Something I need to add in code?

  • @joekraphel5113

    @joekraphel5113

    2 жыл бұрын

    Oh, and gravity is already enabled on the rigidbody

  • @OneWheelStudio

    @OneWheelStudio

    2 жыл бұрын

    At 16:31 there is an error and on screen text to point it out. For lots of folks this has been the cause of jump issues. If that's not the issue you're more than welcome to jump over to the OWS discord server and we can try and figure out a solution.

  • @zwenkwiel816
    @zwenkwiel816Күн бұрын

    38:40 I thought I was having an aneurysm

  • @Magma-uw7yo
    @Magma-uw7yo2 жыл бұрын

    I ve got somme problems I want to fix, First, the cam go to right when I moove the mouse to the left and left for right, how can I fix that ? Secondly I want to block my camera to only the "front view" like fps with just one view behind him. When I turn, the camera turn too fast so we can't see where we watch

  • @OneWheelStudio

    @OneWheelStudio

    2 жыл бұрын

    The left/right issue can be fixed by inverting the controls or by adding a negative sign to the horizontal inputs. As for the second issue, sounds like you want a different aim algorithm - I made a video covering the basics of the aim options. kzread.info/dash/bejne/d2Wnl6qQgdzfqMo.html

  • @davidespigolon8170
    @davidespigolon81702 жыл бұрын

    can you make a video for a climb system?

  • @bonse2000
    @bonse2000 Жыл бұрын

    what does it mean this ?where can i get ThirdPersonActionsAsset ? Assets\Scripts\ThirdPersonController.cs(10,13): error CS0246: The type or namespace name 'ThirdPersonActionsAsset' could not be found (are you missing a using directive or an assembly reference?)

  • @OneWheelStudio

    @OneWheelStudio

    Жыл бұрын

    That means it can't find the class/script in your project. Did you generate the C# class from your input action asset? If you have other errors that are preventing compilation that could be a problem too - if there aren't any other errors then don't worry about this.

  • @fongaming101
    @fongaming1014 ай бұрын

    I like

  • @guillaumemercier3536
    @guillaumemercier3536 Жыл бұрын

    I am looking to use the new input system to change weapon with the d-pad buttons. But everything I do don't work.

  • @OneWheelStudio

    @OneWheelStudio

    Жыл бұрын

    Are the events getting invoked? Are any functions getting called?

  • @johnpotesta3744
    @johnpotesta3744 Жыл бұрын

    Hello, thanks for the video! I got through it but am having issues with gameplay where the camera is very choppy.... I think it is within the animator somewhere since I turned it off and then gameplay looked normal and not choppy/stuttering. any suggestions?

  • @OneWheelStudio

    @OneWheelStudio

    Жыл бұрын

    I'm not really sure what that's about. I know a few other folks have commented about it, but never saw it on my end. It does seem weird that the animator would effect the camera. Might be worth playing with the camera target - the base object vs. the animated object?

  • @itsmillertyme

    @itsmillertyme

    Жыл бұрын

    @@OneWheelStudio Turning on Interpolate on the Rigidbody fixed the issue for me :)

  • @sgruhier
    @sgruhier Жыл бұрын

    Thanks a lot for that video. Any idea why I don't see that blue/rect rectangle on game view for the cinematic camera? May be a setting to activate?

  • @OneWheelStudio

    @OneWheelStudio

    Жыл бұрын

    This deeply frustrated me too. It seemed inconsistent - i did finally figure it out but now I can’t remember what it was. Do make sure that you have gizmos enabled in the sceneview.

  • @sgruhier

    @sgruhier

    Жыл бұрын

    @@OneWheelStudioYes all gizmos with a checkbox are enabled. But a lot of Cinemachine entries don't have a check box.

  • @sgruhier

    @sgruhier

    Жыл бұрын

    I reply to myself, you need to have "aim" section expanded on CinemachineFreeLook !!

  • @gamedevarchive614
    @gamedevarchive6142 жыл бұрын

    I keep getting camera jitter as well as I'm completely frozen in y space. I don't go up or down.

  • @johnpotesta3744

    @johnpotesta3744

    Жыл бұрын

    any resolution to this? my gameplay is really jittery and was thinking it has to do with the animator.

  • @masterpirates1497
    @masterpirates1497 Жыл бұрын

    Thank you for such an impressive material and explanation! But I had a problem, even two, 1 this character just flies away although the collider and rigidbody are installed and configured exactly like you have, 2 moment is that the animations are not played and the character is in place in the idle pose. What could be the reason? These artifacts?

  • @OneWheelStudio

    @OneWheelStudio

    Жыл бұрын

    Does this happen when jumping? There was an error in the code that I pointed out via on screen text. This has caused issues for other folks.

  • @OneWheelStudio

    @OneWheelStudio

    Жыл бұрын

    As for the animation, sounds like the animation parameter is not getting set correctly? Are there any errors in the console?

  • @LasaventurasdeSaldi
    @LasaventurasdeSaldi2 жыл бұрын

    I loke how in 3:22 you're correcting yourself when you said it right xD

  • @OneWheelStudio

    @OneWheelStudio

    2 жыл бұрын

    Ha! I go a bit cross eyed editing these long videos.

  • @user-wo3ym4bj8e
    @user-wo3ym4bj8e2 жыл бұрын

    I would like to be able to move the char up and down and when having that, not moving on x. How should be the velocity scripted in that case ? ty

  • @OneWheelStudio

    @OneWheelStudio

    2 жыл бұрын

    Up and down as in along the y-axis? Rather than use a function like get camera forward you would want a function that returns the upward direction or just use (0,1,0). This would cause the y-input to apply a force along the up/down axis. You'll likely need to turn off gravity or account for it in some way.

  • @user-wo3ym4bj8e

    @user-wo3ym4bj8e

    2 жыл бұрын

    @@OneWheelStudio solved it like this: if up down pressed i put vector2.up or down as forcedirection || after this if else i do this if (verticalVelocity.sqrMagnitude > maxSpeed * maxSpeed) rb.velocity = verticalVelocity.normalized * maxSpeed * Time.fixedDeltaTime; /// hope this will help others :) cheers!

  • @charlieratcliffe7294
    @charlieratcliffe72949 ай бұрын

    this has exactly what i need! i just cant get the jump to work. Ive read through the comments to find a solution, and increasing the raycast distance doesnt fix it. ive tested it without the bool and it works fine, with my own animation! could there be something else im missing? I dont think you mentioned anything about tags or layers

  • @OneWheelStudio

    @OneWheelStudio

    9 ай бұрын

    It’s possible there are some settings on the animation that aren’t correct. I usually have to just tinker until I find the right setting - it’s not something I do often. But maybe check the root motion. It’s possible the animation is trying to hold the character in place.

  • @018FLP
    @018FLP2 жыл бұрын

    I'm commenting before following the video, but just by passing my eyes on it, it seens that this is the perfect tutorial for everything i planned to use, so thanks a lot in advance

  • @OneWheelStudio

    @OneWheelStudio

    2 жыл бұрын

    I hope it lives up to expectations 😉

  • @018FLP

    @018FLP

    2 жыл бұрын

    ​@@OneWheelStudio Yeah, there are a some tweaks to make (e.g., my move is 2d simple directional, with backwards and sideways specifics animations), but in general a very very solid tutorial, i learned a lot! =DD

  • @X7373Z
    @X7373Z2 жыл бұрын

    Is it just me or does the video at 38:40 start doing a weird skip/stutter for the rest of that segment? (up to ~39:07 )

  • @OneWheelStudio

    @OneWheelStudio

    2 жыл бұрын

    Hmm. I don’t see it happening. I’d definitely be interested if others see seeing it too.

  • @javiebeats759

    @javiebeats759

    2 жыл бұрын

    @@OneWheelStudio it does.

  • @patek2385
    @patek2385 Жыл бұрын

    How can I initiate Jump action? It doesnt do anything when I press spacebar. Also there seems to be a problem with the gravity script. My player doesn't fall down, it just moves in the same plane.

  • @OneWheelStudio

    @OneWheelStudio

    Жыл бұрын

    The issue with the gravity is at 16:31. I made a mistake in the code and put an text based message on the screen pointing it out. I should have made it more obvious. Oops.

  • @patek2385

    @patek2385

    Жыл бұрын

    @@OneWheelStudio I'm gonna check it today, thank you for pointing this out

  • @Coldsteak
    @Coldsteak Жыл бұрын

    why do all these tutorials use cinemachine? What if I don't want to add some bloated camera library to my project?

  • @generichuman_

    @generichuman_

    4 ай бұрын

    Then get out a pencil and paper and figure out the trig to do it yourself...

  • @rdragon587
    @rdragon5872 жыл бұрын

    cool )

  • @vj711
    @vj7114 ай бұрын

    I have this error. I have done everything as the video. No i didnt type the code in ondisable to onenable. Null reference exception: Object reference not set to an instance of an object ThirdPersonController.FixedUpdate()

  • @Seshua87

    @Seshua87

    3 ай бұрын

    NRE: Object ref is normally because something is not being linked together, go through your code, and your hierarchy and make sure you link everything that should be, i.e make sure your camera is linked. Small tip, it's really hard for someone to help you when we can't see your code, 98% of the time it's a typo. Try pasting your code into a reply message and someone might be able to spot the problem.

  • @hawkgamedev
    @hawkgamedev Жыл бұрын

    Quick question, is there a reason my character stays in the air when jumping or going off cliffs?

  • @OneWheelStudio

    @OneWheelStudio

    Жыл бұрын

    Yes. There was an error in the code with a on screen notification - wasn’t super obvious. Can’t remember exactly where in the video (on mobile) but if you check the comments there should be solutions and time stamps.

  • @hawkgamedev

    @hawkgamedev

    Жыл бұрын

    @@OneWheelStudio thanks will check it out!

  • @mdaltaf5020
    @mdaltaf50202 жыл бұрын

    Can you please make a third person tutorial for bolt 🙂

  • @user-ee1jz5nl6c
    @user-ee1jz5nl6c2 жыл бұрын

    Thank you for video! Can you make video about Touch input for mobile divice?

  • @OneWheelStudio

    @OneWheelStudio

    2 жыл бұрын

    I have almost zero experience with mobile, but I do get a lot of requests. So maybe some day. Can't promise it'll happen soon.

  • @juliaalder2007

    @juliaalder2007

    2 жыл бұрын

    In the third person controller from the starter assets mobile is implemented.

  • @KotobaProject-KOTOBA
    @KotobaProject-KOTOBA11 ай бұрын

    HEY! Thanks for the Tutorial! i had an issue with the character, one that made her fly as soon i started the game. It wasnt the code error in 16:32 and it wasn't a capsule collider issue, i find out that this is a problem with the Animator component... to fix this, just disable Apply Root Motion. Hope someone find this useful, thanks for the video

  • @Warp_Speed_Studios

    @Warp_Speed_Studios

    8 ай бұрын

    lol

  • @threydrey328
    @threydrey3282 жыл бұрын

    What is the point of the keyboard movement if you can't walk. If you play keyboard you will only be able to run. Where is the simple shift run?

  • @OneWheelStudio

    @OneWheelStudio

    2 жыл бұрын

    You would need to add that functionality. My first thought to do that would be to use the shift button to toggle the max speed. Shouldn't be too hard to add in.

  • @Omnivoid22
    @Omnivoid22 Жыл бұрын

    would this be the same for a character controller? would i just replace rigidbody with character controller?

  • @OneWheelStudio

    @OneWheelStudio

    Жыл бұрын

    I honestly have explored the character controller much, but what’s shown in the video should be adaptable to the character controller component.

  • @Omnivoid22

    @Omnivoid22

    Жыл бұрын

    @@OneWheelStudio I'll give it a shot

  • @kperezapolla
    @kperezapolla2 жыл бұрын

    Great tutorial, im habing some issues but is because me i dont understand at all your code!

  • @oliverhuber4578
    @oliverhuber4578 Жыл бұрын

    How would you add a jump animation to this setup?

  • @OneWheelStudio

    @OneWheelStudio

    Жыл бұрын

    There would be a lot of steps to do that! I would suggest researching "triggers" in the animator and "avatar masks." The trigger will let you transition to a new animation - you will need to add a jump animation. Then you can use an avatar mask to have the jump animation only apply to the legs - this allows the arms to still hold a weapon or what ever.

  • @samchristian9149
    @samchristian9149 Жыл бұрын

    how could i stop moving during my attack animation?

  • @OneWheelStudio

    @OneWheelStudio

    Жыл бұрын

    I'm not sure there is a super simple answer, but learning to use Unity's "StateMachineBehavior" is a really good start. It allows you a good way to know what's going on with an animation and run code accordingly. Animation triggers, unless something has changed, are often held up as a good (and much simpler) solution but they are buggy and non reliable. With the StateMachinceBehavior you could set the players velocity to zero while the particular animation plays. You might also be able to ignore player input while an attack animation plays. Here's the documentation: docs.unity3d.com/ScriptReference/StateMachineBehaviour.html

  • @erngkmn
    @erngkmn Жыл бұрын

    Hi it was a very usefull tutorial. But I have some problems I used codes exacly same but my character animation did not well it's acted very strange. And my character lookAt code works only when I use update if ı use fixedUpdate the code does not worked. Also same problem with animation codes

  • @erngkmn

    @erngkmn

    Жыл бұрын

    Note : I fixed that issue if your character animation is wiggle too just select Animate Physics on Animator component.

  • @erickcardenas13
    @erickcardenas13Ай бұрын

    plyer isnt facing in direction of input

  • @kozmobotgames
    @kozmobotgames8 ай бұрын

    How can I make my player jump, please reply!!

  • @OneWheelStudio

    @OneWheelStudio

    7 ай бұрын

    Sorry, been busy. Check the comments if you haven't. Lots of folks have had jumping issues, and I'd guess there's a good chance you issue is mentioned.

  • @conservativestrawman9837
    @conservativestrawman98372 жыл бұрын

    No composite options when I right click the action. Send halp.

  • @OneWheelStudio

    @OneWheelStudio

    2 жыл бұрын

    In the action properties set "action type" to "value" and the control type to "vector 2"

  • @Bluhbear
    @Bluhbear2 жыл бұрын

    Having to type to specify the whole joystick and the 2D vector composite not being available from the plus sign are both because you hadn't set the Move action to be a Vector2, rather than a Button. This is a great tutorial, though. I've really been struggling with the coding aspect of movement lately. I'm having two issues with this, though: 1. The Jump Raycast isn't working for me. I might have to mess around with the positioning, but I'm putting that off for now, because... 2. Something about this code has made my player entirely immune to gravity. If I walk off a cliff, they just float, and can walk on air. I am very confused by this one. 🤷‍♂️ (Both issues are solved! See replies.)

  • @Bluhbear

    @Bluhbear

    2 жыл бұрын

    Ok, I don't know why, but if I comment out the line: if (rb.velocity.y it stops floating. This shouldn't do anything unless the fallspeed is already negative, though, so I have no idea what's going on.

  • @OneWheelStudio

    @OneWheelStudio

    2 жыл бұрын

    For issue #2 I made a sign error in the jump code. I added a written comment on screen and fixed it later in the video. You can also check out the linked code which should be correct.

  • @OneWheelStudio

    @OneWheelStudio

    2 жыл бұрын

    As for the first issue, raycasting can be a pain to debug. You can try adding a debug ray call to visualize where the ray it.

  • @Bluhbear

    @Bluhbear

    2 жыл бұрын

    @@OneWheelStudio ohhh.... I just missed that, somehow 😅 Thanks for the quick replies!

  • @Bluhbear

    @Bluhbear

    2 жыл бұрын

    The issue with the raycast is that the origin position is based on the center of the player, rather than the bottom, so it either needed to be longer, or start from a lower position.