Ali Elzoheiry
Ali Elzoheiry
  • 67
  • 1 750 600
The Right Way to Spawn Objects in Unreal Engine | UE5
The Object PoolPattern:
Software Design Patterns are like a guide on how to write good code, whether you're using Blueprints or C++, knowing good software practices is a MUST!
This video goes over the Object Pool Pattern which is used to optimize performance and memory by reusing objects in your game.
Download the project files and support my channel on Patreon
www.patreon.com/Alizoh
Join my Discord server to chat and mingle with the community
discord.gg/AEnM4wvYzN
Additional Resources:
gameprogrammingpatterns.com/object-pool.html
www.softwareverify.com/blog/memory-fragmentation-your-worst-nightmare/
Chapters:
00:00 The Problem
00:37 Object Pool Explanation
02:02 When To Use This Pattern?
02:40 The Current Implementation
03:38 Implementing the Object Pool Pattern
09:33 Making the Projectile a Pooled Actor
12:32 Using the Object Pool
13:29 Testing it out
14:56 Demonstrating Object Pooling in Game
15:51 Summary and Things to Keep in Mind
17:06 Some Shameless Self Promotion
About me:
I've been learning game development for a few years now, I have a background in software engineering, and I also have a background in education, so being able to combine my love of gaming, software engineering and education is the best way to spend my time.
I am currently working on a few unreal engine games as a hobby, but I am also trying to build a community, thus I am creating TH-cam tutorials to find others who are interested in game development and design.
#unrealengine5 #objectpool #tutorial #unrealengine #ue5 #gamedev #softwaredesign #software #designpatterns #cleancode #cpp #indiegame #indiegamedev
มุมมอง: 6 329

วีดีโอ

Bow & Arrow Masterclass | Unreal Engine (UE5) | Part 4
มุมมอง 2.2Kวันที่ผ่านมา
In this part (part 4) of the bow & arrow masterclass you will learn the following: - Adding sound effects to the different bow & arrow actions - Adding trail & impact visual effects - Animating the crosshair widget to show useful information - Adding collision and physics effects on arrow impact If you want to follow along with my specific bow and bow animations you can get the full project fil...
Meet Your Personal Unreal Engine Assistant! (AI Powered)
มุมมอง 5K14 วันที่ผ่านมา
AI tools are unlocking new ways of learning, so I wanted to bring this technology to all my supporters to offer a new way to learn from my videos, ask questions and get unstuck faster. Head over to my Patreon to get access to the chatbot www.patreon.com/Alizoh I hope this chatbot can help you fix bugs, understand unreal engine faster and easier, and also save you a lot of time! Join my Discord ...
Bow & Arrow Masterclass | Unreal Engine (UE5) | Part 3
มุมมอง 2.9K28 วันที่ผ่านมา
In this part (part 3) of the bow & arrow masterclass you will learn the following: - Correctly draw and shoot an arrow from the bow - Create upper-body montage slot - Use aim offset to rotate the mesh towards where the camera is aiming - Create a crosshair widget - Calculate arrow path to always hit the center of the screen If you want to follow along with my specific bow and bow animations you...
Bow & Arrow Masterclass | Unreal Engine (UE5) | Part 2
มุมมอง 3.7Kหลายเดือนก่อน
In this part (part 2) of the bow & arrow masterclass you will learn the following: - How to blend the upper body from one animation with the lower body of another animation - How to animate the bow skeleton - How to spawn and attach an arrow to the mesh - How to shoot the arrow If you want to follow along with my specific bow and bow animations you can get the full project files on my Patreon D...
Bow & Arrow Masterclass | Unreal Engine (UE5) | Part 1
มุมมอง 14Kหลายเดือนก่อน
This Bow and Arrow tutorial series aims to teach you how to create high quality bow and arrow gameplay mechanics, but in order to do that I have to teach you a lot more things, for example: - Blending different animations together - Complex traces and collisions - Dynamic crosshair with "bow draw strength indication" - Visual and Sound effects - and so much more In this video (part 1) you will ...
Why Dependencies are Bad and How To Avoid Them In Unreal Engine | UE5
มุมมอง 20K3 หลายเดือนก่อน
The Mediator Pattern: Software Design Patterns are like a guide on how to write good code, whether you're using Blueprints or C , knowing good software practices is a MUST! This video goes over the mediator pattern to build a "Combat manager" to coordinate actions between multiple enemies and the player. We will also be combining the mediator pattern with the observer pattern from the previous ...
The Most Common Mistake Beginners Make in Unreal Engine | UE5
มุมมอง 88K3 หลายเดือนก่อน
The Observer Pattern: Software Design Patterns are like a manual on how to write good code, whether you're using Blueprints or C , knowing good software practices is a MUST! I hope this first video in the series gives you a good intro on what design patterns are and how the observer design pattern can be used. This will be done through the use of "Event Dispatchers". Event dispatchers in unreal...
The Power of Git in Unreal Engine: a Step-by-Step Guide | UE5
มุมมอง 8K4 หลายเดือนก่อน
Unreal Engine projects are huge and can get messed up quite easily, so make sure to use Git and back it up to GitHub. Whether you are a solo dev or working with a team, these tools are a must for any software project. Download git git-scm.com/download/win Create a repository on GitHub github.com/new/ Command for generating SSH key ssh-keygen -t ed25519 -C "WRITE_YOUR_EMAIL_HERE" Command for vie...
My Journey To Becoming An Indie Game Dev
มุมมอง 14K4 หลายเดือนก่อน
Game development (whether indie or part of a bigger studio) is an exciting path for a lot of people, especially creative ones. With free gaming engines like Unreal Engine and Unity, it's easier than ever to get started, but making something fun is another story, it won't be easy, but nothing worth having or doing ever is. Download all my tutorial project files www.patreon.com/Alizoh Join my Dis...
The ultimate guide | How to Save & Load your unreal engine 5 game | ue5
มุมมอง 20K5 หลายเดือนก่อน
This video will teach you how to save and load your unreal engine 5 game in the most scalable and flexible way. I aim to teach you good code architecture and how to structure your systems in a way that makes them easily reusable, maintainable and scalable. By the end you will have a system that contains a reusable save and load system that can be copied into any project, and extendable with cus...
20 Unreal Engine Tips You NEED to know | UE5
มุมมอง 17K5 หลายเดือนก่อน
These tips and things I personally found useful and helped me speed up my development process with unreal engine (ue5) quite significantly. There are a lot more of these tips and tricks I can share, so let me know if you're interested in another video like this. Download all my tutorial project files www.patreon.com/Alizoh Join my Discord server to chat and mingle with the community discord.gg/...
Free Unreal Engine 5 Project | Celebrating 10k Subscribers
มุมมอง 3.9K5 หลายเดือนก่อน
Free Unreal Engine 5 Project | Celebrating 10k Subscribers
Smart Enemy AI | (Part 22: Boss Fight Final) | Tutorial Unreal Engine 5 (UE5)
มุมมอง 12K5 หลายเดือนก่อน
Smart Enemy AI | (Part 22: Boss Fight Final) | Tutorial Unreal Engine 5 (UE5)
Smart Enemy AI | (Part 21: Boss Fight Continued) | Tutorial Unreal Engine 5 (UE5)
มุมมอง 6K5 หลายเดือนก่อน
Smart Enemy AI | (Part 21: Boss Fight Continued) | Tutorial Unreal Engine 5 (UE5)
Smart Enemy AI | (Part 20: Boss Fight) | Tutorial Unreal Engine 5 (UE5)
มุมมอง 17K6 หลายเดือนก่อน
Smart Enemy AI | (Part 20: Boss Fight) | Tutorial Unreal Engine 5 (UE5)
Smart Enemy AI | (Part 19: Player Block/Parry/Combo) | Tutorial in Unreal Engine 5 (UE5)
มุมมอง 12K6 หลายเดือนก่อน
Smart Enemy AI | (Part 19: Player Block/Parry/Combo) | Tutorial in Unreal Engine 5 (UE5)
Smart Enemy AI | (Part 18: New Attack System) | Tutorial in Unreal Engine 5 (UE5)
มุมมอง 9K6 หลายเดือนก่อน
Smart Enemy AI | (Part 18: New Attack System) | Tutorial in Unreal Engine 5 (UE5)
Smart Enemy AI | (Part 17: New Magic Spell) | Tutorial in Unreal Engine 5 (UE5)
มุมมอง 7K7 หลายเดือนก่อน
Smart Enemy AI | (Part 17: New Magic Spell) | Tutorial in Unreal Engine 5 (UE5)
Smart Enemy AI | (Part 16: Spinning Melee Attack) | Tutorial in Unreal Engine 5 (UE5)
มุมมอง 6K7 หลายเดือนก่อน
Smart Enemy AI | (Part 16: Spinning Melee Attack) | Tutorial in Unreal Engine 5 (UE5)
Smart Enemy AI | (Part 15: Long Range Melee Jump Attack) | Tutorial in Unreal Engine 5 (UE5)
มุมมอง 9K7 หลายเดือนก่อน
Smart Enemy AI | (Part 15: Long Range Melee Jump Attack) | Tutorial in Unreal Engine 5 (UE5)
Smart Enemy AI | (Part 14: Mage Enemy Continued) | Tutorial in Unreal Engine 5 (UE5)
มุมมอง 6K8 หลายเดือนก่อน
Smart Enemy AI | (Part 14: Mage Enemy Continued) | Tutorial in Unreal Engine 5 (UE5)
Smart Enemy AI | (Part 13: Mage Enemy) | Tutorial in Unreal Engine 5 (UE5)
มุมมอง 11K8 หลายเดือนก่อน
Smart Enemy AI | (Part 13: Mage Enemy) | Tutorial in Unreal Engine 5 (UE5)
How I Debug My Game | Finding & Fixing Bugs/Issues | Tutorial in Unreal Engine 5 (UE5)
มุมมอง 2.9K8 หลายเดือนก่อน
How I Debug My Game | Finding & Fixing Bugs/Issues | Tutorial in Unreal Engine 5 (UE5)
Smart Enemy AI | (Part 12: Team Combat System) | Tutorial in Unreal Engine 5 (UE5)
มุมมอง 12K9 หลายเดือนก่อน
Smart Enemy AI | (Part 12: Team Combat System) | Tutorial in Unreal Engine 5 (UE5)
Smart Enemy AI | (Part 11: Group Enemy Combat) | Tutorial in Unreal Engine 5 (UE5)
มุมมอง 18K9 หลายเดือนก่อน
Smart Enemy AI | (Part 11: Group Enemy Combat) | Tutorial in Unreal Engine 5 (UE5)
Smart Enemy AI | (Part 10: AI Jumping / Nav Link) | Tutorial in Unreal Engine 5 (UE5)
มุมมอง 14K9 หลายเดือนก่อน
Smart Enemy AI | (Part 10: AI Jumping / Nav Link) | Tutorial in Unreal Engine 5 (UE5)
Smart Enemy AI | (Part 9: Stealth Seeking & Perception) | Tutorial in Unreal Engine 5 (UE5)
มุมมอง 12K9 หลายเดือนก่อน
Smart Enemy AI | (Part 9: Stealth Seeking & Perception) | Tutorial in Unreal Engine 5 (UE5)
Smart Enemy AI | (Part 8.5: Fix Bugs & Improvements) | Tutorial in Unreal Engine 5 (UE5)
มุมมอง 10K10 หลายเดือนก่อน
Smart Enemy AI | (Part 8.5: Fix Bugs & Improvements) | Tutorial in Unreal Engine 5 (UE5)
Smart Enemy AI | (Part 8: Player Attack & Enemy Block) | Tutorial in Unreal Engine 5 (UE5)
มุมมอง 20K10 หลายเดือนก่อน
Smart Enemy AI | (Part 8: Player Attack & Enemy Block) | Tutorial in Unreal Engine 5 (UE5)

ความคิดเห็น

  • @NachoMancebo
    @NachoMancebo 13 ชั่วโมงที่ผ่านมา

    after this change is the arrow afected by gravity and falls over time, or goes like a magic arrow to infinity?

  • @dadbrasil
    @dadbrasil 13 ชั่วโมงที่ผ่านมา

    Great tutorial, but I have a problem, I have items that I manually dragged into my scene and even tho their current position is being saved, they are not replacing the original objects, so the original objects spawn every time I load the game, resulting in several copies of the object, any ideas?

  • @dadbrasil
    @dadbrasil 13 ชั่วโมงที่ผ่านมา

    Very cool, but I was expecting to learn how to spawn regular objects, not projectiles.

  • @SeanLaoProductions
    @SeanLaoProductions 14 ชั่วโมงที่ผ่านมา

    Hey Ali! Well done as always on showcasing advanced methodologies in Unreal Engine! ^^ I do have a set of questions on this method to better understand how I can use them in my scenario's as well. Since I was following your tutorials I have a Projectile and AOE System with their Child classes set up and in Place. My Project has shooter elements and so I was initially making it that every gun has a Child class of the bullet set up with their own speeds, meshes etc... Some of them also link up with Spawning an AOE Blast type on impact (such as a grenade launcher round) My question is; Since the actor component takes the parent class, In order to keep with every gun to have their own "child", would the requirement be to spawn every variation referenced to be within the pool? Or is there a way this Parent to be transformed into one of its child classes and returned to their parent upon end of use?

  • @crs11becausecrs10wastaken
    @crs11becausecrs10wastaken 15 ชั่วโมงที่ผ่านมา

    I'm curious if there's a more optimized way to create a reference to the enemy base blueprint upon play rather than constantly casting to it in the tasks? It works, but seems like it may cause performance dips later on, especially with more types and classes.

  • @panielbaxla6035
    @panielbaxla6035 18 ชั่วโมงที่ผ่านมา

    Ali just cant express how important your tutorials are , you make the advanced stuff so accessible and high production , which Unreal Engine community really lacks.

  • @hidezen387
    @hidezen387 19 ชั่วโมงที่ผ่านมา

    Hey, thank you for your AI series! I don't really know why but I have issue with IsWithinIdealRange, I did every step from your video but I don't have Ideal Range option in details panel. What can be the problem?

    • @hidezen387
      @hidezen387 19 ชั่วโมงที่ผ่านมา

      Nevermind, I forgot to set blackboard key selector variables as public :D

  • @Judy_spidey
    @Judy_spidey 22 ชั่วโมงที่ผ่านมา

    I have a problem and I hope anyone can help, 1- There is a collision between me and the projectile even tho I did the “ignore when moving” thing .

  • @zrmdevelopment7260
    @zrmdevelopment7260 วันที่ผ่านมา

    Fantastic as always Ali, one of the most unique ways of teaching. Keep it going!!

  • @TsingYiTube
    @TsingYiTube วันที่ผ่านมา

    GitHub available for this demo project ?

    • @AliElZoheiry
      @AliElZoheiry วันที่ผ่านมา

      The source code for all my projects is available as a paid benefit on my Patreon patreon.com/Alizoh

  • @taariqmartin7743
    @taariqmartin7743 วันที่ผ่านมา

    A gift I never knew I wanted so badly thank you a hero my game wen I spawn my reward weapon my game freaz for like 1.5 seconds and continue thank you

  • @has_j
    @has_j วันที่ผ่านมา

    Amazing video. This is a life saver as I noticed my fps goes down when i shoot a lot of bullets in the game im currently making. Also free palestine!

  • @unsolvedbc
    @unsolvedbc วันที่ผ่านมา

    Amazing!! As per usual, loving this series so far, thank you!

  • @jamaalsineke2405
    @jamaalsineke2405 วันที่ผ่านมา

    Wow, you actually did it... Literally the only bullet hell tut for unreal. I'm so grateful that you saw my post all those months back and made this.

  • @moncef0147
    @moncef0147 วันที่ผ่านมา

    You mentioned that creating and destroying objects while the game is running affects performance. Is that why games sometimes stutter and drop frames when something happens or objects spawn ? Does this design pattern solve that problem ? at least partially ? I never thought of it, but creating all the entities you'll need for the game while it's loading or being initiated, then just displaying and hiding them later makes so much more sense. Thanks for your videos man, as always they're a treasure trove. And thanks for the support for Palestine and it's people, you're a decent and a good man.

  • @darondaron99
    @darondaron99 วันที่ผ่านมา

    I have a question , when we are standing close to another object close to the back of our character - arrow trace gets blocked by the object behind us (since we are trancing from camera) and arrow fly to the wrong direction - do i simply adjust trace start location to fix that or?

  • @roja
    @roja วันที่ผ่านมา

    Amazing

  • @Michael-kk3qx
    @Michael-kk3qx วันที่ผ่านมา

    Free Palestine!!! Also great video! Thank you!

    • @AliElZoheiry
      @AliElZoheiry วันที่ผ่านมา

      Thank you for your comment, glad you found the video helpful! 🙏

  • @symig
    @symig วันที่ผ่านมา

    Hi Ali, thanks for all the great, free content. I appreciate it (I was taught some design patterns but they don't stick if not applied, so this is great). Most applies to my game, though I think you should probably have mentioned the Lyra event bus during that tutorial? Anyway, I'm wondering about 'licensing'. Am I allowed to use your concepts in my game without any regards? And seriously, it's great to see someone interact with the comments section. Feels much more like communication. Keep up the good work! P.S.: As a TH-camr, be careful with white flash bangs (like your ChatGPT at the end). Some gamers/programmers can't handle that stuff at all, very much including myself.

    • @AliElZoheiry
      @AliElZoheiry วันที่ผ่านมา

      Hey there! I'm glad you're finding the content helpful. In terms of licensing, feel free to use the concepts in your game without any concerns. I appreciate your feedback about the Lyra event bus and will definitely take it into account. Also, thanks for the heads up about the white flash, I'm actually working on a dark mode :D

    • @symig
      @symig วันที่ผ่านมา

      @@AliElZoheiry All the words you hope/expect to hear, lovely :)

  • @danielnikolov1885
    @danielnikolov1885 วันที่ผ่านมา

    I have a problem where i cant find take damage in the function override panel i have no idea how to fix this.

    • @AliElZoheiry
      @AliElZoheiry วันที่ผ่านมา

      Hey there, either you didn't add the interface to your enemy, or you didn't compile the interface, or you already have the function overridden

  • @denvernova4239
    @denvernova4239 วันที่ผ่านมา

    Excellent video! This is a bit offtopic, but do you have a video showing how to make those spells effects or where to purchase them if they are from the marketplace? The dark smoke effect if exactly what I've been searching for. Thank you.

    • @AliElZoheiry
      @AliElZoheiry วันที่ผ่านมา

      Hey there! Glad you enjoyed it. I indeed mainly use assets from the marketplace and modify them to suit my needs. This projectile, for example, was from the Paragon Gideon asset, but it was purple, I made it red by modifying the particle system colors

  • @excelsian512
    @excelsian512 วันที่ผ่านมา

    This is not a tutorial, but a showcase

    • @AliElZoheiry
      @AliElZoheiry วันที่ผ่านมา

      The tutorial is on my channel and the link is in the description, this is just a part of that tutorial

    • @excelsian512
      @excelsian512 วันที่ผ่านมา

      @@AliElZoheiry I see, however it doesn't take away from the fact that the short itself is not a tutorial, therefore shouldn't be called a tutorial.

  • @datguy6745
    @datguy6745 วันที่ผ่านมา

    Do you care to make one for C++? This video was awesome but i think C++ would fit this purpose perfectly considering the boost in performance, i just cant get it done myself so far..

    • @AliElZoheiry
      @AliElZoheiry วันที่ผ่านมา

      Hey there! I definitely am considering expanding to C++ tutorials, but blueprints are much more accessible to people without programming knowledge, so I aim to make sure that those working with just blueprints also understand design patterns, but indeed I will soon be expanding to C++. Stay tuned for that ;)

  • @cristianocossu4472
    @cristianocossu4472 วันที่ผ่านมา

    i cannot see the interface in the "create widget" node, i compiled and saved the widget and set "public" the varìable Damagable Actor, so i can't make the health bar work. pls someone know why? PS this tutorials are great keep going!!

    • @AliElZoheiry
      @AliElZoheiry วันที่ผ่านมา

      I'm glad you're enjoying the tutorials! If you are referring to the DamageableActor variable in the interface of type BPI_Damagable. I suggest just changing it to be of type actor, and everything will work as expected. I am not really sure why I made it type BPI_Damagable and not just actor 😅

  • @nocfenix
    @nocfenix วันที่ผ่านมา

    EDIT: I figured out what was wrong. I needed to check the box for Success on the Finish Execute in the BTT. Okay, I've read through almost all of the comments, and no one seems to have the same problem I do. I have followed all of the steps, and everything is great so far. However, when we get to the point where we add the BTTask for attacking and add the Wait as the third event in the Sequence, the Wait never gets triggered for me. I watched the BT while running and it goes Move To Target, BTTask Attack, Root, Sequence, Move To Target, BTTask Attack, etc., it never actually goes to the Wait in the third sequence; but, if I put the Wait at the beginning, then it does get hit. If it helps I am using UE 5.4.2.

    • @AliElZoheiry
      @AliElZoheiry วันที่ผ่านมา

      Hey there! Happy to hear you were able to figure out the issue with the BTT. Well done !

  • @the-nomad-show
    @the-nomad-show วันที่ผ่านมา

    Ali, you're so good that watching your videoes almost feels meditative. :)

    • @AliElZoheiry
      @AliElZoheiry วันที่ผ่านมา

      Thank you so much for your kind words! I'm really glad to hear that you find my videos calming and meditative. It's always great to know that people find value in my content. Keep on watching and enjoying! 🙏

  • @TheLegendarySandwich
    @TheLegendarySandwich วันที่ผ่านมา

    I have a problem where all of the enemies move identically (well not EXACTLY but still in the same path and behavior) which is what this tutorial was aiming for but what if i want them to be different (because usually enemies in a game even if in the same type don't do EXACTLY the same thing, like chase the player from different directions, etc).. like im not talking about patrolling route im talking about when in attack state they chase me until they are near each other and than chase me all from the same direction and there is no variety.

    • @AliElZoheiry
      @AliElZoheiry วันที่ผ่านมา

      Hey there, that is indeed a common issue with enemy behavior and is solved through randomizing actions, so for example any wait node in the behavior tree has an optional field called "Random deviation" which will add or subtract a random amount within the range you give it, thus giving your enemies a random wait time in a specific range. You can apply the same concept of adding some randomness to tasks to give the different enemies some more dynamic behavior

    • @TheLegendarySandwich
      @TheLegendarySandwich 17 ชั่วโมงที่ผ่านมา

      @@AliElZoheiry So how would i do that the enemies go to you via a different direction_

  • @dishmal
    @dishmal วันที่ผ่านมา

    Great series. Would love to see a series on the right way to mount animals/drive vehicles including combat in either situation.

    • @AliElZoheiry
      @AliElZoheiry วันที่ผ่านมา

      Hey, thanks for the feedback! I'll definitely consider your suggestion for a future series. Stay tuned for more content! 🚗🐎

  • @fxclimber
    @fxclimber วันที่ผ่านมา

    When enemies from different teams merely circle each other without ever attacking, what might be the mistake I made?

    • @AliElZoheiry
      @AliElZoheiry วันที่ผ่านมา

      Double check the condition in the HandleSensedSight function in the AI controller, where we check if the actor sensed is on the same team or not, and if not, it will attack them. So double check that part and make sure you didn't miss anything

  • @Wrexthor
    @Wrexthor วันที่ผ่านมา

    Excellent stuff! So much better than 99% of tutorials since you actually teach good design patterns :)

    • @AliElZoheiry
      @AliElZoheiry วันที่ผ่านมา

      Thank you so much for your kind words! I'm really glad to hear that you find the tutorials helpful 🙏

  • @freaky4488
    @freaky4488 วันที่ผ่านมา

    Thank you very much create this amazing optimization tutorial, it was always in back of my head that this method of spawning actors might not good for optimization. one way i was thinking of this method by loading these pools in memory using level blueprint or game mode blueprint so it will load with the game (Just an idea, don't know it will work or not). I will be glad if you make some tutorials for debugging and profiling things, just like checking the memory allocation of these pools and other stuff.

    • @AliElZoheiry
      @AliElZoheiry วันที่ผ่านมา

      You're very welcome! I'm glad you found the tutorial helpful. I'll definitely consider creating tutorials for profiling in the future. I already have one tutorial on debugging. Thank you for your suggestion! 🙏

  • @DylanPlayzz871
    @DylanPlayzz871 วันที่ผ่านมา

    I don’t know if your still ready comments in videos from 4 months ago but if you are I would love love love to see a good weapon system video. I been following someone and watching how they do it but they are in consistent Chang things to much and are just breaking the code. To the point where a game I’ve been working on is now just useless and I don’t know what to do. The video concept was having it where the player can hold more than one gun in inventory. One is in hand. And on is in inventory. And you have an option to put both away and just go with hands. Then he changed them all messed it up and then added an ammo system and it just got all confusing. I do want an ammo system but learning the weapon system and ammo system from someone who teaches like you do would be amazing.

    • @AliElZoheiry
      @AliElZoheiry วันที่ผ่านมา

      Hey there! Thank you so much for your suggestion, I appreciate your support and feedback. I'll definitely consider creating a video on a weapon system and ammo system in the future. Keep an eye out for more content!

    • @DylanPlayzz871
      @DylanPlayzz871 วันที่ผ่านมา

      @@AliElZoheiry thank you. It would be so much help. Would pretty much finish my game at this point.

  • @Imtinan.ACEDIA
    @Imtinan.ACEDIA 2 วันที่ผ่านมา

    Best Series in my opinion. Keep up the good work. ❤

    • @AliElZoheiry
      @AliElZoheiry วันที่ผ่านมา

      Thank you for the kind words! I'm glad you enjoyed the series. Your support means a lot! 🙏

  • @GATXShinGundam
    @GATXShinGundam 2 วันที่ผ่านมา

    A much needed tutorial, I really hope you will show other use cases like enemy pool.

    • @AliElZoheiry
      @AliElZoheiry วันที่ผ่านมา

      Glad you found the tutorial helpful! I'll definitely keep them coming!

    • @GATXShinGundam
      @GATXShinGundam 18 ชั่วโมงที่ผ่านมา

      @@AliElZoheiryI am really grateful and really looking forward to further developing this system, such as learning how to set the pooled actor away from the center of the level, adding multiple unique projectiles to the pool, and passing different variables such as damage. I am really looking forward to what’s next!

  • @Leo_serpens
    @Leo_serpens 2 วันที่ผ่านมา

    Oh wow 20th Comment

    • @AliElZoheiry
      @AliElZoheiry วันที่ผ่านมา

      Thank you for that 🙏

  • @Leo_serpens
    @Leo_serpens 2 วันที่ผ่านมา

    My brother was doing that

  • @fxclimber
    @fxclimber 2 วันที่ผ่านมา

    I have deployed four melee enemies, but only one of them considers the player as an enemy. The other three recognize the enemy that targets the player as their enemy. Where might I have gone wrong? I'm not sure where to start debugging.

    • @fxclimber
      @fxclimber 2 วันที่ผ่านมา

      After trying various tests and almost giving up, I decided to revert to the old method of creating the attack using nodes. I checked it and then switched back to the refactored task to see the previous situation again. Surprisingly, now all the enemies take turns attacking as intended. It's quite amazing...

    • @AliElZoheiry
      @AliElZoheiry วันที่ผ่านมา

      In the part where you handleSensedSight, this is where we setup what happens when enemies see each other. If you followed the next tutorial (on setting up teams), then you should have a condition there in that function that checks if the actor sensed is on the same team or not, and if not, it will attack them. So double check that part and make sure you didn't miss anything

  • @BardockAhmed
    @BardockAhmed 2 วันที่ผ่านมา

    Based as always. #freepalestine ❤

    • @AliElZoheiry
      @AliElZoheiry วันที่ผ่านมา

      Glad to see you enjoyed the content! ✌️

  • @sniper44x
    @sniper44x 2 วันที่ผ่านมา

    Oh wow, great tutorial man, instantly following through all the way along no problem, loved it

    • @AliElZoheiry
      @AliElZoheiry วันที่ผ่านมา

      Thank you for your kind words! I'm thrilled to hear that you found the tutorial so helpful and easy to follow. Stay tuned for more content! 🙏

  • @Ready_Fire_Aim
    @Ready_Fire_Aim 2 วันที่ผ่านมา

    can you close a pool at runtime? using your example. u changed build, and no longer spawn fireballs. u do melee dmg now( so drop the pool?) or a frost bolt now. load pool on event (change to frost?) ..... (i guess u could divide it up into particle system attributes and re-use attribs from shared particle systems or projectiles or common actors/emitters etc) but can you close a pool to regain mem during runtime?

    • @AliElZoheiry
      @AliElZoheiry วันที่ผ่านมา

      Hey! Thanks for reaching out with your query. Yes, you can definitely close a pool at runtime to free up memory resources. Just have a function in that pool that deletes all objects from the pool and you're done. Just make sure not to do that often, otherwise it negates the purpose of the pool

    • @Ready_Fire_Aim
      @Ready_Fire_Aim วันที่ผ่านมา

      ​@@AliElZoheiry yeah i understand it much like hibernation process on arm64 vs task killers. TY

  • @abdoulraoufgambo
    @abdoulraoufgambo 2 วันที่ผ่านมา

    One love. Gaza will be free in sha'a Allah

    • @AliElZoheiry
      @AliElZoheiry วันที่ผ่านมา

      One love to you too 🙏

  • @sutadoralive
    @sutadoralive 2 วันที่ผ่านมา

    Hello ! First of all, I'm verry sorry for my broken English. I'm from Japan. I discovered your channel recently and I think it's great to watch your videos that offer such quality content about UE! Well done and thank you so much for it! I am contacting you because I have started the development of an Horror Escape Game on PC. I'm really not a professional in this area, at all, and I would love to see a tutorial about more complex features and, very importantly, a real save menu. There are many good tutorials in English on the subject, but, I only see videos concerning relatively basic save system which do not take into great consideration the triggers (using do once or destroy actor), the collectible objects which would be picked up in several levels, the passage between several levels, etc. What I would really like to see is a tutorial that deals with and clearly explains, in addition to what we basically see everywhere, more complex save system: - Saves (in different slots) and loading games menu - Check points (with a list of all saved check points in the save menu, with the possibility of reloading them) - Attribute and customize the name off the saves - Interactive elements (saving picked up objects, multiple doors when the state changes from open to closed, etc.) - Spawned and destroyed enemies (so that the trigger or event no longer retriggers after saving / auto-saving) - Inventory - When and how properly use Game Instance and Game Mode (with the differences between sublevels and levels) - The save logic between several levels (not just in a single level) - The save logic in a game with only sublevels - etc... A video like this, with great teaching like yours, would be more than exceptional and unique ! Thanks again for all your videos!

    • @AliElZoheiry
      @AliElZoheiry วันที่ผ่านมา

      Hey there! Your English is great, no need to apologize. Thank you so much for your kind words and suggestions. I've noted down your ideas for a more complex save system tutorial and will consider them for future videos. I truly appreciate your support and hope to create content that meets your expectations! Thank you for watching and reaching out to me 🙏

  • @vegavak
    @vegavak 2 วันที่ผ่านมา

    Honestly a banner at the beginning of the video with good intentions- how can anyone hate it? These videos are great and honestly you are a great teacher. I enjoy watching and learning and look forward to many more useful tutorials.

    • @AliElZoheiry
      @AliElZoheiry วันที่ผ่านมา

      Hey, thank you so much for your kind words! I really appreciate your support and I'm glad you're finding the tutorials helpful. Keep an eye out for more useful content coming your way! 😊

  • @bartasus194
    @bartasus194 2 วันที่ผ่านมา

    Great video! Keep doing what you're doing #FreePalestine

    • @AliElZoheiry
      @AliElZoheiry วันที่ผ่านมา

      Thank you! I appreciate your support and will continue to create content 🙏

  • @kryogenicgames
    @kryogenicgames 2 วันที่ผ่านมา

    been waiting for proper object pooling tut ;), thank you ALi

    • @AliElZoheiry
      @AliElZoheiry วันที่ผ่านมา

      Hey there! I'm thrilled you found the tutorial helpful! Thanks for watching 😊

  • @liamshelley8910
    @liamshelley8910 2 วันที่ผ่านมา

    Hi! I loved all of your AI series and have spent some time attempting to design a game based around it! I wanted to ask, is there any chance you would go back to the ai and include AI soldiers levelling up/gaining experience to become stronger? Have a wonderful day!

    • @AliElZoheiry
      @AliElZoheiry วันที่ผ่านมา

      Hi there! Thank you for your kind words and support! I'm thrilled to hear that you enjoyed the AI series. I haven't really considered anything like a leveling system in that series since it's not really AI related, but I will definitely consider an progression system series that would include something like that

  • @gregsmith80
    @gregsmith80 2 วันที่ผ่านมา

    Hell yes, Free Palestine. Easy sub, thanks for all your hard work!

    • @AliElZoheiry
      @AliElZoheiry วันที่ผ่านมา

      Thank you for your support and kind words, I'm glad to have you as a subscriber 🙏

  • @eligijuspranskunas3509
    @eligijuspranskunas3509 2 วันที่ผ่านมา

    i guess if use for forest trees, it would use insane amount of memory, so no use for forest :/

    • @AliElZoheiry
      @AliElZoheiry วันที่ผ่านมา

      Hey there, for trees and other environmental assets, there is a similar design pattern that is better suited. It's called the "Flyweight Pattern" refactoring.guru/design-patterns/flyweight I recommend using this and not ObjectPool for such assets

  • @christopherfrancique9912
    @christopherfrancique9912 2 วันที่ผ่านมา

    awesome bro great tutorials learning a lot

    • @AliElZoheiry
      @AliElZoheiry วันที่ผ่านมา

      Glad to hear that you're finding the tutorials helpful! Thank you for the kind words 🙏