git-amend
git-amend
  • 81
  • 746 033
Using Octrees and A* for Efficient Pathfinding
Octrees in Unity offer an efficient way to optimize large 3D spaces, and in this video, we dive into implementing an Octree and using it in combination with the A* algorithm for pathfinding. We'll show how Octrees help divide space to manage objects and obstacles, making A* pathfinding more efficient in complex 3D environments. You’ll learn how to avoid obstacles, calculate the best routes, and leverage the power of Octrees to improve performance. Whether you're building a large open world or a detailed simulation, this tutorial will help you make the most of your spatial data in Unity.
Want to support me? 😀
Buy me a coffee! ko-fi.com/adammyhre
🔔 Subscribe for more Unity Tutorials youtube.com/@git-amend
Discord: discord.gg/FDRZGQBBUC
#unity3d #gamedev #indiedev
▬ Contents of this video ▬▬▬▬▬▬▬▬▬▬
0:00 Octrees
11:25 A* Pathfinding
24:23 Mover
*Source code:* github.com/adammyhre/Unity-Octrees
More Useful Code:
github.com/adammyhre?tab=repositories
Unity Utility Library: github.com/adammyhre/Unity-Utils
Lock Inspector Hotkey: gist.github.com/adammyhre/4754f731a93bf1cab0d1385ccfa23642
Assets Shown In This Video (Affiliate Links)
Hot Reload: assetstore.unity.com/packages/tools/utilities/hot-reload-edit-code-without-compiling-254358?aid=1101lw3sv
Hierarchy Icons: assetstore.unity.com/packages/tools/utilities/better-hierarchy-272963?aid=1101lw3sv
Better Transform: assetstore.unity.com/packages/tools/utilities/better-transform-size-notes-global-local-workspace-child-parent--276554?aid=1101lw3sv
Better Mesh Filter: assetstore.unity.com/packages/tools/utilities/better-mesh-filter-266489?aid=1101lw3sv
Editor Console Pro: assetstore.unity.com/packages/tools/utilities/editor-console-pro-11889?aid=1101lw3sv
Any Object Finder: assetstore.unity.com/packages/tools/utilities/any-object-finder-286455?aid=1101lw3sv
*Follow me!*
linktr.ee/gitamend
มุมมอง: 247

วีดีโอ

Using and Customizing Unity's NEW Behavior Graph
มุมมอง 11Kวันที่ผ่านมา
The New Behavior package comes with some much needed functionality for building node based systems in Unity. Learn how you can take advantage of this new package to create custom node based logical flows, broadcast events, and build custom actions with a system that is extensible, serializable and easy to use. NOTE: Requires Unity version of 6000.0.16 or greater. See more release info here: dis...
Utility AI: Mastering Smart Decisions in Unity!
มุมมอง 6K14 วันที่ผ่านมา
Unity Utility AI is your key to creating intelligent agents with dynamic decision-making! In this episode, we dive deep into the inner workings of the AI Brain, exploring how Actions are chosen based on a combination of Considerations and Composite evaluations. Learn how to fine-tune your AI's decision-making process with smart Calculations and Curves, allowing your game to respond intelligentl...
R3: Observer Pattern on Steroids
มุมมอง 8K21 วันที่ผ่านมา
Reactive Programming is not just for the hardcore devs! R3 is the new, modern reimplementation of Reactive Extensions for C# and the replacement for UniRx... and it's easier to use than you think. If you know the Observer programming pattern and understand what an extension method is, you can use R3 to supercharge your next project in Unity or Godot with Observable Streams, Subjects, Subscripti...
Essential Elements of Cinemachine 3.1
มุมมอง 5K28 วันที่ผ่านมา
Cinemachine 3 has been overhauled with some major breaking changes and the introduction of a New Event Architecture and a New Spline Integration. Find out what's changed in the Cinemachine API and how you can upgrade your project and take advantage of the new features! Unity for Cinematics Beta create.unity.com/cinematics-beta Want to support me? 😀 Buy me a coffee! ko-fi.com/adammyhre 🔔 Subscri...
UniTask: How It Replaces Coroutines, Tasks and Awaitable
มุมมอง 11Kหลายเดือนก่อน
Learn how UniTask can turn your long running operations into an allocation free workflow, completely replacing Coroutines, Asynchronous Tasks and even Unity's new Awaitable class. The feature rich UniTask library can seem overwhelming at first glace, but getting started is easier than you think! With the help of UniTask's extension methods you can convert your entire workflow with minimal effor...
Unity Player Camera with Obstacle Avoidance
มุมมอง 3Kหลายเดือนก่อน
Build a Custom Orbital Camera with Obstacle Detection and Avoidance using Raycasts or Spherecasts in today's video. Keep your camera at an ideal distance while maintaining a clear view of the Player!f Want to support me? 😀 Buy me a coffee! ko-fi.com/adammyhre 🔔 Subscribe for more Unity Tutorials youtube.com/@git-amend Discord: discord.gg/FDRZGQBBUC #unity3d #gamedev #indiedev ▬ Contents of this...
Anatomy of an Advanced Player Controller
มุมมอง 9Kหลายเดือนก่อน
Building and Advanced Player Controller than can handle friction, gravity, step height, slopes, stairs, jumping and falling and so on, is a daunting task. Today we're going to build a system than can take full control of these physics calculations and move our Character in a professional and realistic manner! NOTE: Older versions of Unity, use Rigidbody's velocity property instead of linearVelo...
3 Unity C# Misconceptions
มุมมอง 8Kหลายเดือนก่อน
Today we're going to discuss 3 common misconceptions about some of the more nuanced details of the C# programming language as it pertains to Unity: when to use try/catch, the differences between ` ` and Equals(), and proper purpose and use of the `var` keyword in C#. Want to support me? 😀 Buy me a coffee! ko-fi.com/adammyhre 🔔 Subscribe for more Unity Tutorials youtube.com/@git-amend Discord: d...
AUTOMATE Unity Project Setup (and 15 Essential Assets for 2024)
มุมมอง 6K2 หลายเดือนก่อน
Never import your Packages and Assets one by one ever again. These cumbersome manual tasks can and should be automated, and it's easier than you think. Today we'll walk through all the code required and I'll show you all the Quality-of-Life Editor Enhancing Assets I import into every project! Want to support me? 😀 Buy me a coffee! ko-fi.com/adammyhre 🔔 Subscribe for more Unity Tutorials youtube...
3 Unity Tricks: Gravity Wells, Right Angle Flips, and Moving Platforms
มุมมอง 6K2 หลายเดือนก่อน
Gravity Tunnels and other unique mechanics are essential for engaging gameplay. In this tutorial, you'll learn how to build key objects for a Player Controller sandbox: a gravity well that pushes players to the edges of a tunnel, a right-angle flip mechanic for walking on walls, and moving platforms that do not require re-parenting. We'll break down the mathematics and coding for each feature, ...
PlayableBehaviour - C# in Unity's Playable Graph
มุมมอง 4.4K2 หลายเดือนก่อน
Playables are a powerful feature in Unity, and using the PlayableBehaviour class, we're going to add audio to the Playable Graph. We will dive into how to utilize ScriptPlayable, AudioClipPlayable, and ExposedReference to create dynamic and flexible audio implementations. Additionally, we'll cover the Awaitable class to manage asynchronous operations efficiently. Whether you're a beginner or an...
Unity Playables is Actually a Game-Changer
มุมมอง 31K2 หลายเดือนก่อน
The Playables API holds hidden potential that can transform your game development. In this video, you'll learn how to add runtime animations to your characters that come from objects that provide their own animations, automating complex sequences and creating more dynamic environments with minimal coding. Join us to unlock the secrets of these powerful tools and elevate your game's animation sy...
AVOID These Programmer Resume Mistakes!
มุมมอง 6K2 หลายเดือนก่อน
Get the mentorship and benefits that come from working in the Programming industry! Follow these PRO TIPS to make sure you get considered for your next Programming job, no matter what your specialty. If your Resume and Cover Letter don't instantly qualify you for an interview, you will be passed over for another one of the hundreds of applicants. Follow these tips and strategies to make sure th...
It's EASY to think your code will always be UGLY!
มุมมอง 8K3 หลายเดือนก่อน
Fluent Interface Design in Unity C# is a powerful design pattern that aims to make your code more readable and intuitive, allowing methods to be chained together in a fluid and expressive manner. Using the example of cloning an AnimatorController, this video will demonstrate how Fluent Interface can transform complex operations into clean, elegant one-liners, significantly reducing code duplica...
Streamline Your Game - Without Being a Memory EXPERT!
มุมมอง 6K3 หลายเดือนก่อน
Streamline Your Game - Without Being a Memory EXPERT!
Optimize Game Sounds: Pooling Audio Sources in Unity
มุมมอง 6K3 หลายเดือนก่อน
Optimize Game Sounds: Pooling Audio Sources in Unity
6 Code Smells REFACTORED to Patterns!
มุมมอง 8K3 หลายเดือนก่อน
6 Code Smells REFACTORED to Patterns!
Get Started with Custom Unity Packages (Step by Step)
มุมมอง 6K4 หลายเดือนก่อน
Get Started with Custom Unity Packages (Step by Step)
The Unity HACK that the PROS know
มุมมอง 15K4 หลายเดือนก่อน
The Unity HACK that the PROS know
How to Implement Blackboard Architecture in Unity C#
มุมมอง 12K4 หลายเดือนก่อน
How to Implement Blackboard Architecture in Unity C#
How to Code Behaviour Trees in Unity C#
มุมมอง 14K4 หลายเดือนก่อน
How to Code Behaviour Trees in Unity C#
Optimal Goal-First Pathfinding - D* Lite
มุมมอง 5K5 หลายเดือนก่อน
Optimal Goal-First Pathfinding - D* Lite
The #1 Way To Get Better At Programming
มุมมอง 10K5 หลายเดือนก่อน
The #1 Way To Get Better At Programming
EASY Stats and Modifiers in Unity | Broker Chain Pattern
มุมมอง 14K5 หลายเดือนก่อน
EASY Stats and Modifiers in Unity | Broker Chain Pattern
Better AI in Unity - GOAP (Goal Oriented Action Planning)
มุมมอง 19K5 หลายเดือนก่อน
Better AI in Unity - GOAP (Goal Oriented Action Planning)
Mediator Pattern - Reduce Chaotic Dependencies
มุมมอง 8K5 หลายเดือนก่อน
Mediator Pattern - Reduce Chaotic Dependencies
Day Night System | Events, Dial, Skyboxes and PostProcessing
มุมมอง 4.8K6 หลายเดือนก่อน
Day Night System | Events, Dial, Skyboxes and PostProcessing
Top 3 Problems Solved With Git Commands
มุมมอง 3.2K6 หลายเดือนก่อน
Top 3 Problems Solved With Git Commands
Loading Scenes On Demand Has Never Been Easier!
มุมมอง 4.8K6 หลายเดือนก่อน
Loading Scenes On Demand Has Never Been Easier!

ความคิดเห็น

  • @techdave99
    @techdave99 7 ชั่วโมงที่ผ่านมา

    When I first read the title, I thought that I might have to go outside. But then I remembered that Octrees are in the computer. Yay, don't have to go outside!

    • @git-amend
      @git-amend 7 ชั่วโมงที่ผ่านมา

      🌲

  • @정동우-n2x
    @정동우-n2x 7 ชั่วโมงที่ผ่านมา

    It took me a month to implement quadTree, which is amazing. I always learn.

    • @git-amend
      @git-amend 7 ชั่วโมงที่ผ่านมา

      Nice, hope you like this vid!

    • @정동우-n2x
      @정동우-n2x 7 ชั่วโมงที่ผ่านมา

      @@git-amend I like all yours videos, not just 'this vid'!

  • @inrage7871
    @inrage7871 7 ชั่วโมงที่ผ่านมา

    This channel is gem! Thank you for your content 😍

    • @git-amend
      @git-amend 7 ชั่วโมงที่ผ่านมา

      Thank you!

  • @retroman7581
    @retroman7581 7 ชั่วโมงที่ผ่านมา

    Uh, interesting topic! :D

    • @git-amend
      @git-amend 7 ชั่วโมงที่ผ่านมา

      Thanks, hope it's useful.

  • @git-amend
    @git-amend 7 ชั่วโมงที่ผ่านมา

    Happy Sunday everyone! I hope this video helps to explain Octrees and gives you some ideas for how you can use them in your projects!

  • @x2andrew
    @x2andrew 8 ชั่วโมงที่ผ่านมา

    Thank you for the video. I'm enjoying your content so much! What you think about Zenject and ECS frameworks?

    • @git-amend
      @git-amend 7 ชั่วโมงที่ผ่านมา

      Personally, I've been more interested in Reflex these days than Zenject, however I think both Zenject and ECS are great choices for some projects.

  • @RaineAlgessar
    @RaineAlgessar 9 ชั่วโมงที่ผ่านมา

    A small suggestion: When you're using non-standard methods, please tell us where they are coming from. Took a while to find InRangeOf(). Just a quick mention of which class it is in would be nice.

  • @KYL3R64
    @KYL3R64 10 ชั่วโมงที่ผ่านมา

    I saw the reddit post about this package being release, I'm glad someone already made a video about it! :)

    • @git-amend
      @git-amend 8 ชั่วโมงที่ผ่านมา

      Hope you enjoy it!

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

    Interesting, could this replace Unity Visual Scripting (if you built your own nodes) and would it be more performant I wonder?

    • @git-amend
      @git-amend วันที่ผ่านมา

      I'm sure it can handle a lot of that. Another subscriber asked on the Unity Discussions about handling 500 agents, and they said no problem.

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

    The only thing that's not right about this video is the name you used for your spline follow class, it should be AwesomeFollow instead of SmoothFollow 😆 I do like that they split the components up more

    • @git-amend
      @git-amend 2 วันที่ผ่านมา

      😁

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

    Hey @git-amend, marvelous video as always. Thank you so much! I had a few questions though. Whenever you Register and create your bindings on OnEnable, wouldn't that mean that the Binding field would get overridden each time the game objects gets enabled? My intuition tells me that creating the binding should live inside Awake(), and Registering / Unregistering should live inside OnEnable() and OnDisable() respectively. Other question is: what is the gain from adding the IEventBinding<T> layer to the architecture? Couldn't we just use Action<T> and Action? Or at least make the whole IEventBinding logic private to the EventBus, so it's encapsuled inside of it. Moreover, IEventBinding does not have the `event` keyword, meaning the event could be overwritten or set to null by anyone manipulating an instance of IEventBinding. What are your thoughts about that? Thanks again!

    • @git-amend
      @git-amend 2 วันที่ผ่านมา

      Some interesting questions with no concrete answers. The video is not meant to be the epitome of all Event Bus implementations, in fact it is not because I have not included the full functionality in the video or the repository to keep it simple. Where you create bindings and handle registration depends entirely on your own project. The reason I have a layer of abstraction via the EventBindings is so I can also have extra features such as logging and debugging, or even change the underlying delegate without affecting the entire solution.

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

    This is one of the few channels who dont just show how to do things in a beginner way, but how to up your game, its a very valuable channel and really should be way more popular. I like that nearly every video is self contained enough that you can go there, view a thing, decide yes, i want that, and then go off and implement the thing in a project without too much of the oh, you need to have 15 other videos worth of stuff in the project before it even dreams of working

    • @git-amend
      @git-amend 2 วันที่ผ่านมา

      Thanks for the kind words!

  • @RunninglVlan
    @RunninglVlan 3 วันที่ผ่านมา

    On 11:28 following line is missing in TakeDamage method: `CurrentHp.Value -= damage`

  • @banditbloodwyndevs8782
    @banditbloodwyndevs8782 3 วันที่ผ่านมา

    looks awesome. One question I have: How good is the performance of this? What if I want to create 2D scenes with about 500 agents, controlled by behaviour graphs?

    • @git-amend
      @git-amend 2 วันที่ผ่านมา

      I haven’t done any massive tests like that, but you will get an answer quickly if you ask in Unity Discussions under the release thread discussions.unity.com/t/behavior-package-1-0-1-is-released-update-1-0-2-is-out/1521797

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

      @@git-amend Got an answer: "The performance should be good in general, we are following best practices & we should be not creating to much garbage or overhead at runtime. 500 agents will be fine." So, let's hope for the best.

  • @revilorere
    @revilorere 3 วันที่ผ่านมา

    I love this, but the problem is you cant have dependencies to your own packages, the package manager just doesnt support Github links as dependencies. It has to be the com.packagename.etc format. And its very frustrating for a modular packaging setup. Im still trying to figure out a solution, and i think the cloest ive gotten is via hosting your own com. packages using docker, but i didnt quite get it to work, but i do think that is the highest chance of getting this to work. I'd love some advice here! And as an example of what i want, Say i have a package that gives me the foundation for creating templates, but then i have multiple subpackages, all of them needing just one template, but i dont want all of them to have the whole template boilerplate code

    • @git-amend
      @git-amend 3 วันที่ผ่านมา

      Why don't you just import them sequentially, dependencies first. For example, if I had my own package that depended on UniTask, I would put UniTask first on the list of imports, followed by my custom package that depends on it.

    • @revilorere
      @revilorere 3 วันที่ผ่านมา

      @@git-amend Ideally I'd just have one package because the dependencies could theoretically end up being many and it's a hassle. However I hadn't thought of something that simple and it might be an acceptable workaround! I will give it a try, thank you!

  • @niuage
    @niuage 3 วันที่ผ่านมา

    Thanks YT for recommending this vid. I was trying to find your channel again and couldnt ^^.

    • @git-amend
      @git-amend 3 วันที่ผ่านมา

      Welcome back!

  • @CiroContinisio
    @CiroContinisio 3 วันที่ผ่านมา

    Very good and in-depth video, thanks!

    • @git-amend
      @git-amend 3 วันที่ผ่านมา

      Very welcome!

  • @PaulLovato
    @PaulLovato 3 วันที่ผ่านมา

    Note if you put your Player (Hero) on the DontDestroyOnLoad level: "It seems like the issue you're encountering is due to the way Unity handles objects marked with DontDestroyOnLoad. Specifically, your Hero object is a singleton that persists across scene loads because of the DontDestroyOnLoad(gameObject); call in its Awake() method. This causes it to reside in a special scene called the DontDestroyOnLoad scene, which is not part of the active scene hierarchy. When you use FindObjectsByType<T>() or FindObjectsOfType<T>(), these methods typically search only within the active scene's hierarchy and do not include objects in the DontDestroyOnLoad scene. As a result, your Bind<T, TData>() method in SaveLoadManager is unable to find the Hero instance, and thus the Bind call doesn't link up the IBind data as expected."

  • @enbawatches
    @enbawatches 4 วันที่ผ่านมา

    Man, I love this channel so much

    • @git-amend
      @git-amend 4 วันที่ผ่านมา

      Thank you!

  • @ttott3649
    @ttott3649 4 วันที่ผ่านมา

    Thanks for this tutorial! Is there anyway to add [TextArea] to a string in the blackboardvariable, wanting to be able to add lines in the inspector panel

    • @git-amend
      @git-amend 4 วันที่ผ่านมา

      I'm not 100% sure about that, but you can go over to the Unity discussion and add your suggestion there. I'm sure they will consider adding it. discussions.unity.com/t/behavior-package-1-0-1-is-released-update-1-0-2-is-out/1521797

  • @karandhir2411
    @karandhir2411 4 วันที่ผ่านมา

    Amazing, thank you.

    • @git-amend
      @git-amend 4 วันที่ผ่านมา

      Glad you liked it!

  • @HadiLePanda
    @HadiLePanda 4 วันที่ผ่านมา

    Thank you for this video, it's helpful! I would like to see a tutorial about an implementation of the GOAP system with this new tool please 😊

    • @git-amend
      @git-amend 4 วันที่ผ่านมา

      Thanks, I'll keep that idea in mind!

  • @danielweber4857
    @danielweber4857 4 วันที่ผ่านมา

    I'm using this for a space ship controller. It always has a forwad movement vector and rotates based on the player's input. I'm facing a lot of stutter rotating left/right because of it being in FixedUpdate, rather than Update itself. Could I duplicate the HandleClient and HandleServer Tick into Update on top of having it in FixedUpdate? That feels like the wrong approach. Does anyone have any ideas?

  • @suntonio7187
    @suntonio7187 4 วันที่ผ่านมา

    Great setup! thanks for the tuto :) I quickly read comments, not sure if someone mentioned it but i love "code todo list" which is an asset that shows you your comments (by detecting keywords like TODO, FIX, REFACT) and allow quick opening of the file at the correct line. Awesome for my little brain!

    • @git-amend
      @git-amend 4 วันที่ผ่านมา

      Interesting, I'll have to look that one up... I'm constantly adding TODO and FIXME lol

    • @git-amend
      @git-amend 7 ชั่วโมงที่ผ่านมา

      I picked up the TODO Asset based on your recommend... very useful, thanks!

  • @ComplexAce
    @ComplexAce 5 วันที่ผ่านมา

    Regarding the animations I'm switching to MxM (Motion Matching for Unity) for the exact same reason you mentioned about Mecanim If you haven't already, think you can take a look?

  • @lucasfarias1148
    @lucasfarias1148 5 วันที่ผ่านมา

    Man, the content of your videos is fantastic and really good quality as well. This is a nightmare comment for any TH-camr but, have you ever thought about making a course with many of the content and knowledge you have given on your other videos? Having your teaching and content quality in a nicely packed course could be a really nice experience! Thank you for your videos, as always!

    • @git-amend
      @git-amend 5 วันที่ผ่านมา

      One day I will start working on something like that, probably after I'm past 20k subscribers. I'll keep ya posted.

  • @NachoYT134
    @NachoYT134 5 วันที่ผ่านมา

    Hello, does anyone has a link to the earlier video that he mentions here? 3:17 I'm interested in why he made that change Thank you!!!

    • @git-amend
      @git-amend 5 วันที่ผ่านมา

      th-cam.com/video/Nk49EUf7yyU/w-d-xo.html github.com/adammyhre/Unity-Utils/blob/master/UnityUtils/Scripts/WaitFor.cs The reason is we don't want to allocate memory every time we create a new WaitForSeconds object. Instead we make them one time and reuse.

  • @magia136
    @magia136 5 วันที่ผ่านมา

    Omg you teaches more than the main topic 🤔

  • @morphidevtalk
    @morphidevtalk 5 วันที่ผ่านมา

    Hey @git-amend! great vid!) how different is the installation in this way from creating a template project with all the folders and assets and packages? Later, just copying it. This is the most direct approach, I wonder if it will break meta files, etc.? And also, as far as I remember, you can create your own template directly in the Unity Hub

    • @git-amend
      @git-amend 5 วันที่ผ่านมา

      You can make templates, and sometimes that's a good option. Just remember that if you want to update a package inside the template, you'll be making a new one. For me personally, especially because I like to stay on the latest tech stream, I find keeping all my packages as up to date as possible is the best solution, and I don't want to be making a new template several times a week since that defeats the purpose of them.

  • @ВалентинТерентьев-п4р
    @ВалентинТерентьев-п4р 5 วันที่ผ่านมา

    Could this library replace the event bus pattern? I have an inner feeling that it could, but I haven't yet figured out how exactly. And I'm very used to scriptable object event buses, are they adequate to use alongside the library?

    • @git-amend
      @git-amend 5 วันที่ผ่านมา

      Maybe, but these are 2 different things. An Event Bus will allow your GameObjects to be very decoupled, only interacting when events are fired. Reactive Extensions will require you to maintain a reference to the thing being observed, and will have slightly more overhead which you need to keep an eye on. In a project, I would try to throttle R3 for performance reasons as much as possible, but with an Event Bus, I would be less concerned. I think both have their place.

  • @adrianlorencic7639
    @adrianlorencic7639 5 วันที่ผ่านมา

    Hey, based on what does this patrolling work? Will it avoid obstacles? Speaking for 2D world if anybody has some experiences :)

    • @git-amend
      @git-amend 5 วันที่ผ่านมา

      It works based on a nav mesh, and falls back to moving by transform is there is no nav mesh. For 2D, you may want to extend that Node with some custom logic.

  • @AITools-s8f
    @AITools-s8f 5 วันที่ผ่านมา

    I found a good way to organize the tree: Use Unity's Hierarchy tree. Basically, make node a gameObject and add it as children of the tree. Then you can process nodes in sequence of child index. The good thing is that you can drag around any node without changing scripts. you can read the status of each node by changing the name of respected gameObject

    • @git-amend
      @git-amend 5 วันที่ผ่านมา

      That's a very interesting approach. I'll have to try that one out!

  • @raymk
    @raymk 5 วันที่ผ่านมา

    Is there any other usage of Behavior Tree besides creating an RPG-like character? I always wanted to utilize this design pattern and the tools that come with it, but it seems like I cannot find a good use case for it. I'm not making an RPG, so it seems like there's no much reason to make a behavior tree for a simple enemy AI that only has one state of being.

    • @git-amend
      @git-amend 5 วันที่ผ่านมา

      Sure, you can use this beyond RPG-like characters, even for simpler AI or non-character behaviors. A behavior tree is great for structuring decision-making and can be used in areas like controlling complex environmental systems, managing procedural generation, handling multiple NPCs with different conditional actions, or even controlling UI flows.

    • @ShaneeNishry-c5q
      @ShaneeNishry-c5q 5 วันที่ผ่านมา

      I've been using it for an RTS and city builder :)

  • @STARasGAMES
    @STARasGAMES 6 วันที่ผ่านมา

    But why does it lag even with 4 nodes in the graph?😃 Looks like another ShaderGraph that freezes for several seconds when changed anything

    • @ShaneeNishry
      @ShaneeNishry 5 วันที่ผ่านมา

      Hey @STARasGAMES, I'm sorry to hear you are having freezes. Can you use the Unity Discussion pages and post with the tag Behavior so we can help you? We're working on performance but it really shouldn't freeze for several seconds or lag when having only 4 nodes!

    • @STARasGAMES
      @STARasGAMES 5 วันที่ผ่านมา

      @@ShaneeNishry hey, that's a bit of misunderstanding here. I didn't try new Behavior package, but I spotted in this video noticeable micro-lag when user deletes node. The same is true for good old Shader Graph, which works acceptable with 10 nodes, but past that it freezes for most of operations, especially undo and duplication. So I assume that if new Behavior package has noticeable freez on 4 nodes it's safe to say it won't handle well 30-50 nodes. Wish you best, and hope I'm wrong about that

    • @ShaneeNishry
      @ShaneeNishry 5 วันที่ผ่านมา

      Hey @@STARasGAMES Maybe @git-amend can comment if he's encountering freezes or if it could be a recording artifact. Personally I haven't had an issue with such few nodes, but that said we're definitely working on improving performance for larger graphs.

    • @git-amend
      @git-amend 5 วันที่ผ่านมา

      I have not experienced any lag or freezing while using this package. Any perceived issues in that regard are likely just from editing in a pause while speaking. The only time there was any delay was while creating Assets.

    • @ShaneeNishry
      @ShaneeNishry 5 วันที่ผ่านมา

      @@git-amend That's good to hear! I'm not saying we have no performance issues, we do, but they shouldn't be THAT BAD and we're working on them :) The main issue is we need to contribute some fixes to AppUI to get panning performance up with more nodes.

  • @xSeonerx
    @xSeonerx 6 วันที่ผ่านมา

    Will it be new not supported feature of unity that lacks ton of stuff and after all is programmer heavy anyways? Find out in the next episode of Unity Roadmap!

  • @TedThomasTT
    @TedThomasTT 6 วันที่ผ่านมา

    Incredible how fast you made this, well done.

    • @git-amend
      @git-amend 6 วันที่ผ่านมา

      Thank you! Cheers!

  • @gamheroes
    @gamheroes 6 วันที่ผ่านมา

    I am a Behavior Designer user from years ago as Unity lacked a node-based system (Unreal has) so it is good news for all who do not want to spend money on the asset, or just prefer this workflow...Wich after watching the video, it is pretty similar and I would say that I prefer that GUI Now, I only miss an Octree system (Unreal also has a built-in) as I tried to implement my own one (following paid courses that did not help) and finally, I created a functional one but I am not totally satisfied. If a great programmer like you could show us how to implement a good Octree system I would thank it forever :P Thanks for the video!

    • @git-amend
      @git-amend 6 วันที่ผ่านมา

      Not a bad idea, I'll jot that one down!

  • @tst2648
    @tst2648 6 วันที่ผ่านมา

    Voted for you, good luck you deserve it!

    • @git-amend
      @git-amend 6 วันที่ผ่านมา

      Thank you!

  • @dabmaster6874
    @dabmaster6874 6 วันที่ผ่านมา

    Do you think that this can replace the normal statemachine workflow? If so would you say that it's scalable?

    • @git-amend
      @git-amend 6 วันที่ผ่านมา

      You can certainly make state machines with it. I think it's also scalable, but I have not tested anything extreme.

    • @dabmaster6874
      @dabmaster6874 6 วันที่ผ่านมา

      @@git-amend Thank you, I hope I can give it a try soon and see what I can do xD

  • @bromanguy
    @bromanguy 6 วันที่ผ่านมา

    I've been using BehaviorDesigner Asset for a while now and it's been working quite well for my project. But I am super excited about this, Unity's been really missing node-based interfaces that the competition has had for quite a while now. Thank you so much for the video and for shining a light on this new graph editor, as it flew under my radar completely but it looks so good!

    • @git-amend
      @git-amend 6 วันที่ผ่านมา

      Sounds great! Thanks for watching! I have Behavior Designer too, and I think highly of it as well.

  • @JustFor-dq5wc
    @JustFor-dq5wc 6 วันที่ผ่านมา

    I made my own behaviour tree few months back. It's working fine but editing it isn't that fine. Now I feel like I wasted my time. Great video!

    • @git-amend
      @git-amend 6 วันที่ผ่านมา

      Rarely a waste though... thanks for watching!

  • @tigeruppercut2000
    @tigeruppercut2000 6 วันที่ผ่านมา

    god dang it I've been meaning to release my own behavior tree solution on the asset store for years now but life just keeps getting in the way now it's basically futile. And this is way better than anything I could do