Smart Enemy AI | (Part 5: Enemy Types) | Tutorial in Unreal Engine 5 (UE5)

  Рет қаралды 28,235

Ali Elzoheiry

Ali Elzoheiry

Күн бұрын

In this Unreal Engine Game development Tutorial you will learn the following:
- Child Enemy Types: How to inherit from the Base enemy class to create different enemy types (Melee & Ranged enemies)
- Sub Trees: How to run a behavior tree inside another behavior tree to create shared behaviors between enemy types
- Behavior Tree per Enemy: How to run different behavior trees for each enemy type
- Override Base Enemy: How to override behavior of the base enemy to create different actions for Melee and Ranged enemies
Link to my Patreon (Thank you for your support)
/ alizoh
Link to part 1 of the "Smart Enemy AI" tutorial:
• Smart Enemy AI | (Part...
Link to the "Damage System" tutorial:
• How to Build a Combat ...
Link to the "Projectile System" tutorial:
• How to Shoot Projectil...
Link to my "AOE Damage & Healing" tutorial:
• How to do AOE damage a...
About me:
I've been learning game development for a few years now, I do have a background in software engineering, and I also have a background in education, so being able to combine my love of gaming and love of education is the best way to spend my time.
I am currently working on this 3rd person action adventure game as a hobby, but I am also trying to build a community, thus I am creating KZbin tutorials to find others who are interested in game development and design.
If you are interested in learning more or if you are interested in working together, please let me know in the comments.
Join my Discord server to chat and mingle with the community
/ discord
If you would like to support me on Patreon, you will get access to all the source code from every video I post as well as any custom assets that I create. Also I would be forever thankful to my early adopters
/ alizoh
Checkout my other tutorials on my channel:
/ @alielzoheiry
Chapters:
00:00 Outcome of this part
01:22 Recap of the last part
02:17 Bug in the Engine
03:00 What Content I'll be using in this part
05:26 Setting Up the Ranged Enemy Class & Animations
14:50 Updating the Base Enemy Class To Be More Generic
19:48 Creating and Equipping the Rifle Weapon
25:18 Setting Up the Melee Enemy Class
27:41 Sharing Behavior Tree Functionality Between Enemies
34:05 Running Different Behavior Trees for Each Enemy Type
37:07 Next Up in Part 6
#unrealengine #unrealengine5 #ue5 #gamedev #smart #enemy #combat #AI #blueprint #tutorial #behavior #tree #ranged #melee

Пікірлер: 109
@user-it4ws3yx2f
@user-it4ws3yx2f 9 ай бұрын
Watched through over 10 tutorials on the same topics, it was a lot of pain on learning some tutorials giving bad solutions to the game development. Yours tutorial quality is without question the best! Great thanks for your effort on explaning things so thoroughly and systematically!😄😄
@AliElZoheiry
@AliElZoheiry 9 ай бұрын
Wow, thank you for saying that 🙏 I really appreciate it, and I'm very happy that this has been helpful for you, I hope the rest will be as well ☺️
@callatogames
@callatogames 10 ай бұрын
Great Tutorial, your AI series are a masterclass...
@AliElZoheiry
@AliElZoheiry 10 ай бұрын
Thank you! I hope it continues to be soon, stay tuned for the next video ;)
@amogh-garg
@amogh-garg 4 ай бұрын
Genuinely, your tutorials are amazing, and really easy to understand, and I've honestly learnt so much from watching these tutorials. I'm also very impressed that you respond to every single comment, even if the video was posted months and months ago! Keep up the good work!
@AliElZoheiry
@AliElZoheiry 4 ай бұрын
Thank you so much for your comment! I'm always happy when reading these things, just seeing that my work is helping others is very motivating for me. I try my best to answer everyone, I'm glad you appreciate it 🙏
@electronicinfection
@electronicinfection 14 күн бұрын
Great quality content. You are one of the best if not THE best teacher here on KZbin. Thanks!
@AliElZoheiry
@AliElZoheiry 10 күн бұрын
Thank you for your kind words! I'm really happy to hear that you're finding the content helpful and valuable. Your support means a lot! 🙏
@ryanjdevlin87
@ryanjdevlin87 6 ай бұрын
This series is amazing, and just what i was looking for. Ive followed payed tutorials that werent half as percise and clear as this. And you sir are a wonderful teacher. Would gladly listen to u talk for hours!
@AliElZoheiry
@AliElZoheiry 6 ай бұрын
Thank you so much for saying that, it really makes me very happy and keeps me motivated when I read comments like these, so thank you for that 🙏
@johnny1up
@johnny1up 3 ай бұрын
These tutorials are the best I’ve seen out there. Thank you! Gonna Patreon just to support you!
@AliElZoheiry
@AliElZoheiry 3 ай бұрын
Thank you so much for your support and kind words Johnny, it really means a lot to me ☺️🙏
@keltar2007
@keltar2007 3 ай бұрын
I'm liking this series so far. Well done Ali.
@AliElZoheiry
@AliElZoheiry 3 ай бұрын
Glad to hear you're enjoying the series! Thank you for your support 🙏
@gambello1195
@gambello1195 4 ай бұрын
I had a problem in the ranged blueprint that I did not see the variables from the base enemy blueprint. If anyone has the same problem on down left in the "My Blueprint" tab next to the search bar is the bracket icon, press that and check "Show inherited variables"
@AliElZoheiry
@AliElZoheiry 4 ай бұрын
Thank you for the addition, indeed some beginners might miss that 🙏
2 ай бұрын
Thank you so much!
@lonewolfenock3527
@lonewolfenock3527 7 ай бұрын
21:10 You can 'Right Click' -> 'Asset Action' -> 'Clear thumbnail'
@AliElZoheiry
@AliElZoheiry 7 ай бұрын
Ahh perfect, thanks for that, didn't see this option before 🙏
@capitanfalconfm2741
@capitanfalconfm2741 7 ай бұрын
Thank you very much, you saved me in something that was stuck 2 weeks ago
@AliElZoheiry
@AliElZoheiry 7 ай бұрын
You're very welcome! Glad I could help. Out of curiosity, what was it that you were stuck at?
@capitanfalconfm2741
@capitanfalconfm2741 7 ай бұрын
@@AliElZoheiry I was making a robot but I wanted it to shoot blasters at me instead of bullets. The problem was that I managed to do it but for some reason the shots were not coming towards me but were deflected to the left. so I tried one of your commands and mixed them with mine and it worked perfectly. I just have to make the robot turn and shoot me when I'm behind it but I can't do it. He only shoots me when I'm in front of him. and I don't know how to do it
@kingdaghost4558
@kingdaghost4558 8 ай бұрын
Thank you for all the awesome videos
@AliElZoheiry
@AliElZoheiry 8 ай бұрын
You're very welcome, thank you for watching 🙏
@ZimMabu_GameDev.
@ZimMabu_GameDev. 5 ай бұрын
this guy is different other level !!! Nice again 1000times i can just say thanks!!!
@AliElZoheiry
@AliElZoheiry 5 ай бұрын
Wow, thank you for saying that. I appreciate you 🙏 and I'm very glad that my videos are helping you
@mikelkram
@mikelkram 5 ай бұрын
thanks for the tutorials, you explain very well
@AliElZoheiry
@AliElZoheiry 5 ай бұрын
Thank you 🙏 glad you enjoyed it
@Clydiie
@Clydiie 11 ай бұрын
Perfect! Thank you!
@AliElZoheiry
@AliElZoheiry 11 ай бұрын
You're very welcome 🙏
@ryzen3327
@ryzen3327 11 ай бұрын
Amazing 👍, thank you very much 😊
@AliElZoheiry
@AliElZoheiry 11 ай бұрын
You're very welcome! Glad you enjoyed it
@ryzen3327
@ryzen3327 11 ай бұрын
I want to see you solo on this beautiful guitar one day 🤘
@AliElZoheiry
@AliElZoheiry 11 ай бұрын
Hahaha maybe one day I'll make a different KZbin channel for that 😅
@ucuranus
@ucuranus 11 ай бұрын
Keep up the good work.
@AliElZoheiry
@AliElZoheiry 11 ай бұрын
Thank you 🙏
@SMFFgames
@SMFFgames 2 ай бұрын
First off, truly great tutorials. I have learned a lot from following you. Will you make a tutorial on ranged combat using bow and arrow? Best regards Magnus.
@AliElZoheiry
@AliElZoheiry 2 ай бұрын
Hey Magnus, thanks for your kind words! I'll definitely add a tutorial on ranged combat using bow and arrow to my list of upcoming videos (I actually already started planning something similar). Stay tuned for that!
@KunSka
@KunSka 2 ай бұрын
Thank you so much for your tutorials, so helpful and so clean, i just have one question, i don't know for some reason the BPI interfaces i create dosen't show in my BP_Enemy
@AliElZoheiry
@AliElZoheiry 2 ай бұрын
Hey there! Glad to hear you're finding the tutorials helpful. Make sure to compile your interface, otherwise it won't show up in your other BP
@trelaskillz
@trelaskillz 4 ай бұрын
Simply amazing...
@AliElZoheiry
@AliElZoheiry 4 ай бұрын
Thank you so much, I appreciate your support 🙏
@HolaSoyJakee
@HolaSoyJakee 7 ай бұрын
Do you know how I can disable bullet collision? since when they shoot the bullet it pushes me with it, taking me very far
@AliElZoheiry
@AliElZoheiry 7 ай бұрын
Hey Reyen, I'm not using bullets here just a line trace, but if you're using an actual actor that gets shot at the player, then make sure it's collision settings are set to "overlap" on the "pawn" channel, that way it won't block your player
@user-pn3ut7rw6c
@user-pn3ut7rw6c 3 ай бұрын
Thank you very much. Like.
@AliElZoheiry
@AliElZoheiry 3 ай бұрын
Thank you for watching and commenting! I'm glad you found it helpful.
@xenocreatives6456
@xenocreatives6456 11 ай бұрын
love it!!!
@AliElZoheiry
@AliElZoheiry 11 ай бұрын
Thank you!! Really happy you enjoyed it!
@DannyshRosli
@DannyshRosli 11 ай бұрын
Lets get it !
@proxima7199
@proxima7199 9 ай бұрын
Thank you for the tutorial. A question if you don't mind ) I've watched a few tutorials on youtube - " how to equip/unequip weapon" and when they adding Notify inside of anim montage, they do it like - New Notify, and after it they subscribe to it inside of ABP file and add the logic with "Spawn Actor..." and "Attach component to Component" there. In your tutorials you've created "Montage Notify" and put the logic with "Spawn Actor..." and "Attach component to Component" inside of BP_Player/EnemyBase file in a callback to PlayAnimMontage. Could you please say pros and cons of this approaches?
@AliElZoheiry
@AliElZoheiry 9 ай бұрын
You're very welcome. For these 2 approaches, I see the only benefit of spawning the weapon in the ABP, is if you're playing the wield weapon animation inside your anim BP and not as a montage, then you can put notifies in the animation itself. That was the old way of doing things, before montages, now with montages you can keep all your spawning logic in the character BP where it makes the most sense to be, also with the montage approach, you have a reference to your weapon in your character BP which you will surely need at some point
@proxima7199
@proxima7199 9 ай бұрын
@@AliElZoheirythank you, got it
@AndreaFromTokyo
@AndreaFromTokyo 11 ай бұрын
hey man! thank you for sharing the knowledge as always! really apprecieted! I was wondering, all these ais look clunky and snappy in their movements, how do you tackle smoothing them out to improve the game feel?
@AliElZoheiry
@AliElZoheiry 11 ай бұрын
Hey Andrea, you're very welcome 🙏 Currently the enemies look clunky mainly because of a lack of transition animations and proper blending between animations. For improved "game feel" you'd ideally have a loooot more animations than we have now. Especially movement start and movement stop animations, as well as turning animations, and also aim offsets for looking up/down/left/right, all of that is not too difficult to achieve, it just takes a lot of time and a lot of animation assets. Of course, since this series is not on animations, then I won't be tackling these issues unfortunately
@AndreaFromTokyo
@AndreaFromTokyo 11 ай бұрын
@@AliElZoheiry thank you for the answer! I'm aware of mitigating the problem with proper animations, I was wondering if there were ways of "lerping" between states with the AI by code, this topic really interests me! Thank you again for sharing!
@AliElZoheiry
@AliElZoheiry 11 ай бұрын
@@AndreaFromTokyo There are a few things you can do to make it better, like adjusting blend values between animations of different states, adding wait nodes where applicable, and having playing around with acceleration and breaking values on the character's movement component, but there's only a limited amount of improvements you can make without adding new animations
@POPCORNGameMovia
@POPCORNGameMovia 10 ай бұрын
For anyone using UE 5.2 and having issues after debugging EQS: After project restart create new level (basic, open world) and save it. Go to project settings - search for Default Map - select your newly created one - Save - Restart Project. Change the default map back to the original one in Project Settings and should not crash. For me I get a crash when I restart the project every time I do debugging on EQS. At least this works for me, but if you have any other better ways, please write them down :) Happy developing!
@alexpoc
@alexpoc Ай бұрын
it is less performant if i do the equip weapon in the baseclass and made an enum that is exposed on spawn and editable that select from all my custom bones insted of puting that functionality in each enem class? thank you
@AliElZoheiry
@AliElZoheiry 26 күн бұрын
Performance wise it doesn't matter, both are the same. Though, if all your child enemies equip a weapon the same way, and only the socketname is different, then you should put the equip weapon function in the base enemy class, and have the socket name be a variable that each child edits
@HunterFloris
@HunterFloris 7 ай бұрын
Awesome work, as always! But I have one question. Why did you make a default weapon BP and get child BP's for both the gun and sword? Isn't it better to have the gun as the main BP, then get child BP's for it's variants? For example a machine gun, plasma gun, etc. Same thing for the melee weapons. Let's say I want all melee weapons to do 10 damage. In this case that would be more of a hassle, since it would mean I have to apply it for each child and can't do it straight into the parent BP, as the gun would also do 10 damage. I'm just curious why you chose to do it like this. Is it best practice? My guess would be there's many ways to do something and it doesn't necessarily mean one is better than the other, but would love to hear your thoughts. Thank you!
@AliElZoheiry
@AliElZoheiry 7 ай бұрын
Thank you Floris, and excellent question. Your line of thinking is indeed correct, if you have a lot of guns in your game that have common functionality, then you should have a parent "Gun" class and have your handgun, machine gun, etc.. inherit from that parent class, same for your melee weapons, but even then, you should still have 1 base weapon class that both your parent gun and parent melee weapon inherit from. This is so that all of your weapons have a common base class, and you can share things between all weapons. The level of inheritance you can have will be defined by the type of game you make, so the general rule is. If you have a bunch of different classes that will eventually have some things in common, put the common things in a parent class and have them inherit from it, but if you want a high level of flexibility in each class, then "Prefer composition over inheritance" checkout this wiki page en.wikipedia.org/wiki/Composition_over_inheritance
@HunterFloris
@HunterFloris 7 ай бұрын
​@@AliElZoheiry Thank you for the detailed answer!! This cleared a lot of things up. I just started learning Unreal Engine and your tutorials have been incredibly helpful. Can't thank you enough!! Good luck on your next projects and I'll make sure to tune in from time to time!! ^_^
@kingfuriouzshorts7363
@kingfuriouzshorts7363 6 ай бұрын
hey ali! i dont know if you have done this already but it would be amazing if you could cover how to implement bow/arrow system. your videos are superhelpful
@AliElZoheiry
@AliElZoheiry 6 ай бұрын
Hey! I haven't covered that yet, but I'm definitely considering it for a future series
@kingfuriouzshorts7363
@kingfuriouzshorts7363 6 ай бұрын
@@AliElZoheiry I do hope you do it! making a bow system is a pain in my ass haha
@AliElZoheiry
@AliElZoheiry 6 ай бұрын
@@kingfuriouzshorts7363 are you looking for something like what I showcased here kzbin.info/www/bejne/hKGmiXehrcZnmKM
@kingfuriouzshorts7363
@kingfuriouzshorts7363 6 ай бұрын
@@AliElZoheiry yes. i also did model and have my own animations so that wont be a big deal for me but idk how to make it like how u showcased there
@kingfuriouzshorts7363
@kingfuriouzshorts7363 6 ай бұрын
hey! i decided to use my brainfor once and made the whole thing myself cuz i didnt find any good tutorials lol@@AliElZoheiry
@chumleechumbucket6625
@chumleechumbucket6625 5 ай бұрын
I'm working on a smaller project with some simple AI, so I've been hopping around these tutorials and intend to see the rest later. I'm trying to have multiple enemies roam the stage at once, but the checkState/getState function is showing errors that it reads none, probably because multiple enemies are trying to access the same enum. Is there a way to fix this?
@AliElZoheiry
@AliElZoheiry 5 ай бұрын
Each enemy has their own state instance, it can't be that multiple enemies share a state enum, so your error must be caused by something else
@chumleechumbucket6625
@chumleechumbucket6625 5 ай бұрын
@@AliElZoheiry Thanks!
@gamersantai7796
@gamersantai7796 5 ай бұрын
how do i go if the npc sees player it would escapes as it runs findcover, but as soon as player starts attacking, the npc would charge and attack the player
@AliElZoheiry
@AliElZoheiry 5 ай бұрын
You can have the AI execute the find cover branch in the tree when it detects the player (through the handle sensed sight function) and then change the state to attacking if it detects damage (in the handle detect damage function)
@driftmirror
@driftmirror 6 ай бұрын
Small problem when we move the "Attack" custom event from the Base blueprint to the Melee blueprint (Around 26:00). But in our BTT_Default-Attack task we're still casting to the Base-Enemy-BP and calling the Attack custom event. But now it doesn't exist in the base enemy anymore. So we need to change that cast inside the task?
@AliElZoheiry
@AliElZoheiry 6 ай бұрын
No that will still work fine. Because even though we cast to the base enemy, we are still passing a reference to our child as the instance so we will still be calling the child's attack function. Casting a child class to its parent Class won't change that
@dawidchoptowy8161
@dawidchoptowy8161 2 ай бұрын
@@AliElZoheiry So we have to connect something since Attack was changed. In order to compile, should I take cast to BP_enemy_base and drag out Attack (target is BP Enemy Base) or Attack (target is BPI enemy AI) or Attack (target is BPI enemy AI - Message)? Thank You for your greate Tutorials man! hope you will help me as it took me a lot of time to get into this place :D
@AliElZoheiry
@AliElZoheiry 2 ай бұрын
​@@dawidchoptowy8161hey there, in this case after casting to the base enemy. Calling Attack from BP enemy base is the same exact thing as calling Attack from BPI enemy AI, since both are referencing the exact same actor. So it doesn't really matter which one you pick
@gauravsolanki1103
@gauravsolanki1103 7 ай бұрын
25:05 Here my spawning weapon is not working correctly where can i change it in enemy base or wherelse
@AliElZoheiry
@AliElZoheiry 7 ай бұрын
Then check your EquipWeapon event in the ranged enemy BP
@pettengames6162
@pettengames6162 21 күн бұрын
After making the child blueprints of the enemies and the weapons, I cant attach them to the enemy, I get an error that says my mesh is not static but my weapon is so I can't attach it. Any idea how to fix that?
@AliElZoheiry
@AliElZoheiry 17 күн бұрын
Hey there! I suggest ensuring that the weapon blueprint and the enemy blueprint, specifically the mesh components, are set to "Movable". This should resolve the attachment issue. Let me know if you need further assistance. Keep up the great work!
@pettengames6162
@pettengames6162 15 күн бұрын
@AliElZoheiry Thanks for the reply!, and you were right. The weapon meshes weren't set to moveable, and that solved it. Such a brain fart on my part, but thank you so much for help!
@LunarLuned
@LunarLuned 6 ай бұрын
Hi, i've been LOVING the series so far--there is one small thing I was wondering that isn't even a major issue but is freaking me out. While I removed the connection to the ROOT node in the BehaviorTree to turn off the AI temporarily, the weirdest thing happened. It just sort of... Kept running like normal? It ran the behaviortree and all of its components as if it wasn't completely disconnected. Do you have any clue why it would... do that? Thank you for all of your videos, i've been watching them like an online class lol!
@AliElZoheiry
@AliElZoheiry 6 ай бұрын
Hey, I'm really glad you found it useful 🙏 Regarding that issue, that is indeed strange. Disconnecting the root node should disable the entire tree. The only thing I can think of is if you're editing the wrong tree 😅
@LunarLuned
@LunarLuned 6 ай бұрын
@@AliElZoheiry Hi! So, strangest thing fixed this bug actually. I just kind of.. needed to add another sequencer? As soon as the root had one as well it just.. did it fine. Anyways, thanks a ton!
@teaguewilson7372
@teaguewilson7372 Ай бұрын
@@LunarLuned I had that bug too. Weird
@Poske_Ygo
@Poske_Ygo 2 ай бұрын
at around 36:00 It didn't let me connect cast of my "main enemy class" to behaviour tree eventhough I did have behaviour tree of actor behaviour tree.. kept trying diff casts for 20 minutes.. then I realised it may wanna connect to my old enemy class which was imported from somewhere when I started a project... Then it did.. But its kinda silly that the first blackboard which Unreal engine gets becomes the "base" behaviour tree... I have a hunch it wasn't working for you to given the valided get as well as... printstring, you prob found a solution but didn't per say know which one it was. But anyway yeah good guide, just cant connect that part as I don't wanna use variable in my archaic important behaviour tree but I ll make it work another way. Another thing is I am surprised I didn't find animation blendspace guide at your channel...
@Poske_Ygo
@Poske_Ygo 2 ай бұрын
but anyway man great vid ofc, upvoted.
@AliElZoheiry
@AliElZoheiry 2 ай бұрын
Hey there, thank you for sharing your experience! It's great that you were able to troubleshoot and find a solution. I understand your frustration, and I'll keep your feedback in mind. As for the animation blendspace guide, I'll definitely consider creating content on that topic in the future, though animation is not my field of expertise, that's why I don't have tutorials specifically on that. But I am creating a new series on how to make a bow and arrow, and it will include the full setup, blendspaces included
@LordsofMedia
@LordsofMedia 11 ай бұрын
How many parts will this series be?
@AliElZoheiry
@AliElZoheiry 11 ай бұрын
I haven't planned all of it yet, but I foresee that it's coming to an end soon, so maybe 3-4 parts left
@yingmo8041
@yingmo8041 5 ай бұрын
你很强
@AliElZoheiry
@AliElZoheiry 5 ай бұрын
Thank you 🙏
@gauravsolanki1103
@gauravsolanki1103 7 ай бұрын
bro i am not able to join your patreon posts due to issues related with paypal in india please figure it out brother please🙏 i also haven't added straifing and weild montages in my project so i hope you can understand 😭😊
@AliElZoheiry
@AliElZoheiry 7 ай бұрын
Hey, thank you for trying to support me on Pattern 🙏 but if the website itself isn't allowing your payment, then there's nothing really I can do unfortunately
@AliElZoheiry
@AliElZoheiry 7 ай бұрын
I will be creating KZbin members soon though, and I will offer similar perks to Patreon, so you will be able to sign up then
@gauravsolanki1103
@gauravsolanki1103 7 ай бұрын
yeah please try thank you very much@@AliElZoheiry
@TheVorlecGame
@TheVorlecGame 7 ай бұрын
bro looks like ezra bridger
@AliElZoheiry
@AliElZoheiry 7 ай бұрын
Haha that's a good compliment, I'll take it prnt.sc/kKfIyhw3jtx2
@user-xb1jc7lf8x
@user-xb1jc7lf8x 10 ай бұрын
@sara-uh8xy
@sara-uh8xy 11 ай бұрын
First ;)
@AliElZoheiry
@AliElZoheiry 11 ай бұрын
My favorite supporter ;)
@sara-uh8xy
@sara-uh8xy 11 ай бұрын
@@AliElZoheiry xD
@yingmo8041
@yingmo8041 5 ай бұрын
大佬,能不能用AI 加点中文字幕
@AliElZoheiry
@AliElZoheiry 5 ай бұрын
KZbin already offers this feature, when you open a video, press on the "settings icon -> captions -> auto generate" then just select your language
@Atl3m
@Atl3m 10 ай бұрын
You are making them wrong ;) . Wy are you using childrens. there is no need for childrens. Only BP_Enemy the childrens are setup in Data asset and set using a gameplay tag , just flip the tag and you flip the character type
@AliElZoheiry
@AliElZoheiry 10 ай бұрын
Hey Atl3m, there are multiple ways of doing inheritance and the most flexible approach is the parent/child approach, and it's used for a lot more than switching between enemy types, it's used to share common behavior between all enemies while giving us the flexibility to extend the functionality within each child.
@Atl3m
@Atl3m 10 ай бұрын
@@AliElZoheiry if you want a static Ai that cant use other weapons, i guess childrens is good to go, And a spawn respawn when you change to weapon melee from a range character. they some space tho. 2-5mb each character where a Data Asset settup is under 1mb for unlimeted combinations. having just one main and using data asset to change behavior makes it more dynamic, its not the character that choose the behaivor its the weapon. but like you say alot of approaches, it all depends on the game i guess. one to rule em all is what im doing, where you make another character and duplicate wanted and changing values , i just add another variable to the weapon struct inside the character data asset and it change dynamic based on weapon equipted.
@grembenlin1903
@grembenlin1903 4 сағат бұрын
luckily i created my own weapon system via component so just copied and changed the character references to enemy and skipped half the tutorial
How to Make a Simple Behavior Tree in Unreal Engine 5 - Advanced AI
20:47
[Vowel]물고기는 물에서 살아야 해🐟🤣Fish have to live in the water #funny
00:53
КАК СПРЯТАТЬ КОНФЕТЫ
00:59
123 GO! Shorts Russian
Рет қаралды 2,5 МЛН
La final estuvo difícil
00:34
Juan De Dios Pantoja
Рет қаралды 26 МЛН
Unreal Engine 5.4 Motion Matching Tutorial in 5 Minutes
4:42
KartoonDevelopTips
Рет қаралды 34 М.
The Easiest Way to Make a Simple Enemy AI in Unreal Engine 5
15:40
Gorka Games
Рет қаралды 235 М.
20 Unreal Engine Tips You NEED to know | UE5
8:38
Ali Elzoheiry
Рет қаралды 16 М.
Smart Enemy AI |  (Part 4:  EQS) | Tutorial in Unreal Engine 5 (UE5)
52:32
I Made a Game Using ChatGPT
9:51
Rye
Рет қаралды 2,5 МЛН
The Trick I Used to Make Combat Fun! | Devlog
8:12
Game Endeavor
Рет қаралды 1,5 МЛН
Игра про змеек в реальной жизни😅 #фильм #сериал
0:59
Игра про змеек в реальной жизни😅 #фильм #сериал
0:59
Please Help Steve In Lava Pit Challenge
0:31
ToonToon Daily
Рет қаралды 3,6 МЛН