FULL 3D ENEMY AI in 6 MINUTES! || Unity Tutorial

Поділитися
Вставка
  • Опубліковано 20 сер 2024
  • FULL 3D ENEMY AI in 6 MINUTES! || Unity Tutorial:
    Today I made a quick tutorial about Enemy Ai in Unity, if you have any questions just write a comment, I'll try to answer as many as I can :D
    Also, don't forget to subscribe and like if you enjoyed the video! :D
    See you next time.
    Links:
    ➤ NavMesh Components: github.com/Uni...
    ➤ DOWNLOAD the SCRIPT: www.mediafire....
    ➤ DOWNLOAD the PROJECT (in the free-code-dave channel): / discord
    ➤ DON'T CLICK: bit.ly/2VcrDZt
    If you want here's the series about the GUN SYSTEM USED in the video:
    ➤ • SHOOTING with BULLETS ...
    🏹 Get Access to my RANGED COMBAT LAB! 🏹
    ➤ Trailer: • RANGED COMBAT LAB - Un...
    ➡️ Get Access to my full MOVEMENT LAB! ➡️
    ➤ Trailer: • MOVEMENT LAB - Unity P...
    Other interesting videos :D
    ➤ Full WALL RUN tutorial: • Full WALL RUN TUTORIAL...
    ➤ My FIRST YEAR of game development: • My FIRST YEAR of UNITY...
    Support me on Patreon:
    ➤ / davegamedevelopment
    Music used:
    ➤ Elevate - LiQWYD: • Elevate - LiQWYD (No C...
    ➤ Night Out - LiQWYD: • Night Out - LiQWYD (No...
    #UnityTutorial #EnemyAi #UnityEnemyAi

КОМЕНТАРІ • 1,9 тис.

  • @shreerajkulkarni
    @shreerajkulkarni 3 роки тому +478

    I was almost in tears listening to your voice because Brackeys has taken a break from youtube
    😢😢😢😢😭😭😭😭

    • @virusocyrus
      @virusocyrus 3 роки тому +31

      No he's done for good :'(

    • @RedCroissantGames
      @RedCroissantGames 3 роки тому +5

      same buddy :(

    • @hunterc4881
      @hunterc4881 3 роки тому +24

      "Good-bye and thanks for everything" doesn't sound remotely like a break tbh.

    • @monkeyrobotsinc.9875
      @monkeyrobotsinc.9875 3 роки тому +6

      i was in tears listening to his voice for entirely different reasons..... :((((((

    • @h-aram1933
      @h-aram1933 3 роки тому +5

      @@monkeyrobotsinc.9875 i guess feeling overwhelmed with how complicated coding seems? for me that was it

  • @safdaboss8645
    @safdaboss8645 3 роки тому +775

    whoever followed through this tutorial without pausing the video once is a god

    • @HandleDisliker
      @HandleDisliker 3 роки тому +37

      No joke, especially when this is my first time hearing his voice (not that it's bad at all just it wasn't anticipated)
      ...And I came back. For some foolish reason I thought I could follow through at 0.25 speed and You. Were. Not. Joking.

    • @P4rz1va1
      @P4rz1va1 3 роки тому +13

      yeah, either this guy sped the video up so he could make the title "AI in 6 minutes" or he's just that fast, that's crazy.

    • @Shezza_1212
      @Shezza_1212 3 роки тому +30

      @@P4rz1va1 it says 6 mins but it took me an hour to follow along, was a painful experience.

    • @soundzythedev
      @soundzythedev 3 роки тому +12

      I paused every 5 seconds

    • @FINTHRTD
      @FINTHRTD 3 роки тому +10

      The idea is to watch the video without doing anything, and then after watching it, try to do it yourself. Then it is possible.

  • @axer1015
    @axer1015 3 роки тому +97

    I feel like this guy might be our Brackeys from now on

  • @davestone8766
    @davestone8766 3 роки тому +469

    "in 6 minutes" ... *does tutorial in hyper speed*

    • @erdgerd9584
      @erdgerd9584 3 роки тому +18

      Jup kinda hard to understand though like 10 minutes would have bbeen great

    • @Onek3i
      @Onek3i 3 роки тому +9

      Kinda the point tho

    • @gamermazu8569
      @gamermazu8569 2 роки тому +2

      Slow the speed of video

    • @Nebulaoblivion
      @Nebulaoblivion 2 роки тому +2

      Its easier for people who need it slower, to pause after he says something, than it is for people who need it faster, to try to jump ahead through long silences, or useless chatter.

    • @davestone8766
      @davestone8766 2 роки тому +2

      @@Nebulaoblivion my point being that if I make a video saying "make something in 6 minutes" but really I've just cut everything together in 6 minutes of video but the actual process takes hours and I also have to rewatch that 6 minute video 10 times to try and catch things due to you flying through it. Then the title is a lie, it has nothing to do with the pacing of the tutorial and everything to do with the claims of the title.

  • @ayushsagar8074
    @ayushsagar8074 4 роки тому +42

    Best Tutorial for Enemy AI on UA-cam

  • @acemoistman
    @acemoistman 3 роки тому +145

    Bruh 6 minutes......im new to C# and I understood that perfectly, you're a fucking beauty

    • @davegamedevelopment
      @davegamedevelopment  3 роки тому +19

      Haha thanks! :D

    • @brekol9545
      @brekol9545 3 роки тому +4

      iam new too but i dont understand anything as alwyas :D but Daves tutorials are great :DD

    • @4ourhearts83
      @4ourhearts83 3 роки тому +3

      it was so fast I had couldn't type anything of my own or Dave's code without having to pause or slow down to 0.5, and I type at god speed...

    • @Your_Sourav.
      @Your_Sourav. 3 місяці тому

      @@davegamedevelopment Hi sir please help me, actually i don not know how to downloaded the project from discord server. So I requested to you kindly tell me how to downloaded it🙏🙏🙏

    • @maxhrbobrndsted-nv3nz
      @maxhrbobrndsted-nv3nz 3 місяці тому +1

      @@Your_Sourav. same

  • @fernandosilva9679
    @fernandosilva9679 2 роки тому +77

    This tutorial is definitely one of the bests. The only thing I would probably add is the idling function. That way the enemy would stop for a sec or two instead of constantly running around

    • @mazenhassan2011
      @mazenhassan2011 2 роки тому +2

      Can u tell me how to implement that ?

    • @gamdevgamdevpropro2781
      @gamdevgamdevpropro2781 Рік тому +2

      @@MrNPCTHE THIRD CODE
      if (Time.time < lastDidSomething + pausetime) return;
      HAS A ERROR SMALL T IN WORD PAUSETIME. THE CORRECT ONE IS
      if (Time.time < lastDidSomething + pauseTime) return;
      JUST IN CASE SOMEONE WANT TO USE IT AND IS NOT WORKING,

    • @justgix7165
      @justgix7165 Рік тому

      How does one get the nav mesh agent

    • @343guiltyspification
      @343guiltyspification 8 місяців тому

      @@justgix7165 You go to your Packet Manager under 'Window' at the top. Then you select 'Unity Registry' insted of 'In Project' or 'My Assets' and search for the Nav Mesh Package. And then you install it.

  • @kburrrrr
    @kburrrrr 3 місяці тому +8

    Amazing tutorial, thank you!!
    Adding in notes on snags I hit for future reference:
    How To Add/Set Layer Masks:
    (1) Click on your game object, in inspector on the upper right is the Layer dropdown. Add twhatIsGround/Enemy/etc as new layers and set accordingly
    Enemies Not Moving:
    (1) Make sure your ground and player objects have colliders
    Projectile Problem:
    (1) Make sure your projectile has a Rigidbody component added
    Adding NavMesh Components:
    (1) You can now add them directly via Unity's Package Manager. Go to Window -> Package Manager -> Packages -> AI Navigation and install that

  • @charlescaton
    @charlescaton Рік тому +14

    To anyone having the player enemy fall or disappear... Make the empty Game Object that you put the Nav Mesh Surface on not a child object of your enemy. This worked for me, Best of luck!!!

  • @smokeback
    @smokeback 2 роки тому +13

    This tutorial is amazing even if am not using unity, really opened up one thing i overlooked separating chase range and attack range .thanks for the breakdown of the base of ai before expanding how smart it behaves .just subbed

  • @luciorojas4278
    @luciorojas4278 3 роки тому +42

    This is how most of tutorials should be! I love everything about it. Directly to the point and explaining just what is needed. Awesome job and Thank you!

    • @axer1015
      @axer1015 3 роки тому +8

      What about the fact he go faster den SANIC.

    • @gamermazu8569
      @gamermazu8569 2 роки тому

      Slow the speed of the video

    • @carelesswhisker4155
      @carelesswhisker4155 Рік тому

      yeah if "just what is needed" is "nothing at all"

  • @georgeabidbol5180
    @georgeabidbol5180 2 роки тому +116

    If you followed this tutorial and your Player is not recognised by the enemy so it never goes toward the player, it might be because your player doesn't have a collider. So, add a capsule collider or something like that to your player it could fix it. I've been struggling with that the past 15 min 😁

    • @mellemoomoo1701
      @mellemoomoo1701 2 роки тому +3

      thank you for the tip it realy helps👍

    • @rprivateaccount5167
      @rprivateaccount5167 Рік тому +3

      I found it was because my player wasn't named "playerobj"

    • @rprivateaccount5167
      @rprivateaccount5167 Рік тому +1

      so I went to the script and changed it to the name of the player

    • @srujanpola3784
      @srujanpola3784 Рік тому +1

      @@rprivateaccount5167 me too

    • @dahugo9740
      @dahugo9740 Рік тому +1

      well what if he just goes up to the sky

  • @shayaanabbas2881
    @shayaanabbas2881 4 роки тому +70

    I don't understand only one thing.... HOW ARE YOU SO GOOD?!

  • @elixerprince_music
    @elixerprince_music 2 роки тому +48

    If anyone is having trouble with the baking section you just have to set the areas you want to bake to static in the inspector.

    • @ryanxezter3910
      @ryanxezter3910 2 роки тому +5

      thank you brotha was being so confused to what I was doing and y it wasn't baking lol ty tyty

    • @partishdarji26
      @partishdarji26 Рік тому +1

      hey!
      can u tell what is projectile 4 and how to attach it???

    • @aokutor
      @aokutor Рік тому +1

      @@partishdarji26 Hopefully this is not too late. The "Projectile 4" is whatever you want the enemy to instantiate. In the video, it was made into a prefab named Projectile 4.

    • @partishdarji26
      @partishdarji26 Рік тому +1

      @@aokutor well thx for ur reply but i already got it!

  • @lonr_gsmo4583
    @lonr_gsmo4583 3 роки тому +11

    Mans types so fast visual studio can’t keep up

  • @AlexraptorGameDev
    @AlexraptorGameDev 2 роки тому +24

    Absolutely fantastic tutorial video! I found it absolutely invaluable as a starting point for creating my first Enemy AI. And I expanded it by adding behavior for patrol paths/waypoints, as well as definable 'Idle time' between WalkPoints, combined with a bool option to randomize idle time as well. :)

    • @KoopaD.WaterTroopa
      @KoopaD.WaterTroopa 2 роки тому

      Hey just wondering how did you make that Idle time between walkpoints? I’m using a slime that jumps around randomly but also stops at times so i would like to have an idle function for it.

    • @AlexraptorGameDev
      @AlexraptorGameDev 2 роки тому +2

      @@KoopaD.WaterTroopa Simple really. I create a standard timer variable ie: "Timer -= Time.deltaTime;", that runs in the Patroling function, under "if (distanceToWalkPoint.magnitude < 1f)" Then once the timer has hit zero, I allow "walkPointSet = false" to execute, triggering the AI to find a new walkpoint again. And to finish off I reset the timer when it executes FindWalkPoint();. You can either set the timer variable as a fixed value, or you can call the Random.Range(); function for more unpredictable behavior. I hope that made some sense. :)

    • @dak5327
      @dak5327 Рік тому

      Yooo, just wondering how you made the waypoints / patrol paths to work with the code. Beginner coder here bahaha

  • @ShadaSomeGuyYT
    @ShadaSomeGuyYT 4 роки тому +20

    This channel is so underrated

  • @obsidian2562
    @obsidian2562 4 роки тому +18

    Damn right to the point. Very nice tutorial. You didn't waste a moment. Thx for this tutorial.

    • @davegamedevelopment
      @davegamedevelopment  3 роки тому +4

      Glad you liked it! :D Thanks for watching

    • @001Camera
      @001Camera 2 роки тому

      did it work for you? if so I need help. my enemy just stands there and does nothing I have no errors. pls help

  • @shauas4224
    @shauas4224 11 місяців тому +2

    Nice script for enemy AI to completely kill all your hope for any tiny bit of performance as soon as your number of enemies is above 10. Good job

  • @Mcdoogs
    @Mcdoogs 3 роки тому +3

    had a little trouble with figuring out layers but got it working after a little more research :) Thanks dude!

    • @mregghead9521
      @mregghead9521 2 роки тому +1

      Im having trouble with the layers showing what did you do?

    • @joshuabauzon2341
      @joshuabauzon2341 2 роки тому +1

      @@mregghead9521 Same here bro, did you find any solutions?

    • @ikkinu_1924
      @ikkinu_1924 8 днів тому

      @@mregghead9521 any of you got it working?
      plz help

  • @FunNooberCodingForBeginners
    @FunNooberCodingForBeginners 3 роки тому +5

    This tutorial really helped! Thanks! I am working on FPS AI and a can't tell you how much this helped! Thumbs up!

    • @davegamedevelopment
      @davegamedevelopment  2 роки тому +1

      Glad I could help!

    • @Your_Sourav.
      @Your_Sourav. 3 місяці тому

      @@davegamedevelopment Hi sir please help me, actually i don not know how to downloaded the project from discord server. So I requested to you kindly tell me how to downloaded it

  • @TheAwesomeAlan
    @TheAwesomeAlan 2 роки тому +20

    I have a weird, but small issue. When the enemy is attacking, the bullet spawns but it won't turn with the enemy. So it begins firing when I enter the attack range, but it's never facing me and never updates to my current position.

    • @micol04
      @micol04 Рік тому

      i have same. how did you fix this?

    • @TheAwesomeAlan
      @TheAwesomeAlan Рік тому

      @@micol04 Never did.

    • @micol04
      @micol04 Рік тому +5

      I just did
      I added spawn point to a code I have and called in before transform.position .. instead of transform.position
      I used
      (spawnPoint.transform.Position)

    • @micol04
      @micol04 Рік тому +3

      It spawns from wherever you put the spawn point game object irregardless of where it turns
      Use quaternion also instead of rotation

  • @KaosWater
    @KaosWater 2 роки тому +1

    I look away for one second and it's already the next video.
    Great tutorials btw.

  • @Betruet
    @Betruet 2 роки тому +2

    I love your video style and clear code. Subscribed!

  • @base4800
    @base4800 3 роки тому +15

    Dave if you continue creating videos like this one you will be the next Brackeys on UA-cam or even bigger, congratulations and thanks for this amazing content. 👍

  • @Underarmour81
    @Underarmour81 3 роки тому +4

    Awesome tutorial! This worked out amazing in my game.

  • @ShawnGreyling
    @ShawnGreyling 3 роки тому +2

    THIS IS AMAZING! Don't stop making these tutorials.

    • @davegamedevelopment
      @davegamedevelopment  2 роки тому +3

      Thanks a lot! And well... I did stop :D
      But from now on I'll be uploading regularly again!

  • @yahyabzl1112
    @yahyabzl1112 12 днів тому +2

    I did everything like the tutorial but when i try to play the ai go to space any solutions?

  • @miguelarocazarco5744
    @miguelarocazarco5744 4 роки тому +6

    Your channel looks very very good, your voice reminds me brackeys too hahaha

    • @davegamedevelopment
      @davegamedevelopment  4 роки тому +2

      Haha, thanks a lot! :D

    • @gaminganimator-qp2ir
      @gaminganimator-qp2ir 3 роки тому

      @@davegamedevelopment wait are u .................................

    • @Shezza_1212
      @Shezza_1212 3 роки тому

      @@gaminganimator-qp2ir no, his voice seems a bit too deep as well as the fact that brackeys was well serious about leaving UA-cam.

  • @Poley12
    @Poley12 11 місяців тому +5

    There no navmeshagent for me and it is driving me insane

    • @ScientObject40
      @ScientObject40 2 місяці тому

      I think you have to install it in the package manager.

    • @Poley12
      @Poley12 2 місяці тому

      Yeh it is not in package management for me

  • @noony31122009
    @noony31122009 2 роки тому +1

    ur really amazing iam
    really looking forward for ur next tutorials !!

  • @strikelight1041
    @strikelight1041 3 роки тому +16

    for anyone whos enemy is falling thru the floor, click window, ai, navigation, and then select the floor and anything else u want the enemy to walk on, then click bake and it should work

    • @time133
      @time133 3 роки тому +1

      how to select the floor???

    • @strikelight1041
      @strikelight1041 3 роки тому +1

      @@time133 click it? im not sure what you mean

    • @strikelight1041
      @strikelight1041 3 роки тому +1

      @@time133 after you click navigation, you should be able to select the floor and then it will appear on the right, and then you click bake

    • @developer7046
      @developer7046 2 роки тому

      My enemy is going down the ground when I go close to him, I tried playing with navigation settings, adding collider, adding rigidbody and non of these worked, any solution please? Also I have no console errors.

    • @budazenYT
      @budazenYT 2 роки тому

      @@potato1947 same 😭

  • @michelmurr1949
    @michelmurr1949 3 роки тому +3

    dude don't stop making videos you have some amazing content that A LOT of people can learn from

  • @Kharabish
    @Kharabish 2 місяці тому

    dude u r awesome
    i was looking for this for a couple of days
    thank u so much ♥

  • @TheDeathskull37
    @TheDeathskull37 5 днів тому

    There are a few changes I made to this. The AI needs to make sure that the path is complete before chasing or attacking the player. Otherwise, it will walk and float across gaps, walk through walls, and attack through walls. For enemies that shoot projectiles, I made them raycast towards the player to see if the player is within their line of sight, and if they don't see the player, they move closer until they can actually hit the player with the projectile. Otherwise, they get stuck trying to shoot a player from behind a wall.

  • @SkyZizzle
    @SkyZizzle Рік тому +8

    The “Nav Mesh Surface” script doesn’t appear the same way yours appears. Any way to fix?

    • @FOLDIK_UA
      @FOLDIK_UA 5 місяців тому

      write your own script based on the logic of enemies. I don't see any other solution🥲

    • @TheDodoKing
      @TheDodoKing Місяць тому

      Did you install the package?

  • @deadasadodo1016
    @deadasadodo1016 Рік тому +7

    How do you download the nav mesh

    • @Nemko77
      @Nemko77 3 місяці тому

      Maybe you know it already but it's ai navigation in the package manager.

  • @BlackLoboGaming
    @BlackLoboGaming Рік тому

    I don't know if you still read these but thank you!! this helped me so much. it was straight the point no chitter chatter. Greate video.

  • @kirby6844
    @kirby6844 2 роки тому +2

    So I’ve been creating a game and this was really helpful. Though I am making a horror game. But still was helpful! Thanks!

  • @gamesdum4684
    @gamesdum4684 Рік тому +3

    There is no Bake Button.. I cant bake

  • @Galaxy_World
    @Galaxy_World 3 роки тому +3

    btw u should do it like this:
    make it so if the enemy sees you with their own eyes with raycast and that they are in range of the sight, this would be infinitely more realistic.

  • @theozetterberg4591
    @theozetterberg4591 11 днів тому

    tysm with a bit of tweaking this worked really good

  • @EvanStreblow
    @EvanStreblow 3 роки тому +2

    Super helpful, man. Thanks!

  • @shanjohnkj6851
    @shanjohnkj6851 3 роки тому +6

    This is Brackeys Channel. I think He is doing Side Business from this channel.... hahaha . Exact As Brackeys

  • @P4rz1va1
    @P4rz1va1 3 роки тому +3

    I altered this to make an enemy that walks between its start point and a given point, after chasing and losing sight of you it returns to its start point.

    • @AkariK3
      @AkariK3 3 роки тому

      Please, would you mind to share how you did it? TY in advance

  • @alecbeaton6862
    @alecbeaton6862 3 роки тому +1

    This boi is helping me so much. You are amazing

  • @Kasuga-
    @Kasuga- 3 роки тому +1

    Player is'nt attacking and movin. Test everything not working. Any help will be appreciated

  • @GameDevNerd
    @GameDevNerd 3 роки тому +4

    This was excellent. Clean, simple and concise explanation of how to use Unity's NavMeshAgent system. I've already got a 3D model of this demon-lord looking creature with movement and animation controls programmed, even did the IK adjustments to keep his feet perfectly on the terrain. Now I need to implement AI agents to control enemies and this showed me how to get that working. Gonna start with one simple ranged attack spell then hook up the whole game system for spells and weapons to AI agents based on what attacks they're able to use. 😄

    • @innerbladet
      @innerbladet 2 роки тому

      Sounds like a Great game in development

    • @GameDevNerd
      @GameDevNerd 2 роки тому

      @@innerbladet was more of a game prototype I was making migrating from DirectX to Unity and learning how things worked in Unity. I ended up getting hired by a company a couple months later to do this stuff in a commercial game. Unity is really easy if you've ever worked with OpenGL or DirectX and built small engines to power your own games. 80% of the hard work is done for you already and you only have to create the game. 🙂

    • @innerbladet
      @innerbladet 2 роки тому +1

      @@GameDevNerd thx for the tips and hope everything goes good for you

    • @user-kl8dp5ft6u
      @user-kl8dp5ft6u 8 місяців тому

      do you know how to get nav mesh

  • @iggythemad8701
    @iggythemad8701 4 роки тому +7

    This is great! Straight to the point. I have a request please

    • @davegamedevelopment
      @davegamedevelopment  4 роки тому +6

      Thanks for the idea, maybe I'll do that somewhen :D
      But with a bit of tweaking, you could split the attack state into "attack", "defense" and "approach". You only need to come up with some sort of logic when the enemy should do what :D

    • @iggythemad8701
      @iggythemad8701 4 роки тому +2

      @@davegamedevelopment my main problem is how to make the ai strafe around, or move nearby the player, instead of just staying immobile infront of him.

    • @davegamedevelopment
      @davegamedevelopment  4 роки тому +3

      @@iggythemad8701 For strafing just add transform.LookAt(player.transform) and move the enemy to the "transform.right" direction. By always looking at the player and walking right the enemy should walk in circles around the player :D

    • @iggythemad8701
      @iggythemad8701 4 роки тому +1

      @@davegamedevelopment why didnt I think of this... i thought i had to use the navmesh or something

    • @davegamedevelopment
      @davegamedevelopment  4 роки тому +1

      @@iggythemad8701 No problem, I think you should be able to use NavMeshAgents combined with other movements, just make sure to use the agent.ClearPath() function, otherwise the navMesh agent is constantly trying to get to the player :D

  • @RahCarson
    @RahCarson 2 роки тому

    bro said 6 minutes now i have to watch a series

  • @durgam_sumerian7815
    @durgam_sumerian7815 3 роки тому +1

    I'm really happy to find your channel with all-new, simple, and specific videos, and I hope to find Oculus VR Rift tutorials as well, subscribe.

  • @spielsuchtige5011
    @spielsuchtige5011 3 роки тому +4

    Hey, it shows me an error at line 31: Object Reference not set to an Instance of an object? and my ai doesnt move, how do i fix those things?

    • @fezza2283
      @fezza2283 3 роки тому +1

      have you made sure to reference the object its missing in the editor? If you want you can msg me on discord for more help. Fezza#4066

  • @Dbdelaney4
    @Dbdelaney4 3 роки тому +6

    I have 2 issues. One the enemy doesn't patrol it just kinda stands there. the walkpoint keeps changing but the enemy doesn't move. Also when the enemy reaches a certain point it just stops and refuses to move. Any help would be great.

    • @cbasx1887
      @cbasx1887 2 роки тому

      happens same to me

    • @manishshrestha4263
      @manishshrestha4263 2 роки тому

      This reply is for new watchers. Add This so it doesn't happens to you. " if (Physics.Raycast(walkPoint, -transform.up, 2f, whatIsGround))
      walkPointSet = true;" In this view " 2f" is missing.

    • @the_chocolade
      @the_chocolade 2 роки тому

      @@manishshrestha4263 what should i do?

    • @melder0487
      @melder0487 2 роки тому

      @Chocolade YT It is posible your ground is not on the "WhatIsGround" Layer

    • @HappyPupx
      @HappyPupx 2 роки тому

      For anyone has their AIs not patrolling, assigning the value walkPointRange will fix this problem

  • @olliewackamo7367
    @olliewackamo7367 Рік тому +2

    hi, when i use this script it works fine but my game becomes choppy / laggy. any help on how to fix this ?

  • @USBEN.
    @USBEN. 2 роки тому +1

    Thankyou , this script acts as a nice base to build upon more complex behaviours.

  • @Delvarn
    @Delvarn 4 роки тому +7

    This is a brilliant tutorial, but I'm stuck on the layer masking. I've never done it before, how do I go about creating them properly?

    • @davegamedevelopment
      @davegamedevelopment  4 роки тому +7

      Click on your enemy object, select the Layermask dropdown in the top right of the inspector (It should say "Default" there), then make a new Layermask called "whatIsEnemy" and make sure to select it instead of "Default" (on all your enemies) :D

    • @Delvarn
      @Delvarn 4 роки тому +2

      @@davegamedevelopment Worked a treat, thanks!

    • @harryprettejohn5722
      @harryprettejohn5722 4 місяці тому +1

      I am confused about this as well!

    • @harryprettejohn5722
      @harryprettejohn5722 4 місяці тому +1

      I can't find the layermask

  • @Emr3letzemre
    @Emr3letzemre Рік тому +5

    help my ai IS FLYING AWAY

  • @mrpotato8196
    @mrpotato8196 Рік тому +1

    Nice!
    I spent a long time doing the detection, I wanted it to be like if the player is out of sight the enemy will move to where he was last seen, it took a long time because it was the raycasts being dumb, *nice tutorial tho*

  • @M3g4t0n
    @M3g4t0n 2 роки тому +2

    Very usefull tutorial! I've already used it to program some turrets to fire at me and a ground enemy to chase and attack me!

  • @spoogleh9813
    @spoogleh9813 Рік тому +3

    so ur saying i could of just downloaded the script😐

  • @rocketthab8.5
    @rocketthab8.5 3 роки тому +3

    it doesnt work for me the enemy just flies into space like it has reversed gravity

  • @breeze3104
    @breeze3104 2 роки тому +2

    Thank you, even helped out in the discord.

  • @unitygamedev2326
    @unitygamedev2326 2 роки тому +1

    this is really cool man , thank you very much

  • @BtaraDev
    @BtaraDev 2 роки тому +1

    Thank You, This really helped me learn more about NavMeshAgents. I modified the code and used it to make an AI for my Game.

  • @atakankuloglu4877
    @atakankuloglu4877 2 роки тому +3

    The voice is the same with Brackeys?

  • @agamesjourney4292
    @agamesjourney4292 3 роки тому +5

    Dave the enemy's aren't shooting with me how do i fix this aside that a great tuturial

    • @axer1015
      @axer1015 3 роки тому

      Sorry, I have no knowledge on this, what you can try is re-watching the tutorial to check for errors or try a new tutorial.

    • @vidjey2597
      @vidjey2597 Місяць тому

      probably because your player tag is not the same as in the script

  • @tomatrix7525
    @tomatrix7525 3 роки тому

    Best youtube on Game Dev hands down. Especially now that Brackeys gone, you will grow even more

  • @gameginger5529
    @gameginger5529 3 роки тому +1

    such clean and organised codes , totally awsm tut

  • @claudiodias0089
    @claudiodias0089 3 роки тому +6

    hmm... the NavMeshSurface doesn't have the baking options or most of the others you have /: pls help

    • @davegamedevelopment
      @davegamedevelopment  3 роки тому +2

      Did you import the nav mesh components correctly? :D

    • @GameEditMrCzopowski
      @GameEditMrCzopowski 3 роки тому +1

      @@davegamedevelopment how do you import the nav mesh components correctly?

    • @CuriousCreatorsYT
      @CuriousCreatorsYT 3 роки тому +1

      Make sure your GameObject is set to Static. Your NavMesh surface should be static to bake.

  • @Hapi-lee
    @Hapi-lee 3 роки тому +3

    followed this exactly and when i tried to play it he plummeted the earth at 350 mile per hour
    Edit: found the problem and it was how close he was to the ground just get him closer to the ground and it should work

  • @GuyMakeGame
    @GuyMakeGame 4 місяці тому

    Great tutorial man, it’s a big help cause I’m very new to enemy ai

  • @ricardovicente9666
    @ricardovicente9666 2 роки тому +3

    Amazing tutorial, but I was wondering how could a speed variable be implemented in the ChasePlayer function, so that different enemies may have different speeds

    • @davegamedevelopment
      @davegamedevelopment  2 роки тому +2

      You can change the speed in the navmeshagent settings

    • @Nitzustaja
      @Nitzustaja 2 роки тому

      if im right, you could do something like this: first make int ,string,scriptable object or anything that you could choose depending what "type of enemy you want". then do something like this
      public int enemyType;
      void Update(){
      if(enemyType==1)agent.speed=1f;
      if(enemyType==2)agent.speed=2f;
      if(enemyType==3)agent.speed=3f;
      }
      then make prefab for enemy type 1,2 and 3(remember to change enemytype from the prefab )

    • @Nitzustaja
      @Nitzustaja 2 роки тому

      thats how you could make the ai have stamina and start walking when stamina is low, hope that you understand what i mean with that

  • @atharaxndx
    @atharaxndx 4 роки тому +3

    I wish my enemy to be blind , as in follow certain sound triggered by the player ? How to achieve that?

    • @davegamedevelopment
      @davegamedevelopment  4 роки тому +4

      Just make the sight and attack range really small. Then you need some kind of manager to check if the sound was in range, if so increase the sight and attack range :D

  • @jettnash5217
    @jettnash5217 2 роки тому +1

    Well this is exactly what I was looking for, thanks a lot!

  • @robbytegd4347
    @robbytegd4347 3 роки тому +1

    The only thing I can say about this video is you've got a new subscriber :)

  • @tyler7268
    @tyler7268 2 роки тому +3

    This is exactly the kind of tutorial i need. And is the exact solution i was looking for. Thank you so much!

  • @redsgaming4614
    @redsgaming4614 2 роки тому +2

    Not sure what I am doing wrong, I downloaded your code and named layers to WhatIsEnemy, WhatIsGround etc. yet the layer masks are not working. I only have a ground to mask with right now so I gave it WhatIsGround and baked it. I have all the imports right in the Nav Mesh Agent yet the object is still falling through the ground. Originally the enemy was floating on the y axis, but now it is just falling through the ground.

    • @geoffreyaji8659
      @geoffreyaji8659 Рік тому

      were you able to figure out why this was happening

  • @mauriciovasquez46
    @mauriciovasquez46 Рік тому +2

    I can't find the Nav Mesh AGent? can anyone help me

    • @Wolf-e
      @Wolf-e Рік тому

      Agent Link Mover is what it called now, idk why

  • @benvingarten3674
    @benvingarten3674 Рік тому +1

    When i start the game, the npc is just standing, no patrolling, no chasing and no attacking. how can i fix it? i followed along the instructions

  • @p1xelgamer079
    @p1xelgamer079 4 роки тому +3

    THere is a Error: "Failed to create Agent because There is No valid NavMesh"

    • @davegamedevelopment
      @davegamedevelopment  3 роки тому +4

      Did you download the nav mesh components from the description and set it up correctly? :D

  • @gamingthomas8146
    @gamingthomas8146 2 роки тому +4

    Thanks for the tutorial but I have one question. When the enemy comes in sight it flies towards me and I keep getting this error: "SetDestination" can only be called on an active agent that has been placed on NavMesh.

    • @devxtreme259
      @devxtreme259 2 роки тому +1

      Make sure you select navigation and bake

    • @angelchurrumais
      @angelchurrumais 2 роки тому

      remember you need to creat a new empty GameObject and then add the component NavMeshSurface. In the NavMeshSuface, you have to bake your terrain or ground data.

  • @transsatanic4591
    @transsatanic4591 3 роки тому

    I literally just straight up assumed you ripped one of Brackey's videos I was so confident that was his voice! It's funny how two game development people on youtube sound so similar lol, thank you for the video!

  • @hefferwolff3578
    @hefferwolff3578 2 місяці тому

    This was fantastic for my game!

  • @x.4132
    @x.4132 2 роки тому +5

    Great tutorial, but one big thing is missing.
    Sometimes the random walkpoint is set in a wall or some obstacle and the "AI-Object" doesn't move and is stuck....

    • @001Camera
      @001Camera 2 роки тому

      Same it doesnt move when i do it!

    • @junaidjamshed8104
      @junaidjamshed8104 2 роки тому

      @@001Camera Hey Set the roads sidewalks or any ground area to the Layer Ground don't set the walls and other objects like building or mountains to Layer Ground

  • @TheMindMasteryClub-iu9go
    @TheMindMasteryClub-iu9go 4 роки тому +3

    I have a Question what do you but by the projictile slot

    • @davegamedevelopment
      @davegamedevelopment  4 роки тому +4

      My own projectile prefab :D I showed how to remake it in the second part of the "Shooting with Bullets" series :D

  • @hoiman7074
    @hoiman7074 3 роки тому +2

    my enemy keeps shaking like it's drunk, and when i shoot it with a force, it goes back to the place it was before and continues to be drunk. what in the world is happening

  • @justpaleontology3709
    @justpaleontology3709 3 роки тому +1

    Thanks this is perfect exactly what I needed

  • @sapphirecorn3635
    @sapphirecorn3635 2 роки тому +3

    Hey, so I'm completely new to coding and unity in general, and I'm having issues with my enemy falling through the map extremely quickly, and it says the walk point is what I'm assuming is the position of the entity. Any idea why?

    • @zypherone
      @zypherone 2 роки тому

      Do you have an active rigid body on the enemy? Because if it’s just falling through then maybe the collision is off

    • @Emerald_Dev
      @Emerald_Dev 2 роки тому

      Same I’ve been fiddling with it for a while now and it just keeps happening, not sure how to fix it.

    • @kevCjm6dhhihiujkbbhjhvcfyhuiij
      @kevCjm6dhhihiujkbbhjhvcfyhuiij Рік тому

      Did you add the navmeshsurface to your ground? I added the navmeshsurface to the wrong thing, and when I applied it to my ground it stopped falling.

  • @blenderme7324
    @blenderme7324 Рік тому +3

    would be cool if you showed us what the scripts you included did and what they are used for. Sounds like you had somewhere to be right after this video with how fast you were going and how little you explained 5/10 tutorial

  • @damvcoool
    @damvcoool 2 роки тому

    I really like this because it's the only Tutorial I have found where ai patrols without multiple patrol points

  • @NeroForte_
    @NeroForte_ 2 роки тому +1

    Now I understand the difference between blueprints and c#.

  • @ashleyk9141
    @ashleyk9141 3 роки тому +4

    Hello Dave, great video! I followed this tutorial for a game where a monster chases a first person player. Everything works great except the patrolling. I can see it setting new walk points in the inspector, but the monster does not go to them. Any idea how to fix this? Thanks!

    • @martinschifer3603
      @martinschifer3603 3 роки тому +2

      Same here!! Did you find any solution?

    • @cooperswain3118
      @cooperswain3118 2 роки тому +1

      hey just wondering if you found the solution, i am having the same problem.

    • @dralbintokomesemito8829
      @dralbintokomesemito8829 2 роки тому

      Its most likely because the walkpoint is being set at a point that is unreachable. You should set a timer for the walkpoint instead of the walkpoint changing when one was reached

    • @HappyPupx
      @HappyPupx 2 роки тому

      You must set the walkPointRange value so that the variables randomX and randomZ work properly

  • @ScratchTuto
    @ScratchTuto 3 роки тому +3

    Now I've downloaded the zip file but how I get those godes in the unity editor?

    • @not_herobrine3752
      @not_herobrine3752 3 роки тому

      drag and drop into the assets folder... at least thats what i did

    • @ScratchTuto
      @ScratchTuto 3 роки тому +1

      @@not_herobrine3752 It didn't work whit me

    • @not_herobrine3752
      @not_herobrine3752 3 роки тому

      @@ScratchTuto are you sure you have downloaded the right version of the zip file? like the latest version for unity 2020 and so on?

    • @ScratchTuto
      @ScratchTuto 3 роки тому +1

      @@not_herobrine3752 idk I dosen't need it any more but thx for the help

    • @cloakedd_
      @cloakedd_ 3 роки тому

      @@not_herobrine3752 then what do I do?

  • @berintandaniel1643
    @berintandaniel1643 Рік тому +1

    Look into coroutines instead of invoking. Gives so much more flexibility and invoking is also more expensive. Amazing tutorials as always.

  • @nicolomontuschi6719
    @nicolomontuschi6719 3 роки тому

    Please bro continue to post videos you are great and we miss you!,ps your website is amazing!

  • @fate70
    @fate70 3 роки тому +5

    my enemy randomly sinks through the map
    edit: what i mean is that the Y value is going crazy - it will move a bit to the left, then shoot downwards in the space of around a millisecond as soon as the game starts, without travelling there. It just instantly warps below the map. I am using terrain that is very mountainous as the ground layer, though. maybe that is the problem? could you help me please?
    edit 2: the same thing happens with the exact same ground that you are using.

    • @lordzockt1853
      @lordzockt1853 3 роки тому

      did you set the " What is Ground“ var right ?

    • @lordzockt1853
      @lordzockt1853 3 роки тому

      I'm having the same problem, the only thing that is different after changing stuff up(So that he dosen't fall down) is that my enemy won't move a bit ;/

    • @someonenamedegg1844
      @someonenamedegg1844 8 місяців тому

      I dont even have that which is annoying, it dosent show the "what is player" or "what is ground"@@lordzockt1853

  • @onx99
    @onx99 4 роки тому +3

    Why is the discord link so difficult to find on the discord website??????????
    What a useless place to send people.

    • @davegamedevelopment
      @davegamedevelopment  4 роки тому +1

      Sorry for the problems, discord is basically where the whole community gathers, that's why I send you there :D
      And the link is in the description :D

  • @prikshitsehrawat6190
    @prikshitsehrawat6190 Рік тому +1

    My player isn't being recognised by the AI. And the layer masks aren't detected, can anyone help me out?

  • @anshg_7125
    @anshg_7125 3 роки тому

    thanks a lot Dave! I subbed :D