Wow, finally someone who takes the time to explain how things works instead of proposing ready made solutions that nobody understands. Thank you so much.
I've watched a lot of tutorials and stuff on movement in 2D games, and I've seen all the different ways they do it, but never explained. Came across this video, and now it's all clear to me. Thanks :)
4 ways of movement: PHYSICS BASED 1. Velocity 2. Addforce (Type: force - slowly moves up the force; impulse - no build up instant force) NON-PHYSICS BASED 3. Position 4. Translate
best tutorial for basic unity ive ever seen. i dont know how people can learn just by copying someone else's code, actually having the process in front of me and explained is absolutely brilliant.
Gave me great understanding of how to actually make my own movement script unlike the rest of those youtube tutorials where they just use an already made script, thank you so much
wow this is seriously underrated. you deserve more support. simple things like this allows beginners to develop more creative ideas because we get to understand the parts of the script itself whereas others only provides results of using a certain script. your way makes us be more confident in experimenting on the engine on our own.
Please give us tutorials like this again. They are really amazing and not boring to watch. You are clearly explaining the things and reason behind them. Thank you very much. This channel is underrated.
I wanna express my sincere gratitude to you. I have been so many tutorials and this is just the thing that I wanted. "The difference between different movements" . All I ever got was "Confusion" UNTIL NOW
Thank you so much for clear explanation! I was using unity for about a week and just copy pasted somebody's movement script without understanding what it does, but now i can write my own movement script and it's all thanks for you
This is great, I'm a software engineer trying to become a game developer and despite being a software engineer I'm not great at coding, so this is really helpful, I have always wanted to develop games and I'm currently working on my first, thanks for the help!
One thing I would add; if you manipulate an object via its transform, you kind of break the physics interactions. So objects that should 'bounce' off each other will potentially pass through each other. If your player character runs against a dead end wall it will jitter rather than if you use velocity / force where it will simply stop moving (your run animation might keep going but that's a whole different thing ;-) )
I don't know why he has so little subscribers. He is probably the best teacher i found so far that actually helped me explaining every little detail. Thank you man. You're the best
Amazing. I've seen so many tutorials of movement but its center on a specific idea and this video explains every type of movement so you can choose which one to use depending on YOUR idea and not on the videos idea. Thank You so much
Thank You Sir For Making This Video , My every doubt regarding movement, now has been cleared, u explained everything in details ofcourse with live examples, i really like the way u teach, Keep up the good work.
I wanted to start programming as a digital artist but could’t find any good tutorials but then I found your channel and it have helped me a lot! Thank you for great content x3
Awesome bro i like your tuts, and i was wondering if you can make tuts serie about making complete 2D game from scratch for beginners and inclouds many features like kicking, shooting and all this cool stuff.
Thanks for the comment! I'd absolutely love to, I'm a actually just waiting for unity to officially release the new input system, as it will have a critic effect on any big video series make
I am excited for the new input system. Once you make a video on the new input system that is officially out of preview, please cover how mobile inputs work under this system.
Defenitly subscribed! Your explanations helped a lot! Keep it going like that, its the best way for beginners to understand how this language works! thank you very much!
A few of your points such as using FixedUpdate and not to use transform position with rigid bodies were something I had to figure out by myself. Wish I had come across your video earlier. Great tutorial nonetheless
'sWhen I pressed play the player just floats down really slowly and when I press D or A (I have this instead of the arrow keys) the player doesn't move. I don't know what's wrong, is there anyone who could help? btw I am at 3:11 in the video edit: I figured out why the character was falling so slowly (it's the gravity thing under rigidbody2D) but I still don't know how to fix the player movement
I am really new to Unity, C# and a bit programming too, so thank you for this really helpful tutorial! I like how you really explain this stuff on a coding level for beginners instead of just dragging and dropping working stuff. However, I wonder why your Visual Studio seems to give you always the best next suitable words while writing code and mine not (or at least less). Therefore I cannot really explore all the different Methods given, but have to find them out via internet one by one. I downloaded unity and VS just recently - is there any setting I just have activate or what could be the reason for this?
Complete beginner here, so I may be wrong, but after the code shown in the example, I would try creating a speedLimit variable and adding something like: if (moveSpeed > speedLimit) { moveSpeed = speedLimit } So the AddForce method will still try to increase the speed, but this statement would reset it back down to the limit you have set. Can someone who knows what they're talking about let us know if I'm right??
2:21, i have a problema, i tried to attepmt "roll a ball" tutorial from unity But, when i type "Vector2", the color remain the same, just like a random text without a meaning or a role Can anyone tell me what.s wrong?
Cool video! for reference, adding to transform.position and using transform.translate are doing the exact same thing. using space.self is the exact same as adding to transform.localPosition and using space.world is the same as adding to transform.position
If Time.deltaTime is used inside FixedUpdate, it automatically returns Time.fixedDeltaTime. In other words, you can safely use Time.deltaTime everywhere. Source: docs.unity3d.com/ScriptReference/Time-deltaTime.html (See the second line on that page.)
Hi, I know you probably won't see this but I just thought I might try. I'm having trouble with the code, (this is the first example you showed I'm talking about) when I add the "else {buttonPressed = null;}" the code stops working and no error comes up in the console or anything. I added a Debug.Log thing to test if the code to move the player to the right worked, and it magically fixed the problem. So then I thought I'd put in the part of the code to make the player move to the left, and then the code stopped working again. I tested some more, and when I tok the buttonPressed = null; away completely from the code it started working but the player won't stop moving, and when I put the buttonPressed = null; back the code stops working again. I don't know what's wrong. If it isn't too much trouble could you maybe help me or point me in the right direction? No worries if you can't of course. edit: I've changed the script and now if I spam the button it might move a little
Do big animation movies include coding? Or only in games? In animation making app to move a character like that I have to draw multiple images of that in different places to look like it moving.
This is the best movement related tutorial Ive ever seen on RUclips . I have a small doubt, why physics related stuffs are kept under FixedUpdate() instead update() ?
i have a problem where it says Assets\PlayerController.cs(33,33): error CS1002: ; expected although when i put a ; to ButtonPressed = null Then 7 more errors pop up
Ow wow, even if you don't believe, you may have heard, the Lord works in misterious ways, or something along those lines. Now I know, this is youtube and there's an algorythm but this is what happened. I saw an inspiring vid about why quitting alcohol is good. In that was a piece of an interview on Howard Stern with Ben Affleck about his journey with quitting alcohol, so I wanted to find the whole interview. I opened a new tab, but because I have been looking into 2d programming as well, this vid popped up. Finally I would say, because the beginning is very very steep... AND as a bonus, 4 more vids on the side about 2d movement and examples. Whooo!! Anyway, still gonna watch that intervieuw because I'm actually very tired of that contatnt battle with the bottle. But I want to happily say, it came all together on 8-7-2023 All the best to you and your jounrey in live. Please keep following your heart and dare to ask for help and support by the people around you. Later alligator!! ;-) Jake
Hey, I was wondering, I’m creating a kinda like pool style game, is it possible for it to be controlled by clicking on the sprite/then you select another position, and it moves?
Did you left vector2.Lerp() out for a reason? Is it some kind of code smell for moving? I'm trying out online multiplayer stuff at the moment and for me Lerp is the way to go to handle lag problems without flickering.
I came from a unity basics video and decided I wanted to start my own project from here this video. just curious will you ever have like a long tutorial of Unity 2d for beginners with kicks other attacks etc? Also do you have any tips for me for my learning process. Thank you very much
Great tutorial as always! Forgive me if you've already covered this, but how would you apply Unity's new Input System to this? I'm having a devil of a time figuring it out.
Hey dude, glad you liked it! I'm yet to start fully playing with the new input system. waiting for it to be officially part of the unity release. I have a feeling every single tutorial and unity resources on the internet will break as a result of their changes! :)
@@LostRelicGames Yeah, it certainly seems that way. Trying to reference the input system in the code isn't as intuitive as the methods you use for simple movement. Thank you for all your wonderful tutorials, and I've already wishlisted your upcoming game.
Hey you missed one that i really want to know! You know like Oddworld abe's oddysee where the character appears to walk smoothyl but i think there's a grid under the hood because you cannot position yourself in certain spots, there's a set number of places you can stand. This was a very good video though and useful for learning physics movement thank you :)
Then you're exposing the RB field to every other script, meaning they can potentially modify/alter it. You shouldn't go around making everything public unless there's a good reason for it. If all you're wanting is drag-and-drop functionality in the Inspector, use the SerializeField attribute instead and keep the field either private or protected!
That's interesting and much more understandable now. But do you know how to make actual 2d movements with a force that slows the player down after he moved? I got that in my game but it doesn't seem to work properly with the jump and slightly gets into walls when pushing on them.
What does the ".Translate" part of the code actually do? As I understand it, "transform" tells the GO to move a certain amount of frames, but I think that the "transform.Translate" part actually made the cute cube move a little more in sync with the Scene View. Or maybe I just need eye-transplant :D Thank you for the video!
Wow, finally someone who takes the time to explain how things works instead of proposing ready made solutions that nobody understands. Thank you so much.
i've seen a lot of people just saying "copypaste the script in the description", people cant learn by copypasting scripts!
@@meganixi5282 true
@R.I.P Etika true
Puffer Plays true
@@reaperplayz8806 true
I've watched a lot of tutorials and stuff on movement in 2D games, and I've seen all the different ways they do it, but never explained. Came across this video, and now it's all clear to me. Thanks :)
Hey thanks for taking the time to write that, I really appreciate it. I'm glad I was able to help.
@@LostRelicGames yes brother it helping us. pls dont stop doing tutorials .
ruclips.net/video/YzCF3zbfUE0/видео.html
4 ways of movement:
PHYSICS BASED
1. Velocity
2. Addforce (Type: force - slowly moves up the force; impulse - no build up instant force)
NON-PHYSICS BASED
3. Position
4. Translate
best tutorial for basic unity ive ever seen. i dont know how people can learn just by copying someone else's code, actually having the process in front of me and explained is absolutely brilliant.
Gave me great understanding of how to actually make my own movement script unlike the rest of those youtube tutorials where they just use an already made script, thank you so much
My pleasure blood moon, I'm truly glad to hear it. All the best in the exciting road ahead!
wow this is seriously underrated. you deserve more support.
simple things like this allows beginners to develop more creative ideas because we get to understand the parts of the script itself whereas others only provides results of using a certain script. your way makes us be more confident in experimenting on the engine on our own.
Please give us tutorials like this again. They are really amazing and not boring to watch. You are clearly explaining the things and reason behind them. Thank you very much. This channel is underrated.
I wanna express my sincere gratitude to you. I have been so many tutorials and this is just the thing that I wanted. "The difference between different movements" . All I ever got was "Confusion" UNTIL NOW
Thank you so much for clear explanation! I was using unity for about a week and just copy pasted somebody's movement script without understanding what it does, but now i can write my own movement script and it's all thanks for you
Dude your videos are the best thing I've found on youtube about Unity.
Terrific explanation, thank you
.AddForce: Spaceship game, here I come!
This is great, I'm a software engineer trying to become a game developer and despite being a software engineer I'm not great at coding, so this is really helpful, I have always wanted to develop games and I'm currently working on my first, thanks for the help!
One thing I would add; if you manipulate an object via its transform, you kind of break the physics interactions. So objects that should 'bounce' off each other will potentially pass through each other. If your player character runs against a dead end wall it will jitter rather than if you use velocity / force where it will simply stop moving (your run animation might keep going but that's a whole different thing ;-) )
I don't know why he has so little subscribers. He is probably the best teacher i found so far that actually helped me explaining every little detail. Thank you man. You're the best
ruclips.net/video/YzCF3zbfUE0/видео.html
Thank you!
All of the tutorials I watched never explained how those work, and never understood until now, great vid! :)
Awesome Marcos!
Amazing. I've seen so many tutorials of movement but its center on a specific idea and this video explains every type of movement so you can choose which one to use depending on YOUR idea and not on the videos idea. Thank You so much
This is so practical! Helped me figure about an issue with my 2D character!
only video I found that actually helped me understand what to do and what the code does
Awesome tutorial better than anyone i found on youtube described breifly and to the point keep it up man love u
I didn't knew why FixedUpdate , but not Update... You just make it clear not just for me, but for the 64k viewers too. Keep it up!
Thank You Sir For Making This Video , My every doubt regarding movement, now has been cleared, u explained everything in details ofcourse with live examples, i really like the way u teach, Keep up the good work.
There are just not enough tutorials on 2d movement, thank you so much
I wanted to start programming as a digital artist but could’t find any good tutorials but then I found your channel and it have helped me a lot! Thank you for great content x3
ruclips.net/video/YzCF3zbfUE0/видео.html
8:00
could be used for moving through a river which is flowing into the opposite direction
I’ve been struggling to learn this stuff, with this video it just *clicked* thanks so much!
Best video for beginners.but please it's a request to place your all videos on unity in a playlist
Thank you so much for this video. Really helping me understand some of the fundamentals better!
This is by far the best tutorial on moving 2d characters. Thank you so much!
Finally someone explain what every function do. You were a big help, thanks man.
Awesome bro i like your tuts, and i was wondering if you can make tuts serie about making complete 2D game from scratch for beginners and inclouds many features like kicking, shooting and all this cool stuff.
Thanks for the comment! I'd absolutely love to, I'm a actually just waiting for unity to officially release the new input system, as it will have a critic effect on any big video series make
I am excited for the new input system. Once you make a video on the new input system that is officially out of preview, please cover how mobile inputs work under this system.
Very good video, I learned a lot, thanks :D
glad to hear that Luis!
Defenitly subscribed! Your explanations helped a lot! Keep it going like that, its the best way for beginners to understand how this language works! thank you very much!
this is great stuff, came from Reddit
Nice to see you JC!
Thanks so much. Brilliant start point to start learning.
This is literally epic, thank you so much
men, this is gold, thanks for this!
A few of your points such as using FixedUpdate and not to use transform position with rigid bodies were something I had to figure out by myself. Wish I had come across your video earlier. Great tutorial nonetheless
Thanks Hari, glad to hear you are making progress! Wishing you the best on the path ahead
'sWhen I pressed play the player just floats down really slowly and when I press D or A (I have this instead of the arrow keys) the player doesn't move. I don't know what's wrong, is there anyone who could help? btw I am at 3:11 in the video
edit: I figured out why the character was falling so slowly (it's the gravity thing under rigidbody2D) but I still don't know how to fix the player movement
I'M IN 5:00 AND I THINK YOU ARE A "LEGEND"
"You SHOULD know these!"
Me: *Laughs in no experience*
Awesome tutorial🤩🤩 .Please make a full course of your tutorials on 2d games. Keep the good work
Great idea! Thanks for your support
I am really new to Unity, C# and a bit programming too, so thank you for this really helpful tutorial! I like how you really explain this stuff on a coding level for beginners instead of just dragging and dropping working stuff.
However, I wonder why your Visual Studio seems to give you always the best next suitable words while writing code and mine not (or at least less). Therefore I cannot really explore all the different Methods given, but have to find them out via internet one by one. I downloaded unity and VS just recently - is there any setting I just have activate or what could be the reason for this?
Hey mate! Make sure VS is linked to unity inside the unity preferences
@@LostRelicGames Helped! Thank you. :)
However.. it confuses me, that it wasn't selected automatically, because I installed VS through Unity. xD
12:40 replace *5 with a variable called something like speed
Awesome! I recently found your channel and it is helping me to polish my knowledge, keep it up and thank you for sharing!
Nice one dude, you're a good man. Swing by the discord if you ever need to chat
5:51 is there a way of caping out the force, and just being able to go at a max speed?
Complete beginner here, so I may be wrong, but after the code shown in the example, I would try creating a speedLimit variable and adding something like:
if (moveSpeed > speedLimit) {
moveSpeed = speedLimit
}
So the AddForce method will still try to increase the speed, but this statement would reset it back down to the limit you have set.
Can someone who knows what they're talking about let us know if I'm right??
2:21, i have a problema, i tried to attepmt "roll a ball" tutorial from unity
But, when i type "Vector2", the color remain the same, just like a random text without a meaning or a role
Can anyone tell me what.s wrong?
What do you mean with color remain the same?
Cool video! for reference, adding to transform.position and using transform.translate are doing the exact same thing. using space.self is the exact same as adding to transform.localPosition and using space.world is the same as adding to transform.position
Great Work! You just got a new subbed
Cool video thank you so much!!!
Great video! One question. Time.deltaTime is only used in the Update and not in FixedUpdate, right?
If Time.deltaTime is used inside FixedUpdate, it automatically returns Time.fixedDeltaTime. In other words, you can safely use Time.deltaTime everywhere.
Source: docs.unity3d.com/ScriptReference/Time-deltaTime.html
(See the second line on that page.)
How did you first start off? How did you attach the rigid body? How did you do the box collider thing? Everyone assumes you already know this.... :(
►Unity Asset I made to help beginners make platformers - u3d.as/2eYe
► Wishlist my game - store.steampowered.com/app/1081830/Blood_And_Mead/
that brings up the assetstore only
The link is broken.
Hi, I know you probably won't see this but I just thought I might try. I'm having trouble with the code, (this is the first example you showed I'm talking about) when I add the "else {buttonPressed = null;}" the code stops working and no error comes up in the console or anything. I added a Debug.Log thing to test if the code to move the player to the right worked, and it magically fixed the problem. So then I thought I'd put in the part of the code to make the player move to the left, and then the code stopped working again. I tested some more, and when I tok the buttonPressed = null; away completely from the code it started working but the player won't stop moving, and when I put the buttonPressed = null; back the code stops working again. I don't know what's wrong. If it isn't too much trouble could you maybe help me or point me in the right direction? No worries if you can't of course.
edit: I've changed the script and now if I spam the button it might move a little
man, i cant see the speed in the component.
Thank you so much, I managed to understand how to finally make my square move
Do big animation movies include coding? Or only in games? In animation making app to move a character like that I have to draw multiple images of that in different places to look like it moving.
I'm late to the party but enjoyed it.
This is the best movement related tutorial Ive ever seen on RUclips . I have a small doubt, why physics related stuffs are kept under FixedUpdate() instead update() ?
FixedUpdate() is synced to Unity's physics engine
@@sapazu Thanks man .
subscribed!!! no time wasted i thank you !!! your are life saver
Can you give me the script
i have a problem where it says Assets\PlayerController.cs(33,33): error CS1002: ; expected
although when i put a ; to
ButtonPressed = null
Then 7 more errors pop up
this is a great tutorial, and well explained!
Ow wow, even if you don't believe, you may have heard, the Lord works in misterious ways, or something along those lines. Now I know, this is youtube and there's an algorythm but this is what happened. I saw an inspiring vid about why quitting alcohol is good. In that was a piece of an interview on Howard Stern with Ben Affleck about his journey with quitting alcohol, so I wanted to find the whole interview. I opened a new tab, but because I have been looking into 2d programming as well, this vid popped up. Finally I would say, because the beginning is very very steep... AND as a bonus, 4 more vids on the side about 2d movement and examples. Whooo!! Anyway, still gonna watch that intervieuw because I'm actually very tired of that contatnt battle with the bottle. But I want to happily say, it came all together on 8-7-2023 All the best to you and your jounrey in live. Please keep following your heart and dare to ask for help and support by the people around you. Later alligator!! ;-) Jake
thanks for adding the code for it
Amazing video liked and subscribed thank you you are a very good teacher!
Hello, please make a video about the player pulling and pushing the block
Great video, thx!
thanks u deserve more attention
15:25 old school kung fu movie dubbing vibes right there!
"You have insulted my Unity Sifu, prepare to die!" XD
Awesome video thank you so much!
thanks! helped me a lot with my game
My pleasure, all the best to you! :)
Which technique does your game "blood and mead" use? Thanks!
helped me lot about coding
Thank you for the explanations.
Hey, I was wondering, I’m creating a kinda like pool style game, is it possible for it to be controlled by clicking on the sprite/then you select another position, and it moves?
I feel that you will be the next brackeys.
thank you dude this was a lot of help!
Did you left vector2.Lerp() out for a reason? Is it some kind of code smell for moving? I'm trying out online multiplayer stuff at the moment and for me Lerp is the way to go to handle lag problems without flickering.
I came from a unity basics video and decided I wanted to start my own project from here this video. just curious will you ever have like a long tutorial of Unity 2d for beginners with kicks other attacks etc? Also do you have any tips for me for my learning process. Thank you very much
İ used velocity code but my character just jump one times why? Probably i didn't write code correctly
Great tutorial as always! Forgive me if you've already covered this, but how would you apply Unity's new Input System to this? I'm having a devil of a time figuring it out.
Hey dude, glad you liked it! I'm yet to start fully playing with the new input system. waiting for it to be officially part of the unity release. I have a feeling every single tutorial and unity resources on the internet will break as a result of their changes! :)
@@LostRelicGames Yeah, it certainly seems that way. Trying to reference the input system in the code isn't as intuitive as the methods you use for simple movement. Thank you for all your wonderful tutorials, and I've already wishlisted your upcoming game.
Helped a lot bro! Thanks
Amazing man
how would I make the character jump/go up. I'm gueessing ou change somthing to do with the vector, but I can't find anything about it.
Great info! Very helpful!
Awesome! Great Tutorial!
My favourite method 12:56
Hey you missed one that i really want to know! You know like Oddworld abe's oddysee where the character appears to walk smoothyl but i think there's a grid under the hood because you cannot position yourself in certain spots, there's a set number of places you can stand. This was a very good video though and useful for learning physics movement thank you :)
Really Appreciate Bro Thank a lot for this Really good Explain all techniques and their working❤✨✨
awesome video
Thanks for upload this tutorial ^^
Thank you so much for this!
writing "public Rigidbody2D RB;" is enough because then you can drag the component to the sxript to attach them
Then you're exposing the RB field to every other script, meaning they can potentially modify/alter it. You shouldn't go around making everything public unless there's a good reason for it. If all you're wanting is drag-and-drop functionality in the Inspector, use the SerializeField attribute instead and keep the field either private or protected!
So helpful
finally someone that tells us why tf we do what we do
I have subscribed!!!
Could ypu do a tut on wheelcolliders and grip or friction. At ceetain speeds my cars will not turn.
That's interesting and much more understandable now. But do you know how to make actual 2d movements with a force that slows the player down after he moved? I got that in my game but it doesn't seem to work properly with the jump and slightly gets into walls when pushing on them.
when i try to open up the script it open on this notes thing not visual studio...?
when i set the y velocity to 0 it override physics and my cube fall down very slowly , why it dos'nt happen to you???
try to set the y to rigidbody.velocity.y instead of setting it to 0 so that it will retain its original velocity to y
What does the ".Translate" part of the code actually do? As I understand it, "transform" tells the GO to move a certain amount of frames, but I think that the "transform.Translate" part actually made the cute cube move a little more in sync with the Scene View. Or maybe I just need eye-transplant :D
Thank you for the video!
thanks man i am working on android game and i'm confused about what controller to chose, any suggestions.