The Easiest Way to Make a Simple Enemy AI in Unreal Engine 5
HTML-код
- Опубликовано: 26 сен 2024
- Hello guys, in this quick and simple tutorial we are going to make a simple enemy AI, which will follow the player, have its own vision area, and attack when it's near the player in Unreal Engine 5.
Follow me on Twitter: / gorkagames
Subscribe to the channel: / @gorkagames
unreal engine 5,ue5,enemy ai,tutorial,quixel,megascans,unreal engine tutorial,how to make enemy ai,ue5 enemy ai,ue5 how to make ai simple,unreal engine enemy ai,unreal engine 5 how to make enemy ai,unreal engine 5 simple enemy ai,unreal engine ai system enemy,unreal engine 5 enemy ai simple system, unreal engine 4 enemy ai,unreal engine 4,ue4,unreal engine 5 how to make simple enemy ai
Patreon➡ bit.ly/GorkaGames_Patreon
↪Just opened my NEW DISCORD join NOW! bit.ly/GorkaGamesRUclipsDiscordServer
Check out MY NEW Unreal COURSE with GameDev.tv ➡bit.ly/UE5_StealthCourse_GameDevTv_GorkaGames
@GorkaGames please do a tutorial of how to play and stop sounds when it sees you and stop seeing you PLEASE I am making a game and I NEED to know this
There is no any free assets here.
For those of you following this tutorial after UE5.1, you might see that the enemy gets unnloaded, where they aren't visible in your world preview, but they show up when you press play. This may cause them to stop following you after adding the Anim Blueprint to the enemy mesh. This can be fixed by going to File > Save Current level As... > Then pick a name for the level. Then when you load that level it will have the actors loaded and they will follow their animBluePrint. Hope this helps!
Idk why that works but thank you
Thank you!!!
Here is for everyone that is having trouble with the attack animation keeps spamming when the AI gets close but when you move back it plays the full attack montage. I found a comment from Gorka Games fixing this problem.
"So in the enemy ai blueprint, delete the very first node where you set the "attack possible" to true, on the "FollowPlayer" event, and in the variables section of your blueprint set it by hand to true by default."
For those who doesn't know how to do it (like me) just clic on the can attack variable and clic the box of "can attack" in the right section.
yeah but now he s attacking only 1 time, then stops
@@pixys6856 Same. Not sure how to fix...
@@MaxwellPublishingthe problem is you don't understand Unreal engine and you're just following what other people say and that's the limit to your knowledge.
@@KB-kp2oz youre ignorant to what its like to be unknowledgeable. there is no possible way to EVER learn blueprint by trial and error. there are millions of combinations to do anything. having tutorials to help you build a few games until you understand the UI and get a grasp of the languages logic, then you can start dabbling in your own work. but a noob cant even get a single line of code out bro. just wont happen.
For anyone who has 3rd person camera collision issues with the BP_AI running into you, go into the BP_Enemy_AI blueprint and then on the "event begin play" at the top drag out and type "collision response to channel", target should be the mesh and in the "channel" drop down change it to "camera" and in the new response set it to "ignore". click compile. you're done!
Also, I did just the mesh the first time and it still glitched out. Drag the Capsule collision into the target as well :)
This was driving me nuts @@gatheringmatter4289 lol i tried mesh, camera still glitched, i tried the capsule, same. never occurred to me to ignore both at the same time hahah thanks
A Unreal Engine tutorial that actually makes since and isn't 20 hours long. 🙌🙌
Thank you so much! I've spent days trying to figure this out. Watched so many videos and things but this was just what I needed! I look forward to watching your other tutorials.
what version of unreal engine do you have
Bro your tutorials are insanely good.
thank you so much man!! I really appreciate it!
Your "is seeing player" variable does not change in any way. The first time this change changes from falsehood to truth, it no longer changes. In this case, there was no reason for you to stop the artificial intelligence, since the "on see pawns" function would not work. When you run behind the enemy's back, "on see pawns" does not work for the enemy, and therefore "move to" does not work either
ive done this step by step an everything works except the attack animation. the AI notices me, rushes me, an stop as soon as they reach me but no animation (attack) happens. an all the "script" is right in comparision to the video. anybody got any tips for me???? please an thank you
Hi, I want to ask, I followed the steps as in your video but in the end mine wasn't the same as yours. The attack animation happened repeatedly, like jerking, as if the attack animation had not yet hit the main character, he repeated the attack movement over and over again. :(
same, its like it goes through the blendspace and then the anim montage slot, even tho the montage hasnt been called yet
@@mahersabit9265 same
did you find a way to fix it
For Anyone having an issue with the punch not playing. make sure you have a default slot in between Your animation input and the output pose . he mentions it briefly it is important
This is super helpful!!! Could you please make a tutorial on how to make an enemy that shoots projectiles? Thanks!
Thank you!! Yes, that would be a very cool tutorial to do, I will note it down!
@@GorkaGames Thanks!
whre? i cant see the note @@GorkaGames
Honestly I'm impressed by the fact that I followed this meticulously, with the exception of what I named the ai blue print, and it just keeps giving me warnings resulting in a t posing model floating behind me. Good tutorial.
Make sure that you have followed the tutorial properly, could you be more specific on what are the warnings etc.
The only issue I've had so far is where he puts in the fight animation. So clearly you had done something wrong my friend! Can't blame a tutorial if you're not going to follow it
For my first time using the engine this was fairly easy to follow and covers enough cases to feel complete. Thanks!
starting this one now wish me luck as always GOOD JOB !!!!!!!
why when zombie follow me he run with idle animtaion? pls help edit: i dingdong, i fixed this. thx you for the video author. edit: wow zombie isn't attack, at this time i did all right
How did you fix it
Just finish the video
@@dominusman382 already fixed it i dont remember what it was but i think it was a connection or something that i forgot
@@whitesheep1417 mmm no. i still didnt fixed it.
Why are you like this 😂
Thanks so much! Step by Step it is very useful! And do you know how i can improve thirdpersonCamera? When the following enemy is set, the view of ThirdpersonCamera will flash back and forth due to the occlusion of the enemy.
You have to go to the camera boom in the character BP and change the length. Anything that comes in contact with this will push it forward and cause it to move.
Edit: Try messing around with this a bit.
So good man, very clear
Thank you! I really appreciate it!
works perfectly now i forgot to add update animation node to the rest so now is doing all animations when runing after me not just idle , and i did use another character and works fine, i also know why it didnt work manequin yesterday i had to apply each animation for it individually cause i retargeted them for other character so it works perfectly i simply had to adjust some stuff on my part , thank you so much for this i use 5.1 latest version of unreal and is perfect
Great tutorial! It has helped a lot as a a beginner. Please correct me if I'm wrong, but does the "Is seeing Player" part actually do anything? Follow player function is only triggered after isSeeingPlayer is set to True. Then the branch checking whether it is true should never go to false. And the branch doesn't even make sense - if isSeeingPlayer is False, then set isSeeingPlayer to False? For this reason it actually never makes it to the tick to stop moving. It seems the effect that the pawn doesn't see you anymore when you go behind it quickly works without any of the isSeeingPlayer logic. I also tested this.
you are correct but you can use the branch to set ai back to patrol or something similar instead of stopping the movement.
@@drakonis338 how do i do that?
You are right, it is not doing anything.
I'm from Indonesia, you are my sensei, I have seen a lot of content and knowledge that you provide, thank you!
I like your simple behavior tree tutorial and it works for me. Are you planning to do any more behavior tree setups with a little more added behaviors?
i have a issue, after i added the punching my enemy stopped following me and only stayed in its place and when I came close to him he just punched and when i went far from him he stopped; but before i added the punching thing my enemy was following me perfectly. Help pls!
Thankyou bro! Your channel help me a lot! I learn so much thinks, just thankyou :)
Very nice tutorial. Thank you. Make some tutorial about 2.5D view (like games: Trine, Little Nightamares, Unravel). Would be nice to see these settings
you always save my butt with your tutorials, thank you.
at 9 : 7 when i drag blendspace its showing me two options Speed and None
thanks so much this helped im developing a game rn but im a starter
so thanks
Hey man, thanks for the tutorial. I got an issue... Everything works fine, the enemy chases me, but when it tries to attack, it only plays about half the attack animation, and then restart the animation. The only way it completes the animation is if I run back and give it some space. Can you help me with that?
Same problem here. Did you find a solution?
@@durumvfx i found if it helps now
@@Nikolailol-q3t Please!!
…why do you set the IsSeeingPlayer? to True before calling FollowPlayer and then within FollowPlayer, check if IsSeeingPlayer? is true or false? it’s ALWAYS going to be True at that point before FollowPlayer gets called, as FollowPlayer never gets called until after IsSeeingPlayer? is true. What’s even the point of that Bool or the Branch within FollowPlayer?
Also, at the CanAttack? part, you set the value to true, then check if it’s true (of course it is! it always will be at this point!), then set it to false claiming that’s to prevent it from attack spamming (that’s not true at all. by the time this point in the code is reached, setting it to false will not prevent the Branch from going True because you set it to True at the start before the Branch), and then you do the animation montage and do a delay (the truly ONLY thing preventing attack spamming, is the delay), and then once again set the CanAttack? to true again… That Branch is useless because the moment it gets to that branch the value will always be true, every time. So why is it even there?
Then you went back and set IsSeeingPlayer? to false after checking if it was already false… that does nothing. This part of that branch will never happen. What’s the point?
The PawnSensing already does half the work you attempted to do in this (when PawnSensing sees the player, it sees the player, you don’t need to set any bools to true to MAKE it see the player, you only need to have it Do Stuff from PawnSensing seeing the player), which is why it was shown to be working when you playtested it. The moment PawnSensing is no longer detecting the player, it no longer calls the code after it. You only need it to attempt to move towards the player when it sees the player, it won’t keep trying to follow the player when it no longer sees the player because it wouldn’t call the code to follow the player when it isn’t seeing the player.
Tutorial is good, and i tried from my side, but i have a problem, the AI will keep repeat attacking without following the montage length even thou i added the delay. While playing montage, the ai keep moving toward to player while it run.
same
Same br9 how could i fix this
Hi there, thanks for the great tutorials. Most helpful.
If I had a city, and I wanted npcs to just walk around follow roads. Do you have a video on that please
@GorkaGames please do a tutorial of how to play and stop sounds when it sees you and stop seeing you PLEASE I am making a game and I NEED to know this
hey I'm not entirely sure on this but at 4:13 before ai move to use play 2d sound or however you are playing your sound and connect the branch - true to the play sound to the ai move to
hopefully that works and good luck
You are the best friend!! Please make a video tutorial, if the enemy AI killed the player, then it continues to run to another Actor. Greetings from sunny Kazakhstan!!!
Thank you for watching!! Yeah good idea, I will note it down for a future tutorial!
It's not using the animation when moving, I've looked through the bp and rewatched the video a dozen times and I don't know what the problem is. Is this tutorial using 5.1 or a different version?
Could this be done for animal AI? Also, would you consider making a tutorial on animal AI without combat?
Yeah this Ai system can be implemented into any sort of character or creature that you like, just change the skeletal mesh, and the animation blueprint 😄 Yeah I have in mind making an focused tutorial on animals
@@GorkaGames Thank you :)
@@mochapokapaw Just have the animal walk animation, and don't have the animation montage. Or you can change the montage to a different animation, like when the animal gets within range it licks you.. or whatever animations you have.
how do we get rid of the glitch when the punch makes contact? should we distance the enemy?
yeah just go into your enemy`s blueprint, and then select its mesh, go down into collision in the details panel. And then select custom, and make the camera tick on ignore. And the same with its capsule collider. Hope it helps!
everything works besides the fact that the attack animation only gets fully played out if i keep moving after it started. else it restarts after like half a second (while the whole animation should be about 3 seconds)
edit: it seems to be that the problem is that the delay is irrelevant cause somehow the whole chain after success gets triggered again and again while the animation starts so it gets started over
hey, did you watch the part before minute 13:23 ? in there is the part where I control this..
@@GorkaGames yeah i think it looks exactly like yours. the interesting thing is that the delay gets triggered and even runs.
@@icemanww1573 hmm, that is very weird.. so the delay duration is set the same as the Anim Monatge duration, right?
@@GorkaGames yes. i could even set the timer manually. it still works and runs but that somehow gets overwritten by the move to success thats been activated again and again every second or so. so the delay is running but the nodes before get activated still
@@icemanww1573 hmm alright, did you make a branch on the succes asking if we can attack and then immediately setting the canAttack variable to false? because that is what controls the overriding issue that you are having
Great stuff! Thanks
thank you!!
Thanks for the Tutorial! There's only one problem and that's the enemy attacking. I have found a ninja attack for the enemy AI. It's got the run down but it's refusing to attack once it reaches. It seemed to work in a different project but can't find that one. Any suggestions on what might be going wrong?
i feel like we all should be giving you some compensation for this. i dont have much money so it sucks. but i totally would if i had like more disposable income currency. if i ever do i will for sure give you something for everything you have taught me. THANK YOU
There is a camera clipping issue he hasnt discussed here but otherwise works
just go to your enemy blueprint, look up collision in the details bar and make the collision settings to custom, then click ignore on camera. should fix the issue. (ik this is a year late but its for ppl still watching and having the same issue)
Why can´t I just copy all animations and settings from the 3rd person character? Or use default manny animation?
其实不需要followPlayer这个函数,直连AI MoveTo然后pawn to pawn就更简洁了。
Everything is going fine but the animation for the run and chase from the enemy AI isn't working. It's following me but in rigid form. Speed isn't changing either. V confused what to do.
new steam releases went crazy for this release 🔥
Hello mate I did the same thing but for some reason my Ai Run to the character but wont use the hit animation
Same here, did you ever figure this out?
@@samc4235 Did you figure out?
Nice work! It really helpt to me. I was stucked because i just deleted NavMeshBoundsVolume by error ^^
haha those things always happen, thank you!
This was really helpful for me but I had a problem. When I tried to link the self reference to the pawn it didn't work and i'm stuck there because of it. Any way around this?
Thanks! Do you mean the self reference on the pawn on the "AI Move To" Node of the Enemy blueprint? If so, make sure you are spelling it right, there shoudnt be any problem. Check that you have context sensitive on when you right click to add a node.
@@GorkaGames alright Thanks 👍
@@Hollow_Tempest I have this same problem when following this tutorial. I followed exactly so far. the self will not link up to the pawn. Did you fix it?
THANK YOU!!! LOVED THIS TUTORIAL :D
Im making a game with a lot of movement, and it doesn't really fit in with this AI, because it is very easy to get out of its line of sight. doing this would tend to make the AI just forget I was there. IS there a fix for this.
You can just adjust its sight radius and vision angle to fit your requirements
This is great thanks. "isSeeingPlayer" is always true though looking at your blueprint? i can't stop the ai following the player 😞
Thanks! Hmm, what do you mean exactly? By default "isSeeingPlayer" is set to false, and when it detects the player with pawn sense, it enables it. And later on every frame, it deactivates it unless the player isnt longer being detected
i cant see the yellow lines for volume. how do i fix this?
Ok you did a good job making this but i feel like there were some things you really ought to have included.
Like how to add an animation to the Play Anim Montage list cause I don't have that. Its hard to get through the video when you have to pause it every few minutes to look up something it didn't cover.
Still thanks for the help man.
What was the point of creating the "Is Seeing Player?" variable?
Bro how to make camera not creep to a first person view when the ai runs directly behind character?
go into the enemy`s blueprint, then select the mesh, go into the details panel, and scroll down into collision prestes. Then select custom, and check the box on ignore on "camera". Do the same for capsule collider
Hey thanks man tutorial helped me alot question with my animation montage the enemy glides when the animation is playing, would there be anyway of fixing this?
I`m glad that you found it useful. Yeah I actually have a tutorial on that! ruclips.net/video/wOIlkertaLA/видео.html
@@GorkaGames thankyou
Thanks for the great tutorial!!
Which is the follow up video to this one for making a damage system on your player character?
Btw for me my enemy was glitching out when chasing me, just remove is seeing player variable and it fixes itself. (Is seeing player isnt needed)
one problem,evey few steps the ai takes a step back(kind like lagging) and then continues the animation,like resetting the animation for half a second
the guy doesnt move, i used different mesh but other that everything was followed the same. my character is just arms idk if that matters
did you place a navmesh in the scene??
yeah I followed everything in the video but he doesn’t move even with the navmesh
Put the navmesh under the floor (just a little) and it should work
@@ChrisDev123 tysm
Hi, Do you have any idea to how ask the Ai to hit the player with the behavior tree? This two tuto are kinda diffrent xDI tried to skip the "move to" because we already have the behavior tree, but it doesn't work.
And the last part, when the Ai can attack, don't work :c (It work now, I have to just change animation, I have the impression, than idle withoput animation are not working with the play anim montage.
is there a way to make it turn smoother, it kind of just snaps on to you, its weird.
i did all steps in order and seem to have trouble applying the animation to the AI just stuck on a tpose
Did you asign correctly the Blendspace Horizontal axis values? From 0 to the enemy`s max speed?
yo i cant see the animation for attacking in the play anim montage, how can i make it appear?
I have an enemy that isn't the shape of a human, how could I make it so the player could collide with the enemy instead of not being able to and only colliding with the small capsule collider
Context: Completed previous tutorial "How to create a Combat System". Than tried to add this tutorial to it using the previous BP_Dummy.
Issue: AI wouldnt attack, would just stand still after chasing you.
Solution: There was a double Mesh, had to use the Parent Mesh, and delete the other. Than assigned AP_EnemyAI. Problem solved.
Moral of the story: Gorka Games actually followed up with me on Twitter, swapped screenshots and videos to help me solve this minor issue, And is amazing lol
Hey! So the AI does not play the attack animation at all, right? So a fix was the comment that you just highlighted, but If you have tried it and it didnt work.. Could you send me some screenshots of your code? Maybe throught twitter?
@@GorkaGames for sure, one sec. ill get those ready.
@@GorkaGames I sent everything via messenger on Twitter. just letting you know.
Hi! This must be the problem I'm having. What do you mean a double mesh? Thanks!!!
I have a 3 puch animation but the hitonly registers on the first punch, then on the first puch of the animation again. How do i fix it to where every punch thrown registers a hit?
At first AI would not come at me. Not sure why this broke it but it was because I had hear pawn and sense pawn untoggled. Even though we only wrote a blue print for see pawn action it seems it requires these?
at 9:57 I don't have that option to use "get owner (character movement)". I can turn off context sensitive and find it but then the nodes don't connect nor work. Do you know why this might be?? :)
Dont worry about the "Get Owner" part as instantly I just delete it. So just type "get character movement", and scroll down to the bottom, and it should appear
@@GorkaGames I have this same problem, the issue isn't the Get Owner part. I think they removed it with an update. We're looking for an alternative :/
I'm stuck there too, have you had any luck?
Bro I did everything the same as you but my ai still just stays in place I checked the blueprints 9 times or even more but my ai stays in place and does not move
2:44
Can you show how to make a health bar for this and will it work in first person template provided by unreal engine 5.
Yeah, I do have some episodes for a combat system, which covers that, but in third person: ruclips.net/video/fp5LbdC4vek/видео.html
Can't get the AI to move towards my Character, rewatched multiple times. If I turn the Acceptence Radius higher it says success but doesn't move, else it just fails.
It works in the default project so i guess there is something wrong with my project settings or my own ThirdPersonCharacter Blueprint. I have no idea what to do.
Have you placed te NavMesh Bounds correctly on to the floor?
@@GorkaGames I did it exactly like in the video, as I said it works in the default ThirdPerson project when I copied the same Enemy Blueprint but it's not working in the project I'm trying to implement it in
Edit: Fixed it by putting a delay of 0.1 after the "On See Pawn"
@@kypindor7099 I am having the same problem. Where do you put the delay? Can you explain it a bit more cause I don't see where I could put it down 0.1 delay?
4:57 I followed everything up to here but even after adding the nav mesh it just floats and dose nothing, so I tried adding another one, and that didn't do anything, so now there's two that don't move and I'm not sure how to remove them someone please tell me how to remove objects Google, RUclips, reddit don't help
Hii there... I liked your tutorial... Just a question can this work for 2d platformer as well since i want to do the same thing where my enemy is patrolling first and when i get in his range he comes towards me and starts attacking...
I got a problem the montage doesn't work he following me without playing the montage only spam the attack and i delayed
Im having trouble gettin this to work with a retargeted character, synty... any suggestion?
This should scale into any character, so what is what is not working? The animations?
I am following the instructions, but for some reason when I try to add to the blueprint "Follow Player" I do not see anything pop up.
my animation keeps lagging like one time it played then before another time it goes some steps back!!!walk one
Oh it was my animation that was moving too!!!
Managed to get the AI walk towards me and he’s in idle when near me but he isn’t attacking, is it something wrong I did in the animation montage?
Make sure that you are calling properly the events and make sure that the enemy has a default slot in its animation blueprint
is there anyways to use instead of casting? 19:50
So, If I create a hockey puck that is a pawn and give the AI a pawn sensing component, is that the beginning of creating something like "defense" in a sports game?
yeah exactly, the AI will already be able to detect and sense other objects
Hey gorka please make a tutorial on adding zombie sounds to zombies in ue 5 please
stuck around the 8 minute mark. when i hold control both of the green x's move and nothing blends. i almost wish they didnt update programs like this so often because its just breaks tutorials and makes it harder for new people to learn
Curious if throwing bools around each movement node is best practice, I've been doing this as well but it feels realllllly repetitive for more complex "AI"
13:41
my ai moves but doesn't kill me can someone please help me?
it's super important for my game and I really need it
so if anyone knows how to fix it please reply to me
how do you make a new blueprint? im very sorry if this question is dumb its just that i never uesd unreal and im very new to it
Right click in your content browser! (:
I cant find the ask brantch? I can only find task and mask and if i zoom in to see what you wrote the youtube graphics make it unreadable
Edit:ive found it i miss under stood what you said
at 9:21 when you click enter it doesnt add the dots on the line, and when i try to "cast to BP enemy ai" the only thing that pops up is "cast to BP thirdperson"
I have a question, what if I want the AI to wander around And attack me? Do I do everything like normal but just put another slot in the animation blueprint?
Hey man i was following this video but when i came to testing to see if the ai would mov, he didn't it was just frozen
update, i figured it out i had just placed the nevmesh thing ubove the ground
Hey man, make sure that you have set the navmesh correctly
i have a problem whenever i walk a bit to the right the AI will just snap to the closest rotation possable and i dont want that
can someone help pls
So in the ai`s blueprint, find in the details panel, orient to movement
ran into a small error, when i try to drag and drop the blendspace into the event graph for the AP_ENEMYAI blueprint it says i cant create components from assets in a non actor blueprint. Does this have to do with the fact i chose "Blendspace" instead of "Blendspace 1D"? and if it is so, then where else am i able to choose Blendspace 1D because it didn't give me the option when I created a blendspace blueprint.
On the left side window open the "AnimGraph" under "Animation Graph" can drop it in even graph
How do you make the Enemy less stupid? Right now if I simply move behind him during an attack he loses me and I can easily walk away.
hey amazing tutorial vut having issuse when i fisrt tried to play my ai enemy does not move at all an i followed every step but nothing happens an if check multiply times an redid it 3 times on new maps an still no movment
this video is great. only issue im having is my ai seems to move way to fast no matter what i set and runs past me then rubberbands back to behind me
thanks! make sure that in its Character Movement component he has the "Max Walk Speed" set to a lower value
mine isnt moving
Hello! Thank you for a great tutorial, but the enemy isn't chasing me, what did i do wrong?
Now It Finally Works, Thanks!
@@1nf3rn0-v7h What did you change?
@@hamburgerfrenchfries3777 The Thing Is, When I Created A Unreal Engine Character Class, It Did Not Add Me The Character Movement Component, Added It Manually And Now It Works