The level of quality (video itself, presentation, quality of work, your humor) and the speed you’ve been putting content out is incredible. Thank you my fine sir.
Does that mean you have the source code? Because what's in the description is a different one that uses Rigidbody and a Capsule Collider instead of a box.
This is an incredible resource (and also the Celeste 101 haha), both for actual usage or just studying it. Thank you so much for providing this! Keep doing amazing stuff :)
I'm building a fully packed metroidvania and it already has almost everything you've implemented on this package, except for the ledge detection when jumping. So, I'm going to download it and give it a try! Thank you for your content, it's really great!
@@good1742 It's called WIZ and I'm still working on the project. Since I'm solo developing it, it's taking a while lol But you can wishlist it on steam
Did you manage to implement the ledge detection? I have been trying and I cannot use the code used here to nudge the player up when they barely missed the platform's ledge could you please help me?
This is awesome and I definitely plan on testing out this code soon but at 2:04 that has to be intentional that that arrow looks like a particular part of the male anatomy haha.
I have seen many platformer scripts and plugins, but this seems to be the best one I have seen yet. Going to try it out later, thanks so much like always :)
You channel is one of the finest in game dev tutorial now - short, precise and easy to understand. I have followed some of your older tutorials - and you have improved a lot as a creator - over time. Also would like to thank you for providing - all the resources and links in descriptions - and not creating a paywall for people to get your code. Appreciate it.👌
Hey! I watched your video about a week ago, I was desperately searching for a good 2D character controller whilst trying to learn Unity, and after some work I've managed to implement all the features you showed in your video using your code as an inspiration when I needed to, thank you so much for uploading this!
Hey man, thanks for the amazing free script!! Works beautifully!! Just one thing that I think would be good to mention in some documentation: the Rigidbody2D that the player needs, works better when Collision Detection is set to Continuous. When I had it to Discrete it would keep snagging when landing with some speed, I changed the Collision Detection end it was gone!
This is maybe the best Unity 2D platformer video on UA-cam right now. And that you can get its source for free and use it yourself in commercial projects... dang.
my favorite of all these invisible tricks is clamped fall speed, it just feels so great to be able to land more precisely when your fall speed is clamped
Dude this is an amazing resource, I've played platformers for years and I never knew what "coyote time" was but the second you said the words I knew what you were talking about.
That's really cool! Thank you for publishing this. Also a really important thing in platformers is being able to see what's coming. I know this video is about the character controller but I just wanted to note it because it's important and that this has been a thing since the first Mario. Basically create some invisible barriers where the camera will catch up to the player on the opposite side of it. If the player is moving to the right, place the character on the left side of the screen so the players know what's coming. In Mario I think they put you more in the centre of the screen, but it's pretty much all up to you.
Just a heads up, if you are trying to use this character controller, the corner-nudging code doesn't work with tilemaps or colliders with complicated geometry. Instead get the nearest position of the collider you run into and go from there. (it needs some tweaks after that)
Definitely will have to be looking into this.. I'm not entirely understanding everything the code is doing yet, but this at least gives me a hint of something to look at.
I actually logged into both my accounts to sub twice. This is a perfect tutorial. Short, sweet and resources provided with concise explanations. Thank you so much!
Another level of depth to this is - speedrun controls - for e.g a forward down dash after a small jump lets u cover huge gaps in Celeste taking fractionally lesser times as compared to a normal jumping reaching its apex and so on .. game development is a deep deep rabbit hole ..
adding these kinds of mechanics to games are what makes them enjoyable in my opinion. you can be a casual gamer and just do the basic stuff or someone very competitive who wants to really take advantage of every little thing and figure out all the mechanics and how to best use them. Apex Legends is a perfect example for this. You dont *need* to learn all the fancy movement tricks but if you do learn them and practice them and master them you can really distinguish yourself from the rest.
My team just added this to our game! The way we got working without much hassle was by giving the lift a reference to every object that needs to receive its momentum. Then, whenever the lift moves, it can also call the movement functions of all of the objects that also need to move. This system can allow you to do other cool things as well. For example, if you give the player a separate “fixed velocity” component from the regular velocity, you can store the lift’s velocity so it can then be transferred to the player once they jump off. To get this working, the player will also need to store a reference to the lift so when they jump off, the player script can access the lift and clear the lift’s reference to the player so the lift stops trying to move the player.
I just subbed from a different video and I gotta say thank you for this one as well, but I just can't get over that squishy sound when it lands after a jump, it is vile how absolutely sloopy it sounds😆
maybe adding the ability to modify acceleration and deceleration the way you want for making some ice maps for example so the player slowly slides on the platform, still it is an ultimate controller and i love it
Quickly and easily you've become my main channel to watch on UA-cam above anything else. I'm going to learn so much heading into my 2nd year as a Game Dev, so much more to learn but am just getting started. All your content is amazing, much thanks :)
I just found this and i love it and how customizable it is and though it's a little bit slidy (at least for me) it's amazing and i'm gonna try incorparating some of these on my own when i am better at using unity
Holy cow, thanks man for giving it away for free... You're a hero, you could have sold it in the asset store or something, but you woke up and chose generosity 🙏
@@Tarodev If we are using Celeste as a case study they allow you to dash downwards taking away your dash of course however they gain downward momentum equal to that of the dash momentum almost instantly.
I've been waiting for a video like this for eons. Rigidbodies and Unity's colliders are useless for the type of game I'm working on (a 2.5D beat 'em up), as I don't need a bunch of physics that eats processing power and makes characters fly away like crazy. This is a much needed solution. Thank you.
@@Tarodev exactly what we need in this community , you have now gone in the ranks of brackeys (if not higher) and other amazing game devs on youtube, you legend
It's great to explain all concept you can find in a controller, I used to use Sebastian Lague Platformer Controller implementation like base to implement my own and I found thoose tricks by myself later. And you give me some tricks I didn't have yet like vertical edge detection to correct movement. Thank you.
this video is incredibly well made, i'm currently making a subway surfers-esque game and yet this is still really useful information for my jump mechanic despite the two games being insanely different - just shows how absolutely brilliant this video is🫡
Bro I really needed something like this (and not made like 7years ago), as I am studying an tinkering with Unity. This is both extremely good for me to use and focus on other aspects or treat as research material. +Subbed
Would love to see more additions such as being able to jump up through floors above you and land on them, think smash bros, also down jumping that lets you phase though floors below you
Brilliant video! Really excited to give this a go! You’ve done an amazing job continuously contributing to this until today (I can see you’re still active in the comments)
Taro's game is more arcade and fun than than the two shown lmao. The colors and cloud running dust are a nice touch. So is the bouncing character animation.
I would like to create a challenge room that's almost impossible in the case of Hollow Knights White Palace and see if ease of movement adds to the experience or detracts from it. There should always be pros and cons when dealing with movement, attacks, upgrades and abilities so you can feel like there's some form of accomplishment or it would feel like handholding to a suffocating extent
@@Tarodev It's just much easier to justify jump buffering if someone were concerned about the physics. Sometimes I coyote jump IRL. There's still friction between my shoe and the side of some random block floating in mid-air to help me accomplish that. Anyway, these are all great techniques to compensate for the human-to-game technology interface and latency issues (even if you wanted to argue jumping should be physics accurate), and add a (imo) great feel to games. Some of them are ideas I've had before and it's great & reassuring to see them implemented in code for games and I thought your video was superb. I could also go on about how games don't accurately reflect reality, they do often reflect how humans *feel* or imagine reality to be. IRL as we fall, we can and do kind of prepare for a next jump by how we land and anticipate the landing. Maybe we crouch a bit more, or apply more strength with our legs, or something.. anyway I think there is something analogous to jump buffering IRL. I was just singling out jump buffering because I don't feel it (arguably) "cheats" physics while some of the other techniques better fit the definition of a trick. [and clamped fall speed is just terminal velocity, arguably the most physics accurate technique of them all.] Jump buffering stands out to me, the player already told the game s/he wants the character to jump and I think that's the important part, not the exact timing. I don't want to get pedantic, but as a side note I think it's possible to explain how none of these techniques violate physics; it would just take more explanations and mysterious tech. And I think some games have or would add in those kind of details. Like stored energy or microjets or rocket boosters.. or using inverse kinematics (with coyote jumping) so the character's location still makes sense visually.
Beautiful! Thank you so much for sharing this! And for those who would rather make your own, try to look into some of the key words mentioned and making those mechanics one by one. It's a great way to learn character controllers but physics and other things as well.
Happened upon this video by chance and so glad that I did. Concise, to the point and the fact that you're sharing this source code is very cool. +1 sub
The level of quality (video itself, presentation, quality of work, your humor) and the speed you’ve been putting content out is incredible. Thank you my fine sir.
Does that mean you have the source code? Because what's in the description is a different one that uses Rigidbody and a Capsule Collider instead of a box.
Short, straight to the point, open source and with a very nice prototype : Perfect !
Yeah but there is no source. Do you have it ?? That one has Rigidbody and a Capsule Collider in
This is an incredible resource (and also the Celeste 101 haha), both for actual usage or just studying it. Thank you so much for providing this! Keep doing amazing stuff :)
Hopefully it can help some people out :)
@@Tarodev It will help so many people bro… Thank you. 🖤
hey papa alex, do you know if this code would work if i just straight up copied it into my unity project?
Do you have the code that doesn't uses Rigidbody and a Capsule Collider like he said in the video?
Woah, Props to you to decide to give us a source for free. While you could easily sell this for some money. Mad respect.
I'm building a fully packed metroidvania and it already has almost everything you've implemented on this package, except for the ledge detection when jumping. So, I'm going to download it and give it a try! Thank you for your content, it's really great!
What's it called? Or did u give up after 6 months
@@good1742 It's called WIZ and I'm still working on the project. Since I'm solo developing it, it's taking a while lol But you can wishlist it on steam
@@bwulf wishlisted. looks cool
@@bwulf your game looks amazing
Did you manage to implement the ledge detection? I have been trying and I cannot use the code used here to nudge the player up when they barely missed the platform's ledge could you please help me?
This is awesome and I definitely plan on testing out this code soon but at 2:04 that has to be intentional that that arrow looks like a particular part of the male anatomy haha.
Got the controller up and running in minutes. Feels great! I have to dig in a little as I'm finding he doesn't like slopes too much just yet.
Indeed, zero slope detection right now :P
It makes it easier to handle slopes of you use ray casts to check for ground🍻🍻
This guy is legend himself. Finally an reliable advanced tutorial/resource to watch after Brackeys.
Thanks for saying that, brother 🙏
I don't need something like that at the moment but dude, it is perfect for 2D player controller. Keep up the good work!
Absolutely brilliant, the most important mechanic being the wet splat sound ofcourse.
Oh yes 😉
2:03 LMAO!! Fantastic video once again and this just inspired me to create a game
I have seen many platformer scripts and plugins, but this seems to be the best one I have seen yet. Going to try it out later, thanks so much like always :)
You channel is one of the finest in game dev tutorial now - short, precise and easy to understand.
I have followed some of your older tutorials - and you have improved a lot as a creator - over time.
Also would like to thank you for providing - all the resources and links in descriptions - and not creating a paywall for people to get your code.
Appreciate it.👌
Thank you for saying that. I like watching some of my older videos to see how I'm progressing. Glad somebody else noticed too
Do you have the code?? @Tarodev has switch it out
Its incredible how much info can fit in a 3min video.. congrats
Hey! I watched your video about a week ago, I was desperately searching for a good 2D character controller whilst trying to learn Unity, and after some work I've managed to implement all the features you showed in your video using your code as an inspiration when I needed to, thank you so much for uploading this!
This gave me a lot of insight on platformer polishement. You'r making great material, keep it up!
Hey man, thanks for the amazing free script!! Works beautifully!! Just one thing that I think would be good to mention in some documentation: the Rigidbody2D that the player needs, works better when Collision Detection is set to Continuous. When I had it to Discrete it would keep snagging when landing with some speed, I changed the Collision Detection end it was gone!
Even the most basic scenario it's fun with those controls!
This is maybe the best Unity 2D platformer video on UA-cam right now. And that you can get its source for free and use it yourself in commercial projects... dang.
my favorite of all these invisible tricks is clamped fall speed, it just feels so great to be able to land more precisely when your fall speed is clamped
It's one of the lesser loved ones, that's for sure. But remove it and it's absolute chaos.
I recommended your channel to so many friends, and I won't stop! Great videos!
I appreciate the love, thank you 🙏
Dude this is an amazing resource, I've played platformers for years and I never knew what "coyote time" was but the second you said the words I knew what you were talking about.
Tricks of the trade 😉
This is so perfect! The controls looks smooth and perfect
That's really cool! Thank you for publishing this. Also a really important thing in platformers is being able to see what's coming. I know this video is about the character controller but I just wanted to note it because it's important and that this has been a thing since the first Mario.
Basically create some invisible barriers where the camera will catch up to the player on the opposite side of it. If the player is moving to the right, place the character on the left side of the screen so the players know what's coming. In Mario I think they put you more in the centre of the screen, but it's pretty much all up to you.
Great tips. The camera was lacking a bit in this demo for sure. Especially on the drop zone.
May I recommend the Cinemachines plugin :)
It can exactly what you are asking for any significantly more. It is a free asset that Unity provide :)
Camera controllers are a science of their own - often underappreciated
Just a heads up, if you are trying to use this character controller, the corner-nudging code doesn't work with tilemaps or colliders with complicated geometry. Instead get the nearest position of the collider you run into and go from there. (it needs some tweaks after that)
Definitely will have to be looking into this.. I'm not entirely understanding everything the code is doing yet, but this at least gives me a hint of something to look at.
Do you have the old code? I want to see if I can fix it
@@KuariThunderclaw I can do for you. For free... first thing on coding, you need to understand EVERYTHING in your code. Unless it's not yours
Thank you!
I'm always trying to learn what makes movement more satisfying.
Please never delete this video
I actually logged into both my accounts to sub twice. This is a perfect tutorial. Short, sweet and resources provided with concise explanations. Thank you so much!
Lol damn bro, thanks
Yeah it would be a perfect tutorial if he had the source code and not something else
Another level of depth to this is - speedrun controls - for e.g a forward down dash after a small jump lets u cover huge gaps in Celeste taking fractionally lesser times as compared to a normal jumping reaching its apex and so on .. game development is a deep deep rabbit hole ..
adding these kinds of mechanics to games are what makes them enjoyable in my opinion. you can be a casual gamer and just do the basic stuff or someone very competitive who wants to really take advantage of every little thing and figure out all the mechanics and how to best use them. Apex Legends is a perfect example for this. You dont *need* to learn all the fancy movement tricks but if you do learn them and practice them and master them you can really distinguish yourself from the rest.
You my friend, is making the world a better place. Thank you!
I've made physics like this several times, but the hardest thing IMO is velocity transfer from lifts. It Fs everything and stuff breaks around :D
My team just added this to our game! The way we got working without much hassle was by giving the lift a reference to every object that needs to receive its momentum. Then, whenever the lift moves, it can also call the movement functions of all of the objects that also need to move.
This system can allow you to do other cool things as well. For example, if you give the player a separate “fixed velocity” component from the regular velocity, you can store the lift’s velocity so it can then be transferred to the player once they jump off. To get this working, the player will also need to store a reference to the lift so when they jump off, the player script can access the lift and clear the lift’s reference to the player so the lift stops trying to move the player.
2:02 sus doodle.
Fantastic resource! Just found your channel today and I'll be deep diving through all of this fantastic content.
Do you have the source? Because he changed the code
Dude. That's some awesome community service. Kudos.
The sound when they character hit the ground is so appealing lmao
Wow I've been working on platformer games for yyyyeeeearsss and am hearing some of this for the first time tysm
That sound effect for when your character lands, sounds like it was sampled from a rated R movie.
For all you know, it was ;)
Bro much appreciated, Been on my journey as a solo dev and this is an invalubale source, amound others. Thank you
I just now updated the free version of the controller. Go check it out :)
That thing sus 2:02 but this is a great vid!
Great! This is what i was looking for
I just subbed from a different video and I gotta say thank you for this one as well, but I just can't get over that squishy sound when it lands after a jump, it is vile how absolutely sloopy it sounds😆
Especially the slow mo splat :D
maybe adding the ability to modify acceleration and deceleration the way you want for making some ice maps for example so the player slowly slides on the platform, still it is an ultimate controller and i love it
Looks amazing, im gonna try that later
Wow. Just wow. Definitely sharing this.
wow this is so fluid not using unity but learnt alot from the logic
Quickly and easily you've become my main channel to watch on UA-cam above anything else. I'm going to learn so much heading into my 2nd year as a Game Dev, so much more to learn but am just getting started. All your content is amazing, much thanks :)
Much appreciated 🙏
Do you have the code? Because @Tarodev switch the code to use Rigidbody and Capsule Collider.
I just found this and i love it and how customizable it is and though it's a little bit slidy (at least for me) it's amazing and i'm gonna try incorparating some of these on my own when i am better at using unity
Holy cow, thanks man for giving it away for free... You're a hero, you could have sold it in the asset store or something, but you woke up and chose generosity 🙏
Man… controls look perfect. Thank you bro. 🖤 Will help me a lot.
Very new to unity, thanks for the gift, should help me get motivated to do and learn more.
2:04 the sketch reminds me about something
2:02 I see you. Yes, I'm burning through all your videos. Thanks again!!
Good shit. Became a patron for the extended controller (worth it)
This is awesome!
Also, for speedrunners: turning off Clamped Fall Speed should be a little faster :D
Yes you're right! Might be harder to make that curved fall though :P
@@Tarodev If we are using Celeste as a case study they allow you to dash downwards taking away your dash of course however they gain downward momentum equal to that of the dash momentum almost instantly.
I've been waiting for a video like this for eons. Rigidbodies and Unity's colliders are useless for the type of game I'm working on (a 2.5D beat 'em up), as I don't need a bunch of physics that eats processing power and makes characters fly away like crazy. This is a much needed solution. Thank you.
This is really cool. Great quick explanation
What an absolute chad, makes an epic player controller and gives it out for free.
Spreading the love brother
@@Tarodev exactly what we need in this community , you have now gone in the ranks of brackeys (if not higher) and other amazing game devs on youtube, you legend
@@fishbox385 Damn bro 😂 Thanks
What a based chad coder here
OMG the unity 2d controller that is ACTUALLY worth downloading. Nice work, good research, and thank you.
Now I am hyped to revisit my paused astro platformer project! 🙏
lol XD I love your videos. Going to draw all my arrows like this from now on. Extremely neat controller, thanks!
@@GlassVaultStudio 😆
I'm showing your channel to all my friends, keep it up
Appreciate it Paulo
wow that guy is building a portfolio haha ^^ nice project and thank you very much! this is such a great resource for starting game dev!
It's great to explain all concept you can find in a controller, I used to use Sebastian Lague Platformer Controller implementation like base to implement my own and I found thoose tricks by myself later. And you give me some tricks I didn't have yet like vertical edge detection to correct movement. Thank you.
That's a top notch resource right there
Very nice controller feels really nice. I tried it for my project which contains slopes and this controller breaks wonderfully :D
Hah yeah, needs a bit of work to utilize slopes
Coyote jumping is a really great one. Playing older platformers can be rough because they usually don't have this.
Coyote + buffered really makes a huge difference!
This is an invaluable resource, thank you!
You're most welcome
I love your video, smooth, simple, and straight to the point.
I'd highly integrate your creation to the game we are making. If you would'nt mind, we'd love you to try it oneday when its finish.
this video is incredibly well made, i'm currently making a subway surfers-esque game and yet this is still really useful information for my jump mechanic despite the two games being insanely different - just shows how absolutely brilliant this video is🫡
1:19
is that reference to the famous... ohhhhhhh
aight that was a smart one XD
Bro I really needed something like this (and not made like 7years ago), as I am studying an tinkering with Unity.
This is both extremely good for me to use and focus on other aspects or treat as research material.
+Subbed
this is a true legend, thank you for providing the tutorial
You're welcome brother
He doesn't even give the source like he says he does. It's different code.
what a fricking amazing channel !! so happy my friend told me about this
Would love to see more additions such as being able to jump up through floors above you and land on them, think smash bros, also down jumping that lets you phase though floors below you
Brilliant video! Really excited to give this a go! You’ve done an amazing job continuously contributing to this until today (I can see you’re still active in the comments)
I do my best 😅 Enjoy the controller!
These contents are real unique and important to know. I hope you keep creating them.
Subscribed. Excellent video. Frewt movement. That cude felt so smooth so proffesional.
Taro's game is more arcade and fun than than the two shown lmao. The colors and cloud running dust are a nice touch. So is the bouncing character animation.
People like you drives the community further
keep up the good work
Everything is good on this video. Like everything. Not only the thing I was searching for.
Amazing work as always
I'm just learning visual scripting so I do not know how this works 😅 but it does look amazing! Great Job!
You should be able to hook it up using visual scripting, but I wouldn't be able to help you with it :D
@@Tarodev Thank you for helping either way!
Great video! I'm gonna sink my teeth into making this myself and see what I can learn.
I would like to create a challenge room that's almost impossible in the case of Hollow Knights White Palace and see if ease of movement adds to the experience or detracts from it. There should always be pros and cons when dealing with movement, attacks, upgrades and abilities so you can feel like there's some form of accomplishment or it would feel like handholding to a suffocating extent
Sounds like my kind of game
Have you by any chance saved the old code? @Tarodev has replaced it with something that has nothing to do with the video
This looks awesome! Thanks man!
Dude thanks, this is exactly what I was looking for
actually insane, great resource!
I almost don't want to go download this just to try constructing it myself...
Good stuff Taro, loving the content.
Too bad if you didn't downloaded it because I'm looking for it. He switch the code of the video with another.
Jump buffering is just smart.. it's not some violation of physics.
You don't bugger your jumps in real life?
Next you'll be telling me you don't coyote jump
@@Tarodev It's just much easier to justify jump buffering if someone were concerned about the physics.
Sometimes I coyote jump IRL. There's still friction between my shoe and the side of some random block floating in mid-air to help me accomplish that. Anyway, these are all great techniques to compensate for the human-to-game technology interface and latency issues (even if you wanted to argue jumping should be physics accurate), and add a (imo) great feel to games. Some of them are ideas I've had before and it's great & reassuring to see them implemented in code for games and I thought your video was superb. I could also go on about how games don't accurately reflect reality, they do often reflect how humans *feel* or imagine reality to be.
IRL as we fall, we can and do kind of prepare for a next jump by how we land and anticipate the landing. Maybe we crouch a bit more, or apply more strength with our legs, or something.. anyway I think there is something analogous to jump buffering IRL. I was just singling out jump buffering because I don't feel it (arguably) "cheats" physics while some of the other techniques better fit the definition of a trick. [and clamped fall speed is just terminal velocity, arguably the most physics accurate technique of them all.] Jump buffering stands out to me, the player already told the game s/he wants the character to jump and I think that's the important part, not the exact timing.
I don't want to get pedantic, but as a side note I think it's possible to explain how none of these techniques violate physics; it would just take more explanations and mysterious tech. And I think some games have or would add in those kind of details. Like stored energy or microjets or rocket boosters.. or using inverse kinematics (with coyote jumping) so the character's location still makes sense visually.
@@user-zu1ix3yq2w apex modifiers may be a little hard to explain
Woww😳. Awesome dude. Keep it up and Thanks for making this.
Omg, this is some god tier mechanics. Saved and Subbed
I wish I found this a long time ago! I made a character controller using a Rigidbody and it was an absolute headache.
You can still make great RB controllers. But for total control, this is the way to go :)
This is funny... he switch his code to use those two
private Rigidbody2D _rb;
private CapsuleCollider2D _col;
This is incredible! Thanks so much for making this. I just got into Unity and just could'nt get the character jumps feeling good at all. Amazing!
Beautiful! Thank you so much for sharing this!
And for those who would rather make your own, try to look into some of the key words mentioned and making those mechanics one by one.
It's a great way to learn character controllers but physics and other things as well.
Awesome, well done! Thank you so much for sharing!
Dude this is just a huge amount of work you gave away for free. Thanks so much
I literally creamed while you were listing the features. This is literally perfect
I'm glad I could have that effect on you
Happened upon this video by chance and so glad that I did. Concise, to the point and the fact that you're sharing this source code is very cool. +1 sub
Do you have the source code? Because the code he has right now is not the code he is using on the video
Movement Is My Favorite Thing Ever To Work On
It really is a lot of fun