Tale Forge
Tale Forge
  • 41
  • 40 958
Collectibles - UI communication in Unity ECS and animation with DOTween - MVC pattern.
In this video I handled Collectibles in the Unity ECS and want to show you how to update points on the UI using DOTween animation. I will also use Model-View-Controller pattern to implement the UI logic, so let’s dive in and see how to do it! 🍻
--------------------
We appreciate your support on the Patreon:
patreon.com/TaleForge
---------------------
Social Media:
Discord:
discord.gg/gZssNGuDdc
Facebook:
taleforge/
Instagram:
taleforgegames
LinkedIn:
www.linkedin.com/company/tale-forge/
Reddit:
www.reddit.com/user/taleforge
Tiktok:
www.tiktok.com/@taleforge
Twitter:
TaleForgeStudio
#taleforge #unity #ecs #tutorial #gamedev #games #programming #education #learning #trending
มุมมอง: 115

วีดีโอ

What's next? Future of the Channel in the 2025!
มุมมอง 86214 วันที่ผ่านมา
Happy New Year, Tale Forgers! ❤️ As we wrap up 2024, here’s a quick look back and an exciting peek ahead! This year, we dove into incredible topics like ECS, Physics, Jobs, ComputeShaders, and more. Thank you for being part of this journey! :saluting_face: Looking forward to 2025: Projects: - Universe Architect: A sandbox/Idle Tycoon hybrid. - Tower Defense: Built entirely with ECS in our spare...
BlobAssets and ScriptableObjects in action! - Collectibles in Unity ECS
มุมมอง 1.1K28 วันที่ผ่านมา
In this video we integrate ScriptableObjects with BlobAssets in Unity ECS! Level up your Unity ECS skills with this hands-on tutorial! Learn how to create dynamic collectibles using BlobAssets and ScriptableObjects. Watch as we build Gold and Bronze Coins, set up CollectibleSO, and implement essential ECS systems like PlayerDetection and CollectibleSystem. See how collectibles are detected, sco...
BlobAsset - What is it? - Theory with minimum working example - Unity ECS
มุมมอง 773หลายเดือนก่อน
BlobAssets represent immutable binary data - because all the benefit of using BlobAssets and their performance comes from the fact that the data is read-only binary. In this sense, they are a great addition when passing data, because we can rewrite data from ScriptableObject to BlobAsset. But that's not all - if we have high-order filter coefficients - or a machine learning training set, or any...
Loading Screen for Subscenes in Unity ECS
มุมมอง 7252 หลายเดือนก่อน
Learn how to implement a Loading Screen in Unity with async operations using the FREE UniTask package! We’ll dive into Scene Management, ECS SubScene loading and fade animations. Watch as the Loading Screen ties everything together! 0:00 - Introduction 0:06 - Plan on this video 0:26 - UniTask package 1:17 - LevelSystem 5:02 - SceneType 5:11 - Patreon 5:27 - LoadingScreenAnimationController 8:10...
CORRECT way to manage Scenes and Subscenes in Unity ECS
มุมมอง 8302 หลายเดือนก่อน
Today we will implement the logic of the following UI classes: NextLevelWindowController - from which we go to the next level (so ECS Subscene). GameOverWindowController - from which we will return to the Menu scene. MenuController - from which we go to the Game scene. And - of course - ECS systems like LevelSystem and extend GameOverSystem & InputSystem implementations. We will cover Loading S...
Tutorial - Compute Shader with ECS - High performance meets clean code!
มุมมอง 1.4K3 หลายเดือนก่อน
So you go to the description section, right? Great! Let me tell you a little bit about this tutorial. After learning a bit about Compute Shaders, I'm going to show you how to create a Falling sand particle effect using Compute Shaders with ECS in Unity. For the sake of simplicity, I will break it down into five steps: 1) Set up ECS scripts like DrawComponentData, DrawAuthoring and DrawSystem - ...
Compute Shader with ECS - Falling Sand shader showcase!
มุมมอง 3.2K3 หลายเดือนก่อน
New'n'Tasty special video - Compute Shaders with ECS! 🔥Thank you for your support - we have reached over 1k subscribers and are close to 1.5k! Interested in a tutorial about Compute Shaders and ECS? Let us know in the comments and we'll prepare a material about it! ❤️ Music thanks to amazing @alkakrab www.youtube.com/@alkakrab/ Really appreciate the work done by cinight - the shader examples we...
Triggers in Unity ECS - CollisionFilter, PhysicsShape
มุมมอง 1K4 หลายเดือนก่อน
In this video we dive into setting up player detection using ECS triggers in Unity. We start by creating an EndFlag sprite, adding collision filters, and setting up a NextLevel UI window that pops up when the player reaches the end of the level. ❤️ Along the way, we refactor PlayerGround into PlayerDetection, introduce NextLevelComponentData, and connect everything to a new LevelSystem that han...
How to work with UI in Unity ECS? - Localization, Events
มุมมอง 8824 หลายเดือนก่อน
The long-awaited material covering the UI and its use with Unity ECS. You are warmly invited to watch, as in addition to DOTS-related topics, there will be topics on text localization, events and more! 0:00 - Introduction 0:06 - Goal of the video 0:16 - Creating the In-game UI 3:12 - Localization Configuration 5:09 - GameOverSystem - Events part 6:32 - GameOverController - Localization part 8:1...
Collisions in Unity ECS - Dead Zone
มุมมอง 1.2K5 หลายเดือนก่อน
In this tutorial, I'll show you how to create Dead Zones that react when players enter them. You'll learn to design and apply distinct visual materials, configure collision settings, and integrate these zones into your game. I'll also extend the collision detection system to trigger specific responses, like logging messages or altering the player's state. 0:00 - Introduction 0:06 - Goal - Colli...
How to handle Camera in Unity ECS - Cinemachine, Follow Player
มุมมอง 1.3K5 หลายเดือนก่อน
Discover how to integrate Cinemachine with Unity's ECS for dynamic and smooth camera control. Learn how to create and integrate CinemachineVirtualCamera with entities and manage it (Follow Transform) with ECS for optimal performance in your game projects! 0:00 - Introduction 0:06 - Camera Follow - our goal! 0:20 - Cinemachine package 0:42 - Virtual Camera 1:38 - Remove DestroyEntity from Player...
Animations in Unity ECS - Managed Components
มุมมอง 1.3K6 หลายเดือนก่อน
Unity's ECS improves performance through a data-oriented technology stack (DOTS). Managed components, which allow reference types, are ideal for complex animation data. Implementing animations involves creating entities with Managed Components and defining systems to process them, ensuring optimal performance and scalability. While there is a slight performance difference compared to unmanaged ...
Is Player Grounded? - Jump in Unity ECS - Unsafe Code, Pointers, OverlapBox
มุมมอง 7576 หลายเดือนก่อน
In this video I'll show you how to find out if the player is grounded in Unity's Entity Component System (ECS). For implementation I used Unsafe Code, Pointers, OverlapBox, lots of fancy stuff, worth learning! 😎 Don't forget to like, comment, and subscribe for more Unity ECS tutorials! 0:00 - Introduction 0:06 - Topics covered in tutorial 0:22 - Cleanup Subscene hierarchy 0:38 - Player Physics ...
Player Jump in Unity ECS
มุมมอง 8017 หลายเดือนก่อน
Player Jump in Unity ECS
Physics in Unity ECS - Rigidbody, PhysicsShape, PhysicsBody
มุมมอง 1.2K7 หลายเดือนก่อน
Physics in Unity ECS - Rigidbody, PhysicsShape, PhysicsBody
Tutorial - Bad Apple but it's a 172800 Entities in Unity ECS
มุมมอง 3.8K8 หลายเดือนก่อน
Tutorial - Bad Apple but it's a 172800 Entities in Unity ECS
Bad Apple but it's a 172800 Entities in Unity ECS
มุมมอง 3.2K8 หลายเดือนก่อน
Bad Apple but it's a 172800 Entities in Unity ECS
How to move Player in Unity ECS?
มุมมอง 1.1K9 หลายเดือนก่อน
How to move Player in Unity ECS?
How to use New Input System in Unity ECS?
มุมมอง 1.7K9 หลายเดือนก่อน
How to use New Input System in Unity ECS?
One Minute in Unity - ECS - Entity Query Refactor
มุมมอง 29910 หลายเดือนก่อน
One Minute in Unity - ECS - Entity Query Refactor
ISystem vs SystemBase differences in concepts - ECS
มุมมอง 61311 หลายเดือนก่อน
ISystem vs SystemBase differences in concepts - ECS
How to profile code in Unity ECS? - Performance Tests for Burst & Jobs
มุมมอง 31311 หลายเดือนก่อน
How to profile code in Unity ECS? - Performance Tests for Burst & Jobs
How to use Jobs in Unity ECS - JobSystem, IJobEntity, EntityCommandBuffer, ParallelWriter
มุมมอง 872ปีที่แล้ว
How to use Jobs in Unity ECS - JobSystem, IJobEntity, EntityCommandBuffer, ParallelWriter
Christmas Special - Unity ECS DevLog - Let's see what I am working on every day!
มุมมอง 189ปีที่แล้ว
Christmas Special - Unity ECS DevLog - Let's see what I am working on every day!
Thousands of DIFFERENT Sprite Renderers in Unity ECS - DynamicBuffer, IBufferElementData
มุมมอง 814ปีที่แล้ว
Thousands of DIFFERENT Sprite Renderers in Unity ECS - DynamicBuffer, IBufferElementData
It's time to move the Bullets in Unity ECS - EntityQuery, NativeArray, Dispose, LocalTransform
มุมมอง 944ปีที่แล้ว
It's time to move the Bullets in Unity ECS - EntityQuery, NativeArray, Dispose, LocalTransform
Thousands of Sprite Renderers in Unity ECS - TransformUsageFlags, SystemGroups, Instantiate
มุมมอง 1.5Kปีที่แล้ว
Thousands of Sprite Renderers in Unity ECS - TransformUsageFlags, SystemGroups, Instantiate
Let's introduce Randomization in Unity ECS! - Authoring, Baker, Aspect, ISystem
มุมมอง 953ปีที่แล้ว
Let's introduce Randomization in Unity ECS! - Authoring, Baker, Aspect, ISystem
One Minute in Unity - ECS - IComponentData #unity #ecs #tutorials
มุมมอง 636ปีที่แล้ว
One Minute in Unity - ECS - IComponentData #unity #ecs #tutorials

ความคิดเห็น

  • @vilisbo
    @vilisbo 14 วันที่ผ่านมา

    awesome! waiting for the US launch!

  • @doublewuone3172
    @doublewuone3172 14 วันที่ผ่านมา

    Looks interesting!

    • @TaleForgeStudio
      @TaleForgeStudio 14 วันที่ผ่านมา

      Glad to hear that! ❤️

  • @issatay8876
    @issatay8876 19 วันที่ผ่านมา

    good news, very excited for DI series. Wish you luck

  • @ahappyharry5177
    @ahappyharry5177 19 วันที่ผ่านมา

    I wanted to ask, why did you set up InputSystem and PlayerInputSystem separately. you can do the task in one class right? just want to know why choose that architecture ♥

    • @TaleForgeStudio
      @TaleForgeStudio 19 วันที่ผ่านมา

      In our scenario - yes, you can! However, if you want to add a mini-game like Memory, or handle some custom UI popups, or anything else to your game, you can split the responsibility to the MemoryGameInputSystem and SomeCustomInputSystem. For me, PlayerInputSystem is strictly related to the "Game" section, so - if it is more readable for you - you can call it GameInputSystem ❤️

  • @todoku1
    @todoku1 27 วันที่ผ่านมา

    Thank you!

  • @doublewuone3172
    @doublewuone3172 หลายเดือนก่อน

    Thanks for sharing knowledge, helps a lot with ECS journey

  • @turkaytandogan439
    @turkaytandogan439 หลายเดือนก่อน

    Sir thank you a lot. I have a question. Do you know how to take any entity transform from another system script ? Yours is little bit confused me. Do you know any other way ?

    • @TaleForgeStudio
      @TaleForgeStudio หลายเดือนก่อน

      In the video it is the solution for the managed components (in this case - Camera). If you have unmanaged custom components on the Entity or want to simply get LocalTransform - you can use SystemAPI.GetComponent<type>(entity) 🫡

  • @daoviettuan2002
    @daoviettuan2002 2 หลายเดือนก่อน

    Oh Good Job, I find it all last weekend. Finally I use SceneStreamingState run in OnUpdate

    • @TaleForgeStudio
      @TaleForgeStudio 2 หลายเดือนก่อน

      Thanks! 😊 And good job to you too 🫡

  • @Temasdin
    @Temasdin 2 หลายเดือนก่อน

    In my game, I have a single initial regular empty scene that does nothing but load the bootstrap (addressables) scene. After that, subsequent scene loading is done asynchronously through a unified system that can handle regular scenes, addressables scenes, and even ECS subscenes. I use addressables scenes to precisely control which resources are included in the game and when they are utilized directly in the game. However, the ECS Content Management system obviously doesn’t know anything about addressables scenes, and during the build process, it defaults to looking for all SubScene components in the regular scenes listed in the build settings. To address this, I manually specify which subscenes need to be included in the build (see IEntitySceneBuildAdditions) by extracting them from a configuration where all scenes (both addressables and subscenes) are listed. Here, I should note that with this approach, loading scenes through SubScene components placed on objects in addressables scenes will indeed work (even via WeakObjectSceneReference)! However, in my case, I want to have full control via code, through a configuration, and using my custom scene loading system. This is especially important because I load scenes in groups and can display a global progress indicator for loading all scenes (the combined progress of regular, addressables, and subscenes).

  • @daoviettuan2002
    @daoviettuan2002 2 หลายเดือนก่อน

    Good job

  • @정동우-n2x
    @정동우-n2x 2 หลายเดือนก่อน

    Cool!

    • @TaleForgeStudio
      @TaleForgeStudio 2 หลายเดือนก่อน

      Thanks! ❤️ I invite you to Discord community 😊 discord.gg/gZssNGuDdc

  • @galrose7165
    @galrose7165 2 หลายเดือนก่อน

    Why instantiate visualization on every system update?

    • @TaleForgeStudio
      @TaleForgeStudio 2 หลายเดือนก่อน

      It is instantiated only once thanks to the WithAll / WithNone EntityQuery parameters 🫡. In other words - Update method is called only once if conditions are satisfied Without state.RequireForUpdate(query) - it will be executed many times.

  • @TrentSterling
    @TrentSterling 3 หลายเดือนก่อน

    Seriously solid intro to compute shaders and ECS. I plan to follow along at some point, as this is the kind of project I've always wanted to try.

    • @TaleForgeStudio
      @TaleForgeStudio 3 หลายเดือนก่อน

      Thanks! Really appreciate your comment ❤️

    • @TaleForgeStudio
      @TaleForgeStudio 3 หลายเดือนก่อน

      Also, I will be more than happy if you join the Discord community: discord.gg/gZssNGuDdc

  • @daoviettuan2002
    @daoviettuan2002 3 หลายเดือนก่อน

    Your video save my life. Tks so much.❤

    • @TaleForgeStudio
      @TaleForgeStudio 3 หลายเดือนก่อน

      I'm so glad to hear that! 😊

    • @TaleForgeStudio
      @TaleForgeStudio 3 หลายเดือนก่อน

      Also I will be glad if you join us on Discord: discord.gg/gZssNGuDdc

  • @ЕгорКрасоченко
    @ЕгорКрасоченко 3 หลายเดือนก่อน

    Can’t wait to see the tutorial

    • @TaleForgeStudio
      @TaleForgeStudio 3 หลายเดือนก่อน

      I am in the process of creation, already edited 20 minutes, should also be ready for next weekend 🥳

    • @TaleForgeStudio
      @TaleForgeStudio 3 หลายเดือนก่อน

      The tutorial is ready, so let's dive in ❤️ Also let me invite you to join Discord community: discord.gg/gZssNGuDdc

  • @xmrfinlandx8110
    @xmrfinlandx8110 3 หลายเดือนก่อน

    It looks absolutely incredible. I've always been curious to learn how games like Noita work, where probably every pixel has physics and can be destroyed

    • @TaleForgeStudio
      @TaleForgeStudio 3 หลายเดือนก่อน

      Couldn't agree more! Thanks mate 🎉

    • @TaleForgeStudio
      @TaleForgeStudio 3 หลายเดือนก่อน

      I warmly invite you to join our Discord community: discord.gg/gZssNGuDdc

  • @subject478
    @subject478 4 หลายเดือนก่อน

    Where can I download that project? Post it to us. 😢

    • @TaleForgeStudio
      @TaleForgeStudio 4 หลายเดือนก่อน

      Hi Subject478, All the content we create on TH-cam - is available for free in the form of tutorials. In return, for those who appreciate our hard work and support us financially - as a token of gratitude - we offer - as part of our support on Patreon (Tier 2) - additional content - including the ability to download the entire project. If you are interested in supporting us in such a way - I have provided a link on Patreon: patreon.com/TaleForge A small note: Since preparing tutorials does not pay off in any way (unfortunately, such are the realities of creating videos as a small content creator), we have adopted the strategy that for the backers we provide various materials - from the project code to other useful Utils. This is always an incentive for us to keep going, and we appreciate any support we get 😊 Our dream is that one day we could make a living out of creating tutorials - who knows, maybe we can achieve that? We are of good thoughts! And then we would also be able to focus only on that = more content❤️

  • @mikolajo
    @mikolajo 4 หลายเดือนก่อน

    Your video subjects flow is on point, each one feels like continuation, which makes it feel like concise series, thank you for these, keep improving on your english, it becomes better 🔥

    • @TaleForgeStudio
      @TaleForgeStudio 4 หลายเดือนก่อน

      Thanks a lot for your feedback, glad you are with us ❤️

  • @adrianprzybylski8221
    @adrianprzybylski8221 4 หลายเดือนก่อน

    Very good!

  • @mikolajo
    @mikolajo 4 หลายเดือนก่อน

    Very clear explanation, thanks for showing what ECS is, even when it comes to dying!

    • @TaleForgeStudio
      @TaleForgeStudio 4 หลายเดือนก่อน

      Thanks for your kind words 😊

  • @agustinpastoreburgos
    @agustinpastoreburgos 5 หลายเดือนก่อน

    This is the best ECS Course on YT!! Congratulations!!

    • @TaleForgeStudio
      @TaleForgeStudio 5 หลายเดือนก่อน

      Glad you think so! I will be more than happy if you want to join our community on the Discord ❤️ discord.gg/gZssNGuDdc

  • @ahappyharry5177
    @ahappyharry5177 5 หลายเดือนก่อน

    In my debug.log i get double logs for each button press. like if i press A i get -1 two times, and when i press D i get 1 two times. what could be causing this?

    • @TaleForgeStudio
      @TaleForgeStudio 5 หลายเดือนก่อน

      Make sure you only add the subscription to the Input event once 😊

    • @TaleForgeStudio
      @TaleForgeStudio 5 หลายเดือนก่อน

      Harry's case (after talking on Discord) - He was using Unity Netcode for ECS, so there were two worlds: client and server - so he had duplicated Debug.Logs Solution: - Use [WorldSystemFilter(WorldSystemFilterFlags.ClientSimulation)] attribute for InputSystem class, so only client instance gets Debug.Log()

  • @vilisbo
    @vilisbo 6 หลายเดือนก่อน

    wow, i needed it. right on time!

    • @TaleForgeStudio
      @TaleForgeStudio 6 หลายเดือนก่อน

      Glad it was helpful! 🥳

  • @doublewuone3172
    @doublewuone3172 6 หลายเดือนก่อน

    Solid material, great work, helps me a lot with animations

    • @TaleForgeStudio
      @TaleForgeStudio 6 หลายเดือนก่อน

      Great, thanks ❤️

  • @ahappyharry5177
    @ahappyharry5177 6 หลายเดือนก่อน

    The background object in my subscene is not being rendered by my unity camera in the main scene. Can you help me figure out why is that issue :(

    • @ahappyharry5177
      @ahappyharry5177 6 หลายเดือนก่อน

      SRP batcher is enabled .. but still i cant see background sprite in camera :/

    • @TaleForgeStudio
      @TaleForgeStudio 6 หลายเดือนก่อน

      Solved -> the problem was that the entity graphics package was incorrectly included.

  • @AndersenCastaneda
    @AndersenCastaneda 6 หลายเดือนก่อน

    Great tutorial, straight to the point.

    • @TaleForgeStudio
      @TaleForgeStudio 6 หลายเดือนก่อน

      Glad to hear that ❤️

  • @tj2g292
    @tj2g292 7 หลายเดือนก่อน

    This and the previous video were good until the aspects portion, unfortunately aspects are being deprecated.

    • @TaleForgeStudio
      @TaleForgeStudio 7 หลายเดือนก่อน

      Unfortunately, they are changing the flow a bit (Personally, I like aspects). However you can also achieve everything from video without aspects ❤️

    • @ЛариссаКарандашева
      @ЛариссаКарандашева 4 หลายเดือนก่อน

      Can you please tell. What alternative features are currently available instead of aspects?

    • @TaleForgeStudio
      @TaleForgeStudio 4 หลายเดือนก่อน

      @@ЛариссаКарандашева Currently, there is no official information regarding alternatives to Aspects. The simplest and I think the only sensible solution - although obviously inconvenient if you have several components in an Aspect - is to build Query after all required components (instead of withAspect<XyzAspect> as before). Analogously in Job. From the developers' assumption: “The long term plan was for Aspects to be used in helper methods to manipulate component data in a simpler, safer, and more stable manner.” Fortunately, helper method data manipulation can be achieved with static ECS systems - although unfortunately this requires passing components or data, and you can't reference directly as in the case of, for example, BulletSpawnerAspect (one of the first tutorials on the channel), where I reference a buffer or component directly. An example of such a static class, here acutely with ComponentData in the form of LocalTransforms: [BurstCompile] [UpdateInGroup(typeof(SimulationSystemGroup))] public partial struct MathUtilsSystem : ISystem { [BurstCompile] public static bool IsEntityInOtherEntityRadius(in LocalTransform entityLocalTransform, in LocalTransform otherEntityLocalTransform, float radius) { float distanceFromEntity = math.distancesq(entityLocalTransform.Position.xz, otherEntityLocalTransform.Position.xz); return distanceFromEntity < radius * radius; } } For new tutorials, I avoid creating new Aspects. Of the good news, according to the source: discussions.unity.com/t/dots-development-status-and-next-milestones-may-2024/946863 “Both Entities.ForEach and Aspects will remain supported in Unity 6”. I hope you find it helpful ❤

  • @khh1990
    @khh1990 7 หลายเดือนก่อน

    Well presented

    • @TaleForgeStudio
      @TaleForgeStudio 7 หลายเดือนก่อน

      Glad you think so! ❤️

  • @doublewuone3172
    @doublewuone3172 7 หลายเดือนก่อน

    Interesting topic, thanks

  • @gonderage
    @gonderage 8 หลายเดือนก่อน

    thanks for replying to my year old reddit post asking how Bad Apple!! videos get made, this is so goated

  • @Spaaace
    @Spaaace 8 หลายเดือนก่อน

    Of course, Thank you sir!

    • @TaleForgeStudio
      @TaleForgeStudio 8 หลายเดือนก่อน

      You are welcome ❤️

  • @tengun
    @tengun 8 หลายเดือนก่อน

    Too complicated for me. I just throw an apple into the air. :D

  • @doublewuone3172
    @doublewuone3172 8 หลายเดือนก่อน

    Interesting 🤔

  • @tengun
    @tengun 8 หลายเดือนก่อน

    Bad Apple (the animation) is definitely a masterpiece! I feel so nostalgic!

    • @TaleForgeStudio
      @TaleForgeStudio 8 หลายเดือนก่อน

      And tutorial is landing tomorrow ❤️

  • @JeminDEV
    @JeminDEV 8 หลายเดือนก่อน

    Subscribed!

    • @TaleForgeStudio
      @TaleForgeStudio 8 หลายเดือนก่อน

      Thanks for your support ❤️

  • @thesymboldiamonds
    @thesymboldiamonds 8 หลายเดือนก่อน

    New sub

    • @TaleForgeStudio
      @TaleForgeStudio 8 หลายเดือนก่อน

      Welcome aboard! 🍎

  • @hoangtongvu9952
    @hoangtongvu9952 8 หลายเดือนก่อน

    nice optimized, my DOTS game deltaFps ~ 30 :)) yours is stable as good as bad apple.

    • @TaleForgeStudio
      @TaleForgeStudio 8 หลายเดือนก่อน

      Thanks, keep going - you can improve your performance ❤️💪

  • @seyedmortezakamali2597
    @seyedmortezakamali2597 8 หลายเดือนก่อน

    Subscribed

  • @jarosz_
    @jarosz_ 8 หลายเดือนก่อน

    500 sub special

  • @doublewuone3172
    @doublewuone3172 8 หลายเดือนก่อน

    Look amnazing

  • @vilisbo
    @vilisbo 8 หลายเดือนก่อน

    Love that!

  • @teodor6424
    @teodor6424 8 หลายเดือนก่อน

    Wow, how climatic

    • @TaleForgeStudio
      @TaleForgeStudio 8 หลายเดือนก่อน

      Thanks! I am big fan of the Bad Apple, so it was "must have" for me ❤

  • @heroslegendstudios1658
    @heroslegendstudios1658 9 หลายเดือนก่อน

    Doesn't appear that you need to have sprite rendering code in your system, is that due to the SRP Batcher? Otherwise not sure how the sprite renderer is converted to an entity component

    • @TaleForgeStudio
      @TaleForgeStudio 9 หลายเดือนก่อน

      Sorry for the late reply, I've been busy this week. Indeed, you need SRP Batcher to render in ECS - this setting is available in the UniversalRenderPipelineAsset. If you disable SRP Batcher, you will get an error: Attempting to render a BatchRendererGroup with SRP Batcher OFF. This is not supported.

    • @heroslegendstudios1658
      @heroslegendstudios1658 9 หลายเดือนก่อน

      @@TaleForgeStudio So this may be something only available in the 3D environment and not the 2D. I don't see those options available in a 2D environment game.

    • @TaleForgeStudio
      @TaleForgeStudio 9 หลายเดือนก่อน

      @@heroslegendstudios1658 you need to have URP package and enable Static Batching for 2D or 3D environment. If you need help You can reach me out at the Discord: discord.gg/gZssNGuDdc

  • @hoangtongvu9952
    @hoangtongvu9952 9 หลายเดือนก่อน

    What are the differences between RequireForUpdate<> per component in OnCreate() and Create a Query WithAll<ComponentA, ComponentB, ...> then require that query?

    • @TaleForgeStudio
      @TaleForgeStudio 9 หลายเดือนก่อน

      Generally - if we have suppose a player: RequireForUpdate<PlayerComponentData> and RequireForUpdate <PlayerMovementComponentData> - this is equivalent to queryBuilder.WithAll<PlayerComponentData, PlayerMovementComponentData> Performance-wise most likely too, I haven't checked it in great detail, but it happens in OnCreate, towards which there is a negligible cost. However, if we have projectiles and a player, we need to do two RequireForUpdate or Query - for the reason that the player does not have a projectile, in view of which Query: queryBuilder.WithAll<SomeBulletCompData, PlayerComponentData> will be empty! Similarly, if in the Execute in Job I add a parameter "in BulletComponentData bulletCompData" where I have "in Entity player", such Job will also fail to execute (because it will not find matching entities, i.e. those that are both player and bullet). This is quite a complex topic, I hope I managed to explain it reasonably :)

    • @hoangtongvu9952
      @hoangtongvu9952 9 หลายเดือนก่อน

      @@TaleForgeStudio Thanks for your response. As i researched, if we use RequireForUpdate<Component> n times, that means we Query n times, if either of those Queries return none, OnUpdate() won't run. In the other hand, if we use EntityQuery as i said, that means we only Query once. Ex: RqForUpdate<PlayerData> RqForUpdate<BulletData> System runs correctly RqForUpdate(query) (query with all said 2 components) System won't run cause there is no entity contains both BulletData and PlayerData

    • @TaleForgeStudio
      @TaleForgeStudio 9 หลายเดือนก่อน

      @@hoangtongvu9952 Exactly. All depends from what we need. For example query WithAll<PlayerComponentData, PlayerMovementComponentData, ...> etc makes great sense, but we rather don't need Bullet AND Player in one query. If we want to query something generic, I think it is a good idea to group things like "InteractableCompData" or "DamagableCompData" etc

  • @lemetamax
    @lemetamax 9 หลายเดือนก่อน

    These short videos are really helpful! Thank you

  • @hoangtongvu9952
    @hoangtongvu9952 10 หลายเดือนก่อน

    aspect is not good enough, component in RefRO or RW can't be viewed in Aspect tab in Entity inspector, so currently it's function only for fast, simple query, not monitoring data

    • @TaleForgeStudio
      @TaleForgeStudio 9 หลายเดือนก่อน

      I checked it out and yes: - giving public makes the Component visible, but you can't highlight its data - instead, there is information about what components the aspect has - however, we don't want to expose direct public access to the RefRO/RefRW field - giving [SerializeField] also makes the RefRW/RefRO field visible, this is quite an unusual action, you have to admit So far, I have not been able to find a way to preview the fields of the Components from the Aspects tab. However, you can use the Components tab and find the IComponentData of interest there.

  • @DenysShust
    @DenysShust 10 หลายเดือนก่อน

    This is great 🎉

    • @TaleForgeStudio
      @TaleForgeStudio 10 หลายเดือนก่อน

      Thank You very much! ❤️

  • @lemetamax
    @lemetamax 10 หลายเดือนก่อน

    I pass in the required components using in and ref keywords without creating an entity query and it still works...

    • @TaleForgeStudio
      @TaleForgeStudio 10 หลายเดือนก่อน

      Indeed, you should look at: docs.unity3d.com/Packages/com.unity.entities@1.0/manual/iterating-data-ijobentity.html Chapter "Specify a Query" Remember, that manually created EntityQuery allows you to set restrictions / specify different invocation requirements in very polish way.

  • @doublewuone3172
    @doublewuone3172 10 หลายเดือนก่อน

    Ooo new video, love it

  • @sauvikmukherjee
    @sauvikmukherjee 11 หลายเดือนก่อน

    Can you animate the Sprite ?

    • @TaleForgeStudio
      @TaleForgeStudio 10 หลายเดือนก่อน

      Yes, after Input section, I would focus on the Animations!