absolutely great video! I just recently started leaning how to program (it was actually last weekend) and I must say: you explained everything very good and made it simple, so that even a beginner like me could easily understand it!
For those of you having issues, try increasing the float in lines 35 and 40 to a larger number, you may just not be getting close enough to each point. You can control this with a float in your inspector for quick testing :)
@@AlbertoBerito it did for me. I made it 5f to start to make damn sure it worked, and when it did I lowered it incrementally until I was happy with it. So either you made a mistake or you didnt make it a big enough number to actually make contact with your object.
thank you so much for this script. I modified it a lot, so when the enemy touches the player, it plays an attack animation that kills the player if the sword touches him, and after the attack, the enemy starts walking again.
Hi thank you so much for the help it worked for my game! I would love to see a video where you explain how to make the enemies idle for some seconds then move again though if it's possible sometime! Thanks for this brilliant video tutorial!
I copied this code minus the animation related things on unity, and all it does is make my enemy move until it hits a 2D box collider. Are the anim codes necessary even if you don't have animation frames yet?
To those who want to add a flip onto their sprite, add this bit of code to your first "If" and "Else" statement. transform.localScale = new Vector3(-1, 1, 1); transform.localScale = new Vector3(1, 1, 1); Put it above your "rb.Velocity" code. If your sprite goes backwards then just flip the -1 to the other statement
hey, the code works but I have the following Issue: If I set let's say the enemy as a parent Object and move the points under it, the code stops working and it just moves past the points
for some reason the if (currentpoint == point.transform) is not working correctly at all. I fixed this by making the speed switch direction in the second set of ifs (the ones that check the distance) and always have the velocity at speed.
Very good tutorial! works good, i wonder if there is a way to make it so that the enemy can jump up a little step if needed so it can patrol larger area
thanks for this video @morebblakeyyy very helpful. Im making 2d shooter side scrolling game like the robocop game back in the 90s where I need to shoot in 8 directions is it possible for you to do a tutorial? for example if I want the character to shoot 45 degrees in a diagonal where i have to push down W & D and shoot button to fire that direction
@nevergonnagiveyouup1669 Yeah, didn't help much in the long run since unity being a nightmare to work with pushed me away from coding. I've just been doing music for games and stuff now. I find it to be a lot more fun than coding and from how the folks I'm working with have reacted to my music I'm definitely better at it than coding, and improving my style.
I know I'm a bit late but I might know a solution (atleast it worked for me) I had the same problem, I changed the z to 0 (by PointA and PointB) and since that wasn't enough, I also changed the hight of those two points. If your points are lower or much higher than your object, that you wanna move, then it won't function right. So If someone also had this problem: This might be a solution! Update: I also had the problem, later on, that my mob would face e.g. right but would go left. As a quick fix: You can just say in your enemyPatrol script under void Start() { flip(); } works fine!
Hey, I am making a game with a modified version of the code provided in the video. However, I wanted to ensure that I'm using the script in accordance with your terms and conditions. Could you please provide clarification on whether I need to purchase a Patreon subscription to use the script commercially? Additionally, are there any specific attribution requirements I should adhere to? I deeply respect your work and want to ensure that I'm following the appropriate guidelines for its usage. Any guidance or clarification you could provide would be greatly appreciated. :)
Thanks a lot for making this! This video really helped, but I have a one issue- my enemy isn’t going along the straight line, it’s y is changing. For some reason when it patrols vertical (I modified the code), it doesn’t drift like this, so I don’t know what’s happening.
Guys one of the reasons mine didnt work at the start was cuz my z position for my character was set to -279 and my points were at something else lol. make them all 0
good for less enemies, for many enemies, there are much more efficient ways like this for excample: private void FixedUpdate() { isPlat = Physics2D.OverlapCircle(fallCheck.position, 0.2f, 1
The scripts from this video are available here:
www.patreon.com/posts/2d-enemy-patrol-78358557
sorry but the web page noy openning with me
what is vector2 point for? why dont you use time.deltatime
Sorry I'm just a student, no $ yet. :((((
Can't purchase your code :((((
Thank you so much!
And to people who struggled to make it stop at Point A, try this
if(Vector2.Distance(transform.position, currentPoint.position)
I was planning on making enemies for my first game very soon, this came at the perfect time thank you!❤
absolutely great video! I just recently started leaning how to program (it was actually last weekend) and I must say: you explained everything very good and made it simple, so that even a beginner like me could easily understand it!
For those of you having issues, try increasing the float in lines 35 and 40 to a larger number, you may just not be getting close enough to each point. You can control this with a float in your inspector for quick testing :)
Wow what a smart man
what number?
dont work :(
@@AlbertoBerito it did for me. I made it 5f to start to make damn sure it worked, and when it did I lowered it incrementally until I was happy with it. So either you made a mistake or you didnt make it a big enough number to actually make contact with your object.
@@robertyocum7200100f and dont work
thank you so much for this script. I modified it a lot, so when the enemy touches the player, it plays an attack animation that kills the player if the sword touches him, and after the attack, the enemy starts walking again.
thanks! this helped me do something i have wanted to do for a long time!
remember to use composite collider if u are using a tilemap
Why , what does the composite collider do?
This video was excellent. Thank you!
Glad to hear it!
Hi thank you so much for the help it worked for my game! I would love to see a video where you explain how to make the enemies idle for some seconds then move again though if it's possible sometime! Thanks for this brilliant video tutorial!
Nevermind, i managed to make the enemies idle, everything has worked excellent! :D
Yesh! it worked, thank you so much for the tutorial :DD
Great video, thank you!
What do I do if I want to add 2 and more patrolling enemies? Code works only for one enemy. Do I need to add a different script for each new enemy?
I think you can just make 2 new points, although it would be nice if the whole thing could be packaged into a prefab.
try same script but add new points with new names in script and gameobject
I copied this code minus the animation related things on unity, and all it does is make my enemy move until it hits a 2D box collider. Are the anim codes necessary even if you don't have animation frames yet?
To those who want to add a flip onto their sprite, add this bit of code to your first "If" and "Else" statement.
transform.localScale = new Vector3(-1, 1, 1);
transform.localScale = new Vector3(1, 1, 1);
Put it above your "rb.Velocity" code. If your sprite goes backwards then just flip the -1 to the other statement
thanks bro that was helpful
Oke this help tnx
no man if it does not work properly for people whose scale is not 1 it makes the sprites smaller
instead we can use eulers angle to flip the sprite
hey, the code works but I have the following Issue: If I set let's say the enemy as a parent Object and move the points under it, the code stops working and it just moves past the points
I just realized my mistake...
Thanks a lot man, you really saved my timed Project, lots of love
for some reason the if (currentpoint == point.transform) is not working correctly at all. I fixed this by making the speed switch direction in the second set of ifs (the ones that check the distance) and always have the velocity at speed.
The caracter doesn't stop at point B and I don't know why because I did everything coorectly. Can someone help me pls ?
It maybe because of distance between enemy and the point.( transform.position, _targetPoint.position) < .5f
Instead of
This. Many people are having this issue and this is most likely why, fixed it for many in the discord
ia nayone could help i got to the stage before flipping the enemy but my character still walks off the edge any fixes?
Brill bit of info!
Thanks for the tutorial
Why does mine randomly stop after turning? After if give it a push with my player it starts moving again tho
Very good tutorial! works good, i wonder if there is a way to make it so that the enemy can jump up a little step if needed so it can patrol larger area
My player randomly stops at random points how do i fix this?
Super helpful, thanks!
thanks for this video @morebblakeyyy very helpful. Im making 2d shooter side scrolling game like the robocop game back in the 90s where I need to shoot in 8 directions is it possible for you to do a tutorial? for example if I want the character to shoot 45 degrees in a diagonal where i have to push down W & D and shoot button to fire that direction
Life saver, I was doing it by have two trigger blocks at the end and when it enters the trigger block it reverses the direction
what is Vector2 point for?
If i set the collider as "is trigger" it starts going throught walls and misfunctioning
4:42 saving this for later, I gotta go to bed.
7:06 saving this for later, just got a call slip :/
Did you finish the video now
@nevergonnagiveyouup1669 Yeah, didn't help much in the long run since unity being a nightmare to work with pushed me away from coding. I've just been doing music for games and stuff now. I find it to be a lot more fun than coding and from how the folks I'm working with have reacted to my music I'm definitely better at it than coding, and improving my style.
Thanks brother, awesome tutorial! one question tho, where did u use the V2 point u created in line 25? maybe i missed it...
hey im having a bit of trouble with my enemy for some reason he instead of moving in a platform he just teleports to a random place, got any idea why?
how to do the sudden freeze and idle to look at the player( turning to us) i do 2d games but in 3rd person view. Please help me.
Thank you sir!🥰
what if there's point C?
doesn't work .-.
okay we made enemy but what will it do to the player?
It doesnt work for me neither. I did exactly like in video, and the enemy just goes right direction continuosly without stopping
If you want to join the discord we can help diagnose what you’re missing
yeah same man
same
I know I'm a bit late but I might know a solution (atleast it worked for me)
I had the same problem, I changed the z to 0 (by PointA and PointB) and since that wasn't enough, I also changed the hight of those two points. If your points are lower or much higher than your object, that you wanna move, then it won't function right.
So If someone also had this problem: This might be a solution!
Update: I also had the problem, later on, that my mob would face e.g. right but would go left. As a quick fix: You can just say in your enemyPatrol script under
void Start()
{
flip();
}
works fine!
I have a problem when I clone the enemy the ai doesn't work and when I add new points to it it still doesn't
que hace el Vector2 point?
Hey, I am making a game with a modified version of the code provided in the video. However, I wanted to ensure that I'm using the script in accordance with your terms and conditions. Could you please provide clarification on whether I need to purchase a Patreon subscription to use the script commercially? Additionally, are there any specific attribution requirements I should adhere to?
I deeply respect your work and want to ensure that I'm following the appropriate guidelines for its usage. Any guidance or clarification you could provide would be greatly appreciated. :)
Hey, nope you’re welcome to use the script wherever you please
Thanks, appreciate it:)@@morebblakeyyy
Once I flipped it it broke the whole code send help
I wonder why it doesn't work on mine
Amazing video
thanks so much!!!
Ummmmm for me this does not wanna work for me even with all of the code in it
Thanks a lot for making this! This video really helped, but I have a one issue- my enemy isn’t going along the straight line, it’s y is changing. For some reason when it patrols vertical (I modified the code), it doesn’t drift like this, so I don’t know what’s happening.
in your rigidbody2D you can click the y box on the constraints tab. it wont do that weird zig zag motion anymore :3 👍
♥
IMPORTANT: THE SHPERES NEED TO BE TOUCHING THE GROUND FOR IT TO WORK, I LOST 4 HOURS OF MY LIFE BECAUSE OF THIS, HOPE IT HELPS!!!!!!
el personaje se mueve hacia la izquierda unicamente, hace un flip en el punto A y sigue asi hasta que choca con un collider
when i add the patrol script to my enemy it doesn't let me choose point a, b, or the speed how do i fix this?
Did you set the variables to public?
@@Abiodapro that fixed it, thanks!
@@SteelOcean6 No problem :)
Guys one of the reasons mine didnt work at the start was cuz my z position for my character was set to -279 and my points were at something else lol. make them all 0
didn't work for me
Update: it did work!!!
good for less enemies, for many enemies, there are much more efficient ways like this for excample:
private void FixedUpdate()
{
isPlat = Physics2D.OverlapCircle(fallCheck.position, 0.2f, 1
Thx
Idk how you all got it to work, shit didn’t for me
Ended up just using timers instead lol
makasih bang
nice ONE PIECE of code bro , thx for help
firssstttt❤❤
Don't waste your time! This doesn't work
When I make it a asset and start puting it inn the project the points don't work