anyone realise that all the ads he does are to help the comunity not for personal gain this is how to distinguish good content creators from the bad ones. true legend.
Hey, anyone who sees this and you're thinking about giving up, DON'T. You are halfway through and it gets easier and more fun from here. I promise all of the hard work pays off.
After thinking and being "scared" of starting learning coding and trying to create a game, I started yesterday and downloaded unity - and so far i am having a blast and thats thanks to you, brackeys wonderful tutorials so far, great explenations, and perfect "from scratch" tutorial/lessons. I have done a Tutorial, ,besides the "microgame" from unity, but that was way to "specialized" and adding to an existing project, which still did not cover the real basics of unity. much love!
I just want to quickly comment whilst in the middle of this playlist. Attempting coding has always been a daunting task, but your videos explain everything really well and it is slowly becoming a lot more clearer to me. Thanks. :)
for anyone having this problem if the error shows up and says null reference exception that mean that you have to drag player movement into the collision scrip that's what worked for me. the part I missed was at 7:03
I like how he explains things step by step. I mean REALLY step by step. For exmaple I didn't what the tag was for in other tutorials, they just glanced over it but this guy really explains things. Now I have a better solid understanding of unity.
Hi Guys, For those player who are unable to stop after the collision, you may refer to 5:43. Check the tag for all of the "obstacle" whether is it the same on your scripts. Hope this might help you guys! Have a nice day :)
I'm from Ukrain and don't speak English but watching these videos I'm was amazed because I understood him very good, and I'm so grateful for your work (11 videos "How to make a Video Game"). Thank you man!!
I never said to get rid of these short ones, I just said I'd like to see longer and more advanced ones. Maybe some kind of procedural (dungeon, world, quest, etc) generation?
it's for people who are scared by longer videos, like me. I like this piece meal method. I believe have other videos that are longer (not sure though).
Royal Tyger's Media but he makes one video of this series once per week so the solution is to make more videos or make the video longer (sorry for my bad English)
I just discovered a world i love and i didnt know, i guess i will have to change my major😂, btw im doing everything exactly as he is doing it but i have so many different ideas for it but i dont know how to execute them, i guess i have to stick to what he is doing till i actually learn
Thats what i am doing. I think we need to just copy him, and after learning it, we can advance our self, because then we have a lot more experience we can use to put something together, tyhen it gets easier to watch harder turtoials
Duplicate a scene to give yourself a playground of sorts and hack away at it. Google whatever you don't know. Then, come back to Brackeys for more of these amazing vids!
I am also doing this I have an idea to make a sorta 3d version on the no internet dinosaur game it's likely been done already but I just want to do it myself to share with friends
Hi man, im currently watching your videos and.. eventho it's been 7 years from posting I really hope this message will reach you. First of all thank you. Thank you so much for helping me making my dream true. I will make sure to show you my gratitude by supporting you on patreon as soon as I can afford it. Second, your videos are so precise, so perfectly described that even a noob like me understand everything perfectly. Thank you so so much!
@@THEspindoctor84 i started this tutorial series 2 days ago and dont have any other coding exp is it normal that i dont understand the codes but just copying them seeing results for now
@@emoshimo9332 I'm not an expert, but I would definitely say that that is normal. But starting here seems a little bit advanced for someone with literally no coding experience. Its generally not good to just copy code and see the result, without understanding the concepts. I would start with a nice long FreeCodeCamp video, like this one on C#. ruclips.net/video/GhQdlIFylQ8/видео.html Once you watch that, you will understand some of the basic syntax, and this might make more sense. I also recommend books, since I believe they tend to explain concepts better than videos. I am currently using "Learning C# by Developing Games With Unity 2020" by Harrison Ferrone. Its very good for someone with little or no coding experience.
Dude you saved my life. I wanted to make games and stumbled upon this video I started and downloaded everything. But when it came to the first video i couldn't make the camera face the ground so i gave up and deleted unity. but 3 days later i downloaded it again an came back to your channel. And i finally figured it out. I just had to rotate it bro. And i'm still going on this and Thank you bro you're the best. ;)
This is my third time coming back to Unity, and honestly, I'm astonished at how simple this stuff is in hindsight. I have experience in the kids coding site called Scratch, and frankly it's making this so much easier to digest. I mean, I really get this stuff, and I'm feeling so confident in it so far!! I think the best part for me to, is I have an understanding I don't know that much, and due to this, I got a good grasp on how big my scope is... But! I'm confident I can do something that'll be just fine! I'm just so happy for this tutorial, thank you, Brackeys!!!
@@_zerohour_ i kind of figured out the problem and it was that i don’t have a dotnet which i don’t know what that is since I’m new and after downloading multiple dotnets in unity itself as extensions and outside of unity i still have the same problem so it didn’t fix anything
@@_zerohour_ i had the player movement script functioning normally until i added the player collision script and the it started popping up and saying that my player movement script isn’t valid
1. I really love the series thank you so much 2. Not important but if you are watching through them now its so unsatasfine if the backround and your position is the same but your T-Shirt changes
Everyone who is having problems do this!!! Chang it from, void OnCollisionEnter (Collision collisionInfo) TO void OnCollisionEnter (UnityEngine.Collision collisionInfo) in your script
thank you sooooo muchhhh NichobeastMode i was stuck doing this for like 2 days and i was literally gonna stop this thing then i tried ur thing and it worked out thank you once again dude
I was following one of his later videos and accidentally deleted my scripts so I had to rewrite them with all my objects and shit still there. Now whenever I try to write the collision script it won’t work any more even when I tried to change it to the way you said when it worked before. Im infuriated
The same mine was working perfectly about 5 Kim’s ago but my unify is like broken cuz stuff never works for me and about 2 mins ago I was able to move and turn my cube and stuff like a game bug then I added the script for collision and it just stopped moving when I clicked play 😭I hate unity
I started game development with this project, one year ago exactly. Meanwhile I made a 2D platformer game for my school project, and game development is what I love to do. Brackeys taught me the basics, and I can´t say thanks enough. Today I will finish this little cube game, because I want to work with 3D as well. Never give up people.
OMFG - idk if i should be so hyped but here are some comments saying it doesnt work blablabla... im an absolute beginner, and somehow - idk how in 15 minutes i made it work Also im happy to help, just copy and paste this! using UnityEngine; public class PlayerCollision : MonoBehaviour { public PlayerMovement movement; void OnCollisionEnter(Collision collisionInfo) { if (collisionInfo.collider.tag == "Obstacle") { movement.enabled = false; } } }
In my game there are these messages: The referenced script (Collision) on this Behaviour is missing! The referenced script on this Behaviour (Game Object 'Player') is missing! Can someone help me?
If you’re having issues at 4:20 rename the script to something other than “Collision” , it confuses unity and causes errors. Also change the 5th line to “void OnCollisionEnter (UnityEngine.Collision collisionInfo)”
I'm literally adding a reply just so people take this as more trustworthy. My dumbass named the script "Collision" and renaming it to "PlayerCollision" literally fixed everything lol
Hello, I receive this error: Assets/PlayerCollision.cs(5,9): error CS0246: The type or namespace name 'PlayerMovement' could not be found (are you missing a using directive or an assembly reference?) . Can someone help me? Edit: The reason you have this problem is that you must have misspelled PlayerMovement in one of the scripts.
For anybody stuck at 7:00 who's PlayerMovement isn't working, just remove all caps and type in playermovement (all small) instead. It'll work just fine.. Thank me Later MY CODE though: using System.Collections; using System.Collections.Generic; using UnityEngine; public class playercollission : MonoBehaviour { public playermovement movement; void OnCollisionEnter (UnityEngine.Collision collisionInfo) { if(collisionInfo.collider.tag == "Obstacles"){ } } }
Another tip for the people who are new to coding; make sure the void isn't a private void cause it'll for some reason suggest the "improvement" just do void OnCollisionEnter(UnityEngine.Collision collisionInfo) like everyone in the comments is saying
@@cloveri1310 IIRC, I installed an older version of visual studio and had to completely wipe my version and install a new one. Make sure to delete any files that has to do with VS. Also, check the place you download.
For those are having troubles about the collisions code, just change this. void OnCollisionEnter (UnityEngine.Collision CollisionInfo) instead of void OnCollisionEnter (Collision CollisionInfo) AND if (CollisionInfo.gameObject.name == "Obstacle") instead of if (CollisionInfo.collider.name == "Obstacle") NOTE: Dont use Collision.gameObject.tag, because our objects are untagged.
If you have trouble with this, its because he changed the Collision name to a capital C. make sure all of the variable names are EXACTLY the same (yes its case sensitive)
@@jcproducts3312 Then the error can be anywhere, maybe you can try writing everything as presented in the video. And then comparing it with your previous code.
just for fact, tags are not an acurate way for managing collision nowadays due to some reasons... but for sake of simplicity, it works. also, great tutorial!
write "using System.Collections.Specialized;" at the very start of your code and make sure that you wrote the name of YOUR script dont just copy PlayerMovement write the name which you gave to your movement script.
If you mean by the autocomplete feature, If it is not working you might have entered that statement incorrect or your Visual studio is not connected to Unity. If it is connected but it dosent works then intellisense (the auto complete) is not working.
For anyone confused on why you wont stop moving and get an error message as well possibly use this code (replase scr with your PlayerMovement script name, and also place playermovement script in collision script) using UnityEngine; public class PlayerCollision : MonoBehaviour { public scr movement; // A reference to our PlayerMovement script // This function runs when we hit another object. // We get information about the collision and call it "collisionInfo". void OnCollisionEnter(UnityEngine.Collision collisionInfo) { // We check if the object we collided with has a tag called "Obstacle". if (collisionInfo.gameObject.CompareTag("Obstacle")) { movement.enabled = false; // Disable the players movement. } } }
YOU ARE THE BEST RUclipsR! Too sad you no longer produce more content but thank you so much, I actually liked coding thanks to you so it is very inspiring :)
To anybody who thinks that their player is "stuck" as soon as it hits the ground. I just fixed my code by making sure the semicolon ( ; ) is in the correct place. I axidentally put it after : if (collisionInfo.collider.tag == "Obstacle") ;
Assets\Playercollisions.cs(5,8): error CS0246: The type or namespace name 'PlayerMovement' could not be found (are you missing a using directive or an assembly reference? how do i fix this please tell
For those who are wondering on how to get the collision system to work, I found out how to fix it, The code: using UnityEngine; public class PlayerController : MonoBehaviour { public PlayerMovement movement; void OnCollisionEnter(UnityEngine.Collision collisionInfo) { // Check if the player collides with another object if (collisionInfo.gameObject.CompareTag("Obstacle")) { movement.enabled = false; } } } Make sure you remember to link the PlayerMovement script to this script through unity, in the inspector. I hope you've found this helpful🙂
At 7:03 I cannot figure out why my script isn't working. I have entered and redone the code several times. The movement script is not showing up in the player collision script. The movement is not popping up in the player collision section. I made sure I saved it as well. Clueless. I'm not sure if coding has changed since this video launched. I am new to this. Any help would be great! Loving the tutorial so far!
@@SnapSnackTV52 no:/ I did not. I really have no idea. I tried googling a few things and still came up with nothing. Thought about restarting the entire project. But I would rather find a solution.
The player added a c# component named motion and added a force application function (rigidbody.AddForce) to that component (c# file) and thus used that file as motion function. The video didn't show it either, but that's the thing :)
I was working on roblox lua for about 5 years now but I never had the feeling of that being an actual game so I am here ... ik this searies is kinda old but I guess its still relevant and a great starting point on understanding the game engine :DD I found out that its somewhat simmular to what I ve been doing on roblox so following along is not an issue thx for the searies
For anyone having it detect the ground as an obstacle, Make sure you dont have a semicolon here: public class PlayerCollision : MonoBehaviour { public PlayerMovement movement; void OnCollisionEnter (Collision collisionInfo) {
focus on learning first then when you are at a intermediate level then you try to make a complete game, and also try to keep it simple otherwise you'll get frustrated
I did the steps but when I hit the obstacle as explained at the end of the video, my player keeps moving Even though I want it to stop and programmed it to stop I am new to coding so please help
@@tristangovier4877 i did exactly what he did using UnityEngine; public class playercollision : MonoBehaviour { public playermovment movement; void OnCollisionEnter (Collision collisionInfo) { if (collisionInfo.collider.tag == "Obstacle") { movement.enabled = false; } } }
These are my notes on this vid so you don't have to rewatch it: Video 5: Collision Making things happen upon collision. Create new script, delete start and update method Void OnCollisionEnter () //Anything within these curly brackets will be called when an object collides with something. Needs a rigidbody and collider. { Debug.Log(“We hit something!”); //Make an obstacle and call it Obstacle } Console will display text when you collide with it. You will get that message whenever you collide with the ground though, so switch to a boolean statement. Void OnCollisionEnter (Collision collisionInfo) //Getting information on what you collide with. { Debug.Log(collisionInfo.collider.name); //displays name of object } Now we can change it to say something only if we hit a specific object. If (collisionInfo.collider.name == “Obstacle”) { Debug.Log(“We hit an obstacle!”); } You can group objects together using tags. Tags are at the top of the inspector and name it Obstacle. If (collisionInfo.collider.tag == “Obstacle”) To turn off player movement upon collision, we need to add a new variable above void OnCollisionEnter that cancels the script PlayerMovement Public PlayerMovement movement; There will now be an empty slot in the inspector. Drag the Playermovement script to it. Edit the collision script if/then statement to If (collisionInfo.collider.tag == “Obstacle”) movement.enabled = false; // disables movement script
Assets\PlayerCollision.cs(6,12): error CS0246: The type or namespace name 'PlayerMovement' could not be found (are you missing a using directive or an assembly reference?)
for me playermovement script is not disabled when the cube hits the obstacle i tired like more than 4 hrs to solve but no solution yet plz anyone help me
Use GetComponent(). enabled=false; Use the above code in void start() {} method So complete code would be void start() { GetComponent(). enabled=false; } Don't forget to reply back if it's working or not.
you are right my friend. Just spent nearly an hour trying to figure out why I wasn't getting any console debub messages. I had accidentally deleted everything and the script was weird.
@@loganmcghee2529 Go into your slippery physics and change the values dynamic friction and static friction to 0.25. I had a problem where it clicked off but the movement didn't stop. It's possibly a physics problem that noobs like myself don't see. :-/ Took me an hour looking around to figure this one out. Anyhow, hope this helps. p.s. you do this in the Inspector window.
For eveyone using the newer unity, like 2020 unity and you're running into the problem of the player not stopping/ script not unchecking on the box after you collide, then try dragging in the Player Collision script into the player cube components and then under the script section of Player Collision Script where movement is it might be at none if it is then click on the circle with a bullseye next to (none) PlayerMovement and then when the menu pops up select player option and it should work now.
using UnityEngine; public class PlayerCollision : MonoBehaviour { void OnCollisionEnter(UnityEngine.Collision collisionInfo) { if (collisionInfo.gameObject.name == "Obstacle"); { Debug.Log("We hit an obstacle"); } } }@@Chris-hb3gz
So I am using visual studio and I noticed that when you type into it, it comes up with a list of possible things you want to write. It doesn't do that with mine. I was wondering if there was anything I could do to add that function to my version of Visual Studio? (Like an extension or something)
@@TheTopShelf I don't see it. There is no preference in edit, only in files. There is also no external tools tab in files > preferences Edit: I figured out that you meant in unity, not vscode. Can I face palm myself?
I can't drag the PlayerMovement.cs into the reference in PlayerCollision.cs. Code: public PlayerMovement movement; And then in Unity, I just can't drag it.
I figured it out, go to your PlayerMovement script, go to where it says "public class PlayerMovement : MonoBehaviour", and see what the script is called, in this case it would be "PlayerMovement." I just copied and pasted the name and it worked, I have no idea why
Can someone please help me!!! 4:21 I wrote exactly what he wrote and hitted save. After that I went back to unity and there was a window saying something like: ,,the script (collision) includes something that is not in this version of unity. Please update _*_ in to it. Please make a backup because evry script is going to update". * I think it was smth like ARI-s idk Here is the problem I don't remember what is should update to unity and I pressed no thanks because I wanted to save evry other script an to than update it. And now I don't know how to update it bacause I don't get the window anymore. Instead I'm getting a bunch of errors
Great tutorials, though I am not doing any work as I go. Perhaps that is a mistake, but I can always come back. I just want to see some basics laid out in a comprehensive way, and these videos are definitely doing that. Also, nice smile! :)
Whenever I touch my obstacle it dosent say I hit anything and I copied every bit of code word by word. It dosent even show me any errors what am I doing wrong!
needed help here, so in 6:59 when I typed in public Playermovement movement; but unity said the type or name space playermovement could not be founded you're missing a directive or a assembly refernce got this fixed but why will it say expected
These are great, but I still haven't revived an answer to a question. I have been asking for a long time. Can you make it so the map random generates and the game is endless
You can. Look up Procedural Generation. Sebastian Lague has a series on it, and there are plenty of Unite talks on the subject (e.g. procedural generation in Sir, You are Being Hunted). The Procedural Generation Wiki and the website donjon (donjon.bin.sh/) have some good material that you should look at.
I was thinking about trying to implement this as well. My idea was to have the ground keep extending on the z axis a the same rate at the player moves forward until player == collision
As the other guy said, you guys are talking about procedural generation. It's the idea of randomly creating maps based on preset stuff. So it can take 10 different obstacles you created and will randomly generate them in different configurations. Could be set to do this indefinitely.
Anyone notice how as the series goes on there is less and less views because people give up but great videos I love them
It's like with any other series.
I don't even know why I'm following this series
if you a have a bit of programming experince this is actually that hard
that's what i noticed
that'ts a big mistake don't give up! You need to have fun programming.
Hope this series booms during quarantine!
It did.
mhm, it definateley did
I was like hmm I should really start lerning how to use unity.. TIME FOR LATE NIGHT CODING BOI'S!
yah... i've gotten here in .5 days cuz of all the time on my hands!
did u get this to work, I haven't been able to and I'm totally stuck
anyone realise that all the ads he does are to help the comunity not for personal gain
this is how to distinguish good content creators from the bad ones.
true legend.
Hey, anyone who sees this and you're thinking about giving up, DON'T. You are halfway through and it gets easier and more fun from here. I promise all of the hard work pays off.
I saw this at the perfect time ;)
omg this takes a lot of time
Yeah, your right, and when you finish here til now (like i am) i kinda figured how to write some code for myself!
@@mr.mystical9776 Omg thank you so much. I want to end but you gave me the power to do it and i did it
@@latrys886 Your welcome!
After thinking and being "scared" of starting learning coding and trying to create a game, I started yesterday and downloaded unity - and so far i am having a blast and thats thanks to you, brackeys
wonderful tutorials so far, great explenations, and perfect "from scratch" tutorial/lessons.
I have done a Tutorial, ,besides the "microgame" from unity, but that was way to "specialized" and adding to an existing project, which still did not cover the real basics of unity.
much love!
what did you do
@@ok5183 true what did he do? 🤷♂we will never know
Just want to say a shout out for Brackeys being so happy every video! It's cool to see someone so happy about passing on their skills to others! #Hero
You look like the happiest man I’ve ever seen all the time, I love it
I just want to quickly comment whilst in the middle of this playlist. Attempting coding has always been a daunting task, but your videos explain everything really well and it is slowly becoming a lot more clearer to me. Thanks. :)
for anyone having this problem if the error shows up and says null reference exception that mean that you have to drag player movement into the collision scrip that's what worked for me. the part I missed was at 7:03
Ahaaaa thank you
thx!!
kai Lange-dei thanks brooooo I can’t thank you enough
Thanks so much I almost gave up until I saw this. So frustrating but incredibly rewarding once you finally figure out what's wrong
@@BreeingIan hey pls help can u elaborate more im rly smol brain so cudnt understadn hv same error tho
he explains things fast into the point directly and keeps everything simple , can't imagine something better
this mans intros are the happiest things ive seen in my entire life
lmao ikr
I like how he explains things step by step. I mean REALLY step by step. For exmaple I didn't what the tag was for in other tutorials, they just glanced over it but this guy really explains things. Now I have a better solid understanding of unity.
Good job to those who have kept going through the tutorial. You are a true champ, and I hope to see you watch the next one. Don't lose motivation.
i love how the videos are short and straight to the point like small baby steps
Hi Guys,
For those player who are unable to stop after the collision, you may refer to 5:43.
Check the tag for all of the "obstacle" whether is it the same on your scripts.
Hope this might help you guys!
Have a nice day :)
I still don't get my object to stop please help :(
you saved my day..
♥♥♥
Don't know why the tag created previously disappeared. Thanks so much anyway!
I'm from Ukrain and don't speak English but watching these videos I'm was amazed because I understood him very good, and I'm so grateful for your work (11 videos "How to make a Video Game"). Thank you man!!
Hi Am Russia Man XD
сало сало сало Українске сало
Then how did you wrote this comment..?
@@digviaysingh480 I wrote this comment whith "Google translate" and I'm know English, but some bad for free understand these videos.
I've been using this tutorial to make my first ever game in unity in like one night and its going great!
Got unity 2 days ago and Brackeys is making it easy to learn c # and game design. thx Brackeys
Please make longer episodes when you come back from your vacation, I hope you have fun!
Inter Flash yeah it's too short
Longer and Advanced tutorials, Please!!
I never said to get rid of these short ones, I just said I'd like to see longer and more advanced ones. Maybe some kind of procedural (dungeon, world, quest, etc) generation?
it's for people who are scared by longer videos, like me. I like this piece meal method. I believe have other videos that are longer (not sure though).
Royal Tyger's Media but he makes one video of this series once per week so the solution is to make more videos or make the video longer (sorry for my bad English)
I just discovered a world i love and i didnt know, i guess i will have to change my major😂, btw im doing everything exactly as he is doing it but i have so many different ideas for it but i dont know how to execute them, i guess i have to stick to what he is doing till i actually learn
Thats what i am doing. I think we need to just copy him, and after learning it, we can advance our self, because then we have a lot more experience we can use to put something together, tyhen it gets easier to watch harder turtoials
Keep on moving bro and you'll succeed
Duplicate a scene to give yourself a playground of sorts and hack away at it. Google whatever you don't know. Then, come back to Brackeys for more of these amazing vids!
check out Unity c# documentation
I am also doing this I have an idea to make a sorta 3d version on the no internet dinosaur game it's likely been done already but I just want to do it myself to share with friends
Hi man, im currently watching your videos and.. eventho it's been 7 years from posting I really hope this message will reach you. First of all thank you. Thank you so much for helping me making my dream true. I will make sure to show you my gratitude by supporting you on patreon as soon as I can afford it. Second, your videos are so precise, so perfectly described that even a noob like me understand everything perfectly. Thank you so so much!
When you spell Obstacle "Obstacal" accidentally in the code and it takes you half an hour to figure out that fault:
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
hey, I bet that moment when you finally realized your mistake felt GREAT!
@@THEspindoctor84 i started this tutorial series 2 days ago and dont have any other coding exp is it normal that i dont understand the codes but just copying them seeing results for now
@@emoshimo9332 I'm not an expert, but I would definitely say that that is normal. But starting here seems a little bit advanced for someone with literally no coding experience. Its generally not good to just copy code and see the result, without understanding the concepts. I would start with a nice long FreeCodeCamp video, like this one on C#. ruclips.net/video/GhQdlIFylQ8/видео.html
Once you watch that, you will understand some of the basic syntax, and this might make more sense. I also recommend books, since I believe they tend to explain concepts better than videos. I am currently using "Learning C# by Developing Games With Unity 2020" by Harrison Ferrone. Its very good for someone with little or no coding experience.
@@THEspindoctor84 thanks sir that will help a lot i really appreciate your time and effort i can say you made my day :)
Lmao
This series is becoming Addicitive!
Dude you saved my life. I wanted to make games and stumbled upon this video I started and downloaded everything. But when it came to the first video i couldn't make the camera face the ground so i gave up and deleted unity. but 3 days later i downloaded it again an came back to your channel. And i finally figured it out. I just had to rotate it bro. And i'm still going on this and Thank you bro you're the best. ;)
Thanks. This is the tutorial series i've been looking for a long time. You explain everything clearly and smoothly. You've earned a subscriber.
This is my third time coming back to Unity, and honestly, I'm astonished at how simple this stuff is in hindsight. I have experience in the kids coding site called Scratch, and frankly it's making this so much easier to digest. I mean, I really get this stuff, and I'm feeling so confident in it so far!! I think the best part for me to, is I have an understanding I don't know that much, and due to this, I got a good grasp on how big my scope is... But! I'm confident I can do something that'll be just fine! I'm just so happy for this tutorial, thank you, Brackeys!!!
Did everything come out well for you??? Because it didn’t for me it had so many problems in this part and now i just messed up all the old parts 😢
@@masterjokerx549 What's the problems you had? I can do my best to help!
@@_zerohour_ omg you answered even tho your comment is 6 months old
@@_zerohour_ i kind of figured out the problem and it was that i don’t have a dotnet which i don’t know what that is since I’m new and after downloading multiple dotnets in unity itself as extensions and outside of unity i still have the same problem so it didn’t fix anything
@@_zerohour_ i had the player movement script functioning normally until i added the player collision script and the it started popping up and saying that my player movement script isn’t valid
1. I really love the series thank you so much
2. Not important but if you are watching through them now its so unsatasfine if the backround and your position is the same but your T-Shirt changes
Everyone who is having problems do this!!!
Chang it from, void OnCollisionEnter (Collision collisionInfo) TO void OnCollisionEnter (UnityEngine.Collision collisionInfo) in your script
thank you sooooo muchhhh NichobeastMode i was stuck doing this for like 2 days and i was literally gonna stop this thing then i tried ur thing and it worked out
thank you once again dude
thank you
I was following one of his later videos and accidentally deleted my scripts so I had to rewrite them with all my objects and shit still there. Now whenever I try to write the collision script it won’t work any more even when I tried to change it to the way you said when it worked before. Im infuriated
Thank you so muchhhhhhhhhhhhhhhhhhhhhhhh
Thank you!
Im a 10 yro Kid, and i imagened to create a game, i thought it was hard but with this, it is so much better! Thankyou!!!
Don't show your age online, No one cares about you.
Good😊
10 yro dont use comas in good places like "U"
What kind of game will you create?
@@chickeninabox you dont have too be mean -_-
funny how Brackeys have literal free tutorials on unity and other things have like 300 per year, keep up the great work Brackeys!
"displaying a message in console isnt that exciting " *me cheering cuz it took me 2 days to do t properly*
The same mine was working perfectly about 5 Kim’s ago but my unify is like broken cuz stuff never works for me and about 2 mins ago I was able to move and turn my cube and stuff like a game bug then I added the script for collision and it just stopped moving when I clicked play 😭I hate unity
I started game development with this project, one year ago exactly. Meanwhile I made a 2D platformer game for my school project, and game development is what I love to do. Brackeys taught me the basics, and I can´t say thanks enough. Today I will finish this little cube game, because I want to work with 3D as well. Never give up people.
* yellow cube hits black cube *
"Houston, we have a problem"
You sir, are colorblind
@@dio1647 i just colored mine different
Wow, that's exactly how I colored mine
I dont understand
Okay thats so wierd I put the exact same text as mine as well!
OMFG - idk if i should be so hyped but here are some comments saying it doesnt work blablabla...
im an absolute beginner, and somehow - idk how in 15 minutes i made it work
Also im happy to help, just copy and paste this!
using UnityEngine;
public class PlayerCollision : MonoBehaviour {
public PlayerMovement movement;
void OnCollisionEnter(Collision collisionInfo)
{
if (collisionInfo.collider.tag == "Obstacle")
{
movement.enabled = false;
}
}
}
Oh dude thank you
In my game there are these messages:
The referenced script (Collision) on this Behaviour is missing!
The referenced script on this Behaviour (Game Object 'Player') is missing!
Can someone help me?
@@nathanaelnoon Did you copy past the script of the guy right above?
@@nathanaelnoon Oh and in your console, double click the error message, it can lead you where the error is
@@nathanaelnoon and did you create the scripts and "put" them on the right thing? like for this one it s on the player
still helping and relevant 4 years later thank you!
If you’re having issues at 4:20 rename the script to something other than “Collision” , it confuses unity and causes errors. Also change the 5th line to “void OnCollisionEnter (UnityEngine.Collision collisionInfo)”
now it just outputs untagged in console
Thanks this still is the answer to the problem 2024
I'm literally adding a reply just so people take this as more trustworthy. My dumbass named the script "Collision" and renaming it to "PlayerCollision" literally fixed everything lol
Hello, I receive this error: Assets/PlayerCollision.cs(5,9): error CS0246: The type or namespace name 'PlayerMovement' could not be found (are you missing a using directive or an assembly reference?) . Can someone help me?
Edit: The reason you have this problem is that you must have misspelled PlayerMovement in one of the scripts.
This is happening with me also😫😫😫
thank you for editind your comment
It says cannot convert string to bool errror what to do??
write without capital, worked for me
@@rodrigopereiramelo thank you
Im very late and you probably won’t see this but damn, this series is so great and helpful!
For anybody stuck at 7:00 who's PlayerMovement isn't working, just remove all caps and type in playermovement (all small) instead. It'll work just fine..
Thank me Later
MY CODE though:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class playercollission : MonoBehaviour
{
public playermovement movement;
void OnCollisionEnter (UnityEngine.Collision collisionInfo) {
if(collisionInfo.collider.tag == "Obstacles"){
}
}
}
Thank you bro 👍🏿
Ty
thanks you
@@SlothCGaming I am still getting error with that also
Doesnt work for me
7:47 it kept saying that playermovement wasnt found (checked the spelling about 10 times and the squiggly brackets where in the right place
Me too same problem
i had the same problem twice but i forgot to put the semicolons in the right place XD
I have the same problem, pls did you figure it out?
write "using System.Collections.Specialized;" at the very start of your code
@Csak Dolgok This! I’d spelt my initial script without caps.. then tried to do this one with it. Was pulling my hair out
the best getting started tutorial ever in unity hope you came back one day or once a while
Brackeys: We're going to delete both the start AND the update method.
*Wait, we're deleting all of it?*
*Always were going to.*
Another tip for the people who are new to coding; make sure the void isn't a private void cause it'll for some reason suggest the "improvement" just do
void OnCollisionEnter(UnityEngine.Collision collisionInfo)
like everyone in the comments is saying
thanks
I made a speed ramp using the information from this video. My game is starting to come together. Thank you for giving amazing free tutorials!
3:59 how to set that in VS ?
The thing that shows you what that code do. Please help
Yep, wondering as well.. :/
Did you guys figured it out?
@@594-d9b Did you figured it out?
@@cloveri1310 IIRC, I installed an older version of visual studio and had to completely wipe my version and install a new one. Make sure to delete any files that has to do with VS. Also, check the place you download.
{PLEASE READ}
I did everything right but when I hit play and the cube hit something else. The Player Movement didn't stop ;[
i am having these problem too!
I had the same problem. I had misspelled OnCollisionEnter to onCollisionEnter. Use capital O and it should work great =)
still have the problem. :(
me too [(
did you guys figure it out cause im having the same problem?
this youtube series helped me get into coding
For those are having troubles about the collisions code, just change this.
void OnCollisionEnter (UnityEngine.Collision CollisionInfo)
instead of
void OnCollisionEnter (Collision CollisionInfo)
AND
if (CollisionInfo.gameObject.name == "Obstacle")
instead of
if (CollisionInfo.collider.name == "Obstacle")
NOTE: Dont use Collision.gameObject.tag, because our objects are untagged.
If you have trouble with this, its because he changed the Collision name to a capital C. make sure all of the variable names are EXACTLY the same (yes its case sensitive)
THANK YOU!!!!!!!
tysm
6:55: When I type PlayerMovement after public, is shows error... Can anyone guide me there?
Check how you named the first script.
@@fjiturralde Appreciate it..
@@fjiturralde sorry but if they match and still says error any idea?
@@jcproducts3312 Then the error can be anywhere, maybe you can try writing everything as presented in the video. And then comparing it with your previous code.
just for fact, tags are not an acurate way for managing collision nowadays due to some reasons... but for sake of simplicity, it works.
also, great tutorial!
Somehow the PlayerMovement reference did not work, I tried everything but it did not work so I cannot continue
Had the same problem, you probably messed up with the name in the public class
@@Pandadulol thanks
write "using System.Collections.Specialized;" at the very start of your code and make sure that you wrote the name of YOUR script dont just copy PlayerMovement write the name which you gave to your movement script.
I copied the code he wrote and i still dont get the collision info in console. Can someone please help?
I know you have just stop uploading videos but still you have helped me a lot and that is why i am commenting.
brackeys: We hit an obstacle!
me: AAAAA MY LEG
I don't see the options of the parameters on 4:00 how do I view them all?
I am having the same problem, did anyone find an answer to this?
I think it is extension in visual studio code
@@epicvideogamer7675 what is it called
@@KoLoap817 in visual studio code, simply type unity in the extension search bar and install the unity tool 'something'
If you mean by the autocomplete feature,
If it is not working you might have entered that statement incorrect or your Visual studio is not connected to Unity. If it is connected but it dosent works then intellisense (the auto complete) is not working.
this is actually so fun to just mess around in and learn, thanks so much! :)
I dont get the drop down menu that appears in the video for example after ' CollisionInfo. ' any idea how to make this show?
For anyone confused on why you wont stop moving and get an error message as well possibly use this code (replase scr with your PlayerMovement script name, and also place playermovement script in collision script)
using UnityEngine;
public class PlayerCollision : MonoBehaviour
{
public scr movement; // A reference to our PlayerMovement script
// This function runs when we hit another object.
// We get information about the collision and call it "collisionInfo".
void OnCollisionEnter(UnityEngine.Collision collisionInfo)
{
// We check if the object we collided with has a tag called "Obstacle".
if (collisionInfo.gameObject.CompareTag("Obstacle"))
{
movement.enabled = false; // Disable the players movement.
}
}
}
OMG THANKS SO MUCH
thank you! it didnt work for me and this saved me
YOU ARE THE BEST RUclipsR! Too sad you no longer produce more content but thank you so much, I actually liked coding thanks to you so it is very inspiring :)
To anybody who thinks that their player is "stuck" as soon as it hits the ground.
I just fixed my code by making sure the semicolon ( ; ) is in the correct place. I axidentally put it after : if (collisionInfo.collider.tag == "Obstacle") ;
Thankyou so much
Helped a lot. Thanks mate
When I do that, it gives me a compile error, it won't work unless I have a semicolon there, so I don't know what to do
Saved me time, thanks
Assets\Playercollisions.cs(5,8): error CS0246: The type or namespace name 'PlayerMovement' could not be found (are you missing a using directive or an assembly reference? how do i fix this please tell
we love you, you are the best teacher ever Brackeys!
For those who are wondering on how to get the collision system to work, I found out how to fix it,
The code:
using UnityEngine;
public class PlayerController : MonoBehaviour
{
public PlayerMovement movement;
void OnCollisionEnter(UnityEngine.Collision collisionInfo)
{
// Check if the player collides with another object
if (collisionInfo.gameObject.CompareTag("Obstacle"))
{
movement.enabled = false;
}
}
}
Make sure you remember to link the PlayerMovement script to this script through unity, in the inspector.
I hope you've found this helpful🙂
Thank you so much! Was stuck on this for so long!
u my god
Me who's misspelled my tag: *Changed everything then realized something-*
Thanks a lot bro....i was stuck too
+rep from Russian community
I have writed all the code but it says "We hit an Obstacle" when i fall on the ground and when i hit the obstacle
May be late but do you have a ; on your if line?
Well, just found out you have to take out the ; on the if line
AZOM Sorry, didn’t specify whether you wanted it there or to remove it. Yeah you just needed to remove it.
@@SaucySeth777 been stuck on this for like 20 minutes thanks so much
Callum Myers it’s all good, I was stuck on it too, that’s how I knew what was wrong lol
At 7:03 I cannot figure out why my script isn't working. I have entered and redone the code several times. The movement script is not showing up in the player collision script. The movement is not popping up in the player collision section. I made sure I saved it as well. Clueless. I'm not sure if coding has changed since this video launched. I am new to this. Any help would be great! Loving the tutorial so far!
me to did you find a Solution bye now?
@@SnapSnackTV52 no:/ I did not. I really have no idea. I tried googling a few things and still came up with nothing. Thought about restarting the entire project. But I would rather find a solution.
The player added a c# component named motion and added a force application function (rigidbody.AddForce) to that component (c# file) and thus used that file as motion function.
The video didn't show it either, but that's the thing :)
@@barskdrt6840 I'm not sure I follow. I want to understand so badly.
@@callmedaddyfps8029 videoda göstermiyor ama yaptığı şey sadece kuvvet uygulamak için fazladan c# konsol dosyası açıp onu kullanmak .
I was working on roblox lua for about 5 years now but I never had the feeling of that being an actual game so I am here ... ik this searies is kinda old but I guess its still relevant and a great starting point on understanding the game engine :DD I found out that its somewhat simmular to what I ve been doing on roblox so following along is not an issue thx for the searies
For anyone having it detect the ground as an obstacle,
Make sure you dont have a semicolon here:
public class PlayerCollision : MonoBehaviour
{
public PlayerMovement movement;
void OnCollisionEnter (Collision collisionInfo)
{
if(collisionInfo.collider.tag == "Obstacle")
thanks for the code for some reason my code wasn't working but I copied yours and it works now thanks man
@@LuxterVr no problem!
It won’t let me drag playermovement into movement
Thanks man.I have been stuck and searching for the solution for days and now it finally works.thanks alot
You saved me. Thanks bro
i love this channel. thank you for these amazing tutorials
sweet God. i have to learn all this. i hope at least my game will make my efforts worth it
focus on learning first then when you are at a intermediate level then you try to make a complete game, and also try to keep it simple otherwise you'll get frustrated
I did the steps but when I hit the obstacle as explained at the end of the video, my player keeps moving Even though I want it to stop and programmed it to stop I am new to coding so please help
Can you give me a run down of your code? Did you do exactly what Brackeys did?
me too i have the same problem
@@tristangovier4877 i did exactly what he did
using UnityEngine;
public class playercollision : MonoBehaviour {
public playermovment movement;
void OnCollisionEnter (Collision collisionInfo)
{
if (collisionInfo.collider.tag == "Obstacle")
{
movement.enabled = false;
}
}
}
if statement does not work for me. it turns of movement anyways. when it hits the ground it turns off. eventought it is colliosionInfo.collider.tag
Same
Have you figured out how to fix it
@@mattbullen3330 you probably didn't do tag correctly as it turns it off as soon as player hits the ground
@@skorpius2029 I tagged it correctly but it still won't work.
You spelt collision wrong
I dont get info when I put the dot. Is that an extension? Or am I missing something.
you deserve more subs
yeah, and he deserves more patreons
Jesil ti to balkanac
Love it, hope i survive, its like my 10 attempt in unity and for first time i have done something and learnd, thank you
These are my notes on this vid so you don't have to rewatch it: Video 5: Collision
Making things happen upon collision.
Create new script, delete start and update method
Void OnCollisionEnter () //Anything within these curly brackets will be called when an object collides with something. Needs a rigidbody and collider.
{
Debug.Log(“We hit something!”); //Make an obstacle and call it Obstacle
}
Console will display text when you collide with it.
You will get that message whenever you collide with the ground though, so switch to a boolean statement.
Void OnCollisionEnter (Collision collisionInfo) //Getting information on what you collide with.
{
Debug.Log(collisionInfo.collider.name); //displays name of object
}
Now we can change it to say something only if we hit a specific object.
If (collisionInfo.collider.name == “Obstacle”)
{
Debug.Log(“We hit an obstacle!”);
}
You can group objects together using tags. Tags are at the top of the inspector and name it Obstacle.
If (collisionInfo.collider.tag == “Obstacle”)
To turn off player movement upon collision, we need to add a new variable above void OnCollisionEnter that cancels the script PlayerMovement
Public PlayerMovement movement;
There will now be an empty slot in the inspector. Drag the Playermovement script to it.
Edit the collision script if/then statement to
If (collisionInfo.collider.tag == “Obstacle”)
movement.enabled = false;
// disables movement script
Assets\PlayerCollision.cs(6,12): error CS0246: The type or namespace name 'PlayerMovement' could not be found (are you missing a using directive or an assembly reference?)
I'm so grateful for this series!
I did everything but it doesnt say anything in the console
Same, I really need help with this
same here! but why? i did everything he did...
For me I sure did add/create a tag but forgot to tag the obstacle.creating a tag and tagging it are two different things
same I need help :/
@@buqthebuq6187 You have to type UnityEngine.Debug.Log("We hit something!")
for me playermovement script is not disabled when the cube hits the obstacle i tired like more than 4 hrs to solve but no solution yet plz anyone help me
GAMER ARYA same here Idk what to do
You might forget to drag the playermovement script into the playercollision script inside "movement"
same here
Use GetComponent(). enabled=false;
Use the above code in void start() {} method
So complete code would be
void start() {
GetComponent(). enabled=false;
}
Don't forget to reply back if it's working or not.
@@apnadekhtu nope
This guy makes the things too easy...wow...impressed...
"We can use the dot to assess in to different infos, stuff like the Impact Foursome.." - Brackeys ;)
im having a problem with this as the dot doesnt show any info in visual studio code
They didn’t say that ok, this is a joke
@@lewel3788 it was 3months ago and no i had exams
Thank you so much, this series is great!
This went perfectly well
i will comment every year on this video and share my game dev experince
2022---
i am new in unity trying to learn 2d games
how is it going so far
That feeling of accomplishment after you fix an error is like no other
you are right my friend. Just spent nearly an hour trying to figure out why I wasn't getting any console debub messages. I had accidentally deleted everything and the script was weird.
@@trevorstechcorner8361 me too how did u do it
If anyone is having issues with the movement.enabled = false line, replace it with GetComponent().enabled = false;.
Thankyou so much
still not working, thanks for the help tho
@@loganmcghee2529 Go into your slippery physics and change the values dynamic friction and static friction to 0.25. I had a problem where it clicked off but the movement didn't stop. It's possibly a physics problem that noobs like myself don't see. :-/ Took me an hour looking around to figure this one out. Anyhow, hope this helps.
p.s. you do this in the Inspector window.
@@Nakasasama thx bro I am stuck on these error from last 4 days I am getting frustrated thx bro again
I've been trying to figure out how to fix this for days, thank you so much
Wait what why when I hit the obstacle it didn’t turn off my player movement plz help
same
Did you assign tag in Obstacle?
For eveyone using the newer unity, like 2020 unity and you're running into the problem of the player not stopping/ script not unchecking on the box after you collide, then try dragging in the Player Collision script into the player cube components and then under the script section of Player Collision Script where movement is it might be at none if it is then click on the circle with a bullseye next to (none) PlayerMovement and then when the menu pops up select player option and it should work now.
@@Zack4343 my script unchecks but cube doesn't stop
@@arishakhan1137 must be the coding then I'd verify all of it and read other comments see what they say.
nice series
I can finally understand programing
For some reason, in the 2019.3.13f1 the “We hit something.” doesn’t work. Any suggestions to help?
You have to type UnityEngine.Debug.Log("We hit something!")
Had the same problem but found the solution in the comments under ep2
@@tonyG433 thankyou
@@tonyG433 thanks so much man i was getting errors till i saw ur comment
@@tonyG433 thank you so much!
@@tonyG433 it still isn't working for me, I tried the UnityEngine.Debug.Log("We hit something!"),
It says we hit an obstacle when i hit the ground, even when it is testing for a tag!
share the code
using UnityEngine;
public class PlayerCollision : MonoBehaviour
{
void OnCollisionEnter(UnityEngine.Collision collisionInfo)
{
if (collisionInfo.gameObject.name == "Obstacle");
{
Debug.Log("We hit an obstacle");
}
}
}@@Chris-hb3gz
@@emilianosainz4718 Late answer but might help : Don't close with a ; after if (collisionInfo.gameObject.name == "Obstacle")
Sinethic thanks so much man I finally got it to work!
@@SinDoppelganger THANK YOU SO MUCH! As a CS major, I should be ashamed lol, but I'm just glad I got it to work.
This series aspires me so much to go forward in game design thank you ❤
So I am using visual studio and I noticed that when you type into it, it comes up with a list of possible things you want to write. It doesn't do that with mine. I was wondering if there was anything I could do to add that function to my version of Visual Studio? (Like an extension or something)
make sure to go to Edit > Preferences > External Tools and make External Script Editor into visual studio
@@TheTopShelf I don't see it. There is no preference in edit, only in files. There is also no external tools tab in files > preferences
Edit: I figured out that you meant in unity, not vscode. Can I face palm myself?
@@lilyofluck371 lmao at least u figured it out
I can't drag the PlayerMovement.cs into the reference in PlayerCollision.cs.
Code:
public PlayerMovement movement;
And then in Unity, I just can't drag it.
same here
I figured it out, go to your PlayerMovement script, go to where it says "public class PlayerMovement : MonoBehaviour", and see what the script is called, in this case it would be "PlayerMovement." I just copied and pasted the name and it worked, I have no idea why
Can someone please help me!!!
4:21 I wrote exactly what he wrote and hitted save. After that I went back to unity and there was a window saying something like: ,,the script (collision) includes something that is not in this version of unity. Please update _*_ in to it. Please make a backup because evry script is going to update".
* I think it was smth like ARI-s idk
Here is the problem I don't remember what is should update to unity and I pressed no thanks because I wanted to save evry other script an to than update it.
And now I don't know how to update it bacause I don't get the window anymore. Instead I'm getting a bunch of errors
It displaeys an error when i declare the public playermovement movement;
Says that
Unexpected symbol public
Still, love how he says "Wednesday"! XD
Great tutorials, though I am not doing any work as I go. Perhaps that is a mistake, but I can always come back. I just want to see some basics laid out in a comprehensive way, and these videos are definitely doing that. Also, nice smile! :)
Whenever I touch my obstacle it dosent say I hit anything and I copied every bit of code word by word. It dosent even show me any errors what am I doing wrong!
Same
Did you got the solution?
@@AkashKumar-hl8wz i think I had to Google it. I forgot the solution. Just go back step by step.
needed help here, so in 6:59 when I typed in public Playermovement movement;
but unity said the type or name space playermovement could not be founded you're missing a directive or a assembly refernce
got this fixed but why will it say expected
Same here bro can somebody please help 🙏
Help its not working win I hit the cube it doesn’t turn player movement off
same , did you got it now ?
No
@@Tank3344-u2w ouhh , ok ok
Can you show the code ?
Wut u mean
These are great, but I still haven't revived an answer to a question. I have been asking for a long time. Can you make it so the map random generates and the game is endless
You can. Look up Procedural Generation. Sebastian Lague has a series on it, and there are plenty of Unite talks on the subject (e.g. procedural generation in Sir, You are Being Hunted). The Procedural Generation Wiki and the website donjon (donjon.bin.sh/) have some good material that you should look at.
I was thinking about trying to implement this as well. My idea was to have the ground keep extending on the z axis a the same rate at the player moves forward until player == collision
As the other guy said, you guys are talking about procedural generation. It's the idea of randomly creating maps based on preset stuff. So it can take 10 different obstacles you created and will randomly generate them in different configurations. Could be set to do this indefinitely.