Freedom Coding
Freedom Coding
  • 173
  • 378 930
Unity Event Bus: Simplify Messaging 🎯
Actions and delegates are great for writing cleaner code, but they often require referencing multiple classes. What if we could decouple them further? That's exactly what the Event Bus is designed for! An Event Bus is a centralized, pub-sub messaging system that allows classes to easily subscribe, unsubscribe, or raise events.
In this Unity tutorial, I'll teach you about two types of Event Buses. First, I'll demonstrate the simplest implementation, which uses an enum to identify different events. Then, I'll show you a more advanced version that uses types, enabling quick creation of new events and passing custom data!
Advanced event bus tutorial🚀 - www.patreon.com/posts/118963517
👍 Like and 🔔Subscribe for More Unity and C# Tutorials www.youtube.com/@UClTnTUyCeSu9tN8FNNoXMRg
🌟 Support My Work and Unlock Exclusive Content! 🌟
👉 YT Membership: ua-cam.com/channels/lTnTUyCeSu9tN8FNNoXMRg.htmljoin
🌟 Patreon: www.patreon.com/FreedomCoding
🎮 Join Our Developer Community!
💬 Discord: discord.gg/JzssYyjvGu
💖 Support Me Financially
☕ PayPal, Revolut: marek.freedom.coding@gmail.com
Website - www.freedom-coding.com
Timestamps:
00:00 How Event Bus Works
01:00 Project Setup
01:30 Simple Event Bus
03:41 Using Simple Bus
04:40 Why Event Bus Is Great
05:29 Advanced Event Bus
07:53 Using Advanced Bus
09:40 Want To Learn More?
10:30 Pros & Cons
11:16 When To Use Event Bus?
Переглядів: 1 320

Відео

Compile Code Faster With Assembly Definitions || Unity Tutorial
Переглядів 1,7 тис.14 днів тому
As your Unity project grows, you will notice that it takes much more time to compile the scripts when you make some changes. This happens because even when one script in the assembly changes, all of the other scripts from that assembly need to be recompiled as well. In this Unity tutorial, I will teach you how to separate your scripts into multiple assemblies. This will greatly reduce the total...
Master Event Channels for Decoupled Code! | Unity C# Tutorial
Переглядів 1,1 тис.21 день тому
Learn how to use Unity C# event channels to enable seamless interaction between objects without tight coupling. Event channels function like classic events-allowing subscription and invocation-but in this tutorial, we take them to the next level using ScriptableObjects, generics, UnityEvents, and a custom editor. You'll discover how to create versatile event types directly within Unity, assign ...
How To Debug Android Games? Use LogCat! || Unity Tutorial
Переглядів 298Місяць тому
LogCat is a simple tool that allows you to read logs from your Android device at runtime. It is even integrated with Unity, so you can simply connect your phone to the pc and start debugging! In this tutorial, I will walk you through the entire process of installing the LogCat package, enabling USB debugging on your phone and finally debugging a mobile game. 👍 Like and 🔔Subscribe for More Unity...
Creating Custom [Required] Attribute || Unity, C#
Переглядів 441Місяць тому
Did you ever forget to assign a variable in the inspector, then tested the game, and realized that only after you got a null reference error? I am pretty sure everyone has done that. To prevent this from happening, we can create our own required attribute, so when we forget to assign a variable, it prevents us from running the game and displays a warning in the console. In this Unity and C# tut...
Unity RAM Optimization: Memory Profiler & Flyweight Pattern
Переглядів 938Місяць тому
Do your Unity games take up too much RAM? The flyweight pattern with memory profiler is a great combination of tools to help you reduce the amount of RAM your games use. The memory profiler will help you identify what is taking up the most memory in your game, so you can apply the flyweight pattern. This pattern helps you to avoid duplicates of data by storing the data that doesn't change in on...
Better Way To Debug In Unity || VS Debugger
Переглядів 4482 місяці тому
Did you know that Visual Studio has its integrated debugger that can be used with Unity? Not only will it save you a ton of time, allow you to go through the code line by line and check or set all of the variables as the game is playing but it will also allow you to get rid of all of the Debug.Logs. These capabilities make the Visual Studio's debugger the number one tool for debugging in Unity,...
What I Learned From Code Complete 2 || Write Better Code
Переглядів 5472 місяці тому
In my opinion, reading is one of the best ways to learn about new things. In this age, there are hundreds of online tutorials about coding, but only a few of them go really in-depth. The book Code Complete 2 is about 900 pages long and teaches the best construction practices. In this review-style video, I will tell you about the main topics I learned from the book. These include abstraction, en...
Many Objects Communicating? Use Mediator! || Unity Tutorial
Переглядів 9642 місяці тому
The mediator pattern is handy when you have many objects you need to control. Without the mediator, there would be many dependencies and each of the objects would need to know about each other. When using the mediator, the objects don't know about the other objects, instead, they contact the mediator, which decides what will happen and can notify the other objects. This pattern will help you to...
Use SOLID Principles To Write Solid Code || Unity Tutorial
Переглядів 8342 місяці тому
SOLID principles are often mentioned by programmers, but do you know what each of them means? I will explain to you all of the five SOLID principles on a simple example in Unity. The principles are: single-responsibility, open-closed, Liskov substitution, interface segregation, and dependency inversion. Using them, you will be able to write cleaner, more extensible, and maintainable code. Still...
Write Dynamic Code Using Reflection || Unity, C# Tutorial
Переглядів 7602 місяці тому
Reflection is a really powerful programming tool, which can help you to write cleaner code and mainly can save you a lot of time. It can also be used for custom Unity editor tools and will make your code much more dynamic. When working with reflection, you are typically using the typeof keyword or the GetType() function to get the type of something, so you can then call functions on the type. I...
Service Locator - The Master Of Singletons || Unity Tutorial
Переглядів 1,2 тис.3 місяці тому
The service locator is like the singleton pattern, but better. Using it, you gain centralized access to all your services, as if they were singletons, from one place. You can also register new services or swap them at runtime. All the code for the service locator we will be writing will be generic so that you can use it with any class, including MonoBehaviours. Advanced service locator with con...
Creating Finite State Machine In Unity || State Pattern
Переглядів 1,6 тис.3 місяці тому
State pattern is very useful when it comes to creating enemy or player logic, where you need to manage multiple states and the transitions between them. Still, this pattern can be used in many more scenarios, where an object or group of objects can exist in different states. Using the state pattern, we will create an expandable finite state machine for enemies. To the state machine, you will be...
The 50 Programming Terms You Should Know!
Переглядів 6603 місяці тому
Knowing programming terminology will greatly help you to communicate your thoughts with other programmers or teach them. In this video, I will teach you about the 50 not-so-common programming terms. These will include terms like pseudocode, legacy code, high and low-level languages, test-driven programming, pair programming, code tuning, dummy class, bootstrapper, hashmap, and more! 👍 Like and ...
Change Class Behavior At Runtime! || Strategy Pattern Tutorial
Переглядів 3654 місяці тому
Change Class Behavior At Runtime! || Strategy Pattern Tutorial
Reuse ANY Animation In Unity (Even Generic!)
Переглядів 1,1 тис.4 місяці тому
Reuse ANY Animation In Unity (Even Generic!)
Scalable Code With Decorator Pattern || Unity Tutorial
Переглядів 8444 місяці тому
Scalable Code With Decorator Pattern || Unity Tutorial
Better Dependency Injection For Unity - Extenject
Переглядів 1,6 тис.4 місяці тому
Better Dependency Injection For Unity - Extenject
Create Complex Objects With Ease || Factory Method
Переглядів 5805 місяців тому
Create Complex Objects With Ease || Factory Method
MVC & Command Pattern In Action!
Переглядів 1795 місяців тому
MVC & Command Pattern In Action!
Dependency Injection Is Simple & Powerful!
Переглядів 1,5 тис.5 місяців тому
Dependency Injection Is Simple & Powerful!
Make Your Games Expandable WIth Command Pattern
Переглядів 1,1 тис.5 місяців тому
Make Your Games Expandable WIth Command Pattern
Make Your Singletons Generic! || Unity, C#
Переглядів 9055 місяців тому
Make Your Singletons Generic! || Unity, C#
Write Clean Code With MVC || Unity C# Tutorial
Переглядів 2,2 тис.6 місяців тому
Write Clean Code With MVC || Unity C# Tutorial
Cinemachine Timeline & Post-Processing || Unity Tutorial
Переглядів 1 тис.6 місяців тому
Cinemachine Timeline & Post-Processing || Unity Tutorial
Perfect Camera For ANY Game - Unity CINEMACHINE
Переглядів 1,6 тис.6 місяців тому
Perfect Camera For ANY Game - Unity CINEMACHINE
Lost Fox Cub #3 || Unity Devlog
Переглядів 3157 місяців тому
Lost Fox Cub #3 || Unity Devlog
Simple Client Prediction & Reconciliation || Unity Netcode Tutorial
Переглядів 2,4 тис.7 місяців тому
Simple Client Prediction & Reconciliation || Unity Netcode Tutorial
C# & LINQ: Write Less, Do More!
Переглядів 4717 місяців тому
C# & LINQ: Write Less, Do More!
Learn About These Unity C# Features NOW!
Переглядів 7217 місяців тому
Learn About These Unity C# Features NOW!

КОМЕНТАРІ

  • @RaonCreate
    @RaonCreate День тому

    I love your content❤, please keep up the good work!!!

  • @kepper104
    @kepper104 День тому

    Omg this was so easy this whole time?! Thank you so much, if only we had this video we would have had a working game on the gamejam that was two years ago lmao

  • @mrnoone-666
    @mrnoone-666 2 дні тому

    Not an MVC as view is acting as a controller instead.

    • @freedomcoding
      @freedomcoding День тому

      A few people have already pointed this out. I am sorry for not spending more time researching how the pattern should work. I will do better next time.

  • @CJD-xm4ln
    @CJD-xm4ln 2 дні тому

    I have this package and to be honest I did not know how to use it properly now that I watched this video I am confident I was using it wrong. :/

    • @freedomcoding
      @freedomcoding День тому

      Well now you know :) It also took me quite a lot of time to figure out how to use it.

  • @youssefzakaria117
    @youssefzakaria117 2 дні тому

    Great, you are the only one who showed this, beside the manual.

  • @kadiryumlu
    @kadiryumlu 2 дні тому

    Are these Assemblies (DLLs) converted to C++ and compiled as bytecode if we choose Scripting Backend as IL2CPP. Because, you know it is easy to extract the original C# code from a built Unity game. I don't need them just for a quick compile if it will cause me some security issues.

    • @freedomcoding
      @freedomcoding День тому

      Hi, yes the assemblies are converted to C++ and then to machine code. When building with IL2CPP, it is harder to extract the code since only the machine code is included in the build. Using assemblies should not introduce any security risks.

    • @kadiryumlu
      @kadiryumlu День тому

      @@freedomcoding That's great. Thanks 👍

  • @alpacino4506
    @alpacino4506 2 дні тому

    thank you a lot

  • @catteixeira18
    @catteixeira18 3 дні тому

    You deserve way more likes, this is a very helpful video!!

    • @freedomcoding
      @freedomcoding День тому

      Glad you think so! Thanks for watching.

  • @SilenusParis
    @SilenusParis 4 дні тому

    Best tutorial on the event bus that I'v seen ! Keep it up !

  • @magickomchanell4556
    @magickomchanell4556 4 дні тому

    amazing vid!

  • @yusufduman8737
    @yusufduman8737 4 дні тому

    Thanks a lot for the video. It's really useful and answered all my questions about zenject.

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

    Don't over use this, it is a NIGHTMARE pattern to debug. imo it should not be used at all for "standard game logic" (like level up), you can use this for a notification system or something more generic. The problem you described in the beginning can simply be solved with a proper component composition approach. (also the errors are event bus error, i know its irrelative but it was funny :p)

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

      I agree that event bus is hard to debug. Still in some cases it can be very useful. Thanks for sharing your experience!

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

    i also create event bus without other class need to call the event bus. Use scriptable object, and drag n drop func on event in the same game object. Then drag n drop SO to unity event you want to execute the action. This is Absolute modular.

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

      This sounds like an event channel system. I made something similiar - ua-cam.com/video/nJkYCU8Qe8o/v-deo.html

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

    Keep up the good work man! Also Merry Christmas and Happy New Year! :)

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

      Thanks, I will! Merry Christmas and Happy New Year to you too.

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

    Do you want to learn more about event bus, add queues, priorities and IDs to your events? If so, take a look at this! - www.patreon.com/posts/118963517 I will also be intruducing channel memberships soon, so the videos for supporters will also be available here on UA-cam!

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

    FIRST COMMENT, AND I SUBSCRIBED❤

  • @ejd4r
    @ejd4r 7 днів тому

    thanks bro

  • @elyoutuberquenuncatuve
    @elyoutuberquenuncatuve 7 днів тому

    Great ty!

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

    PlayerPickup must be a model with an integer currentScore and an updateScoreEvent. The viewText should only have a text component and a method updateText(). The controller could be a game object in the scene, with one reference to PlayerPickup and one to ViewText. In the controller, you should have on start() PlayerPickup.updateScoreEvent += viewText.updateText;"... ❤

  • @m.harunakdas6970
    @m.harunakdas6970 9 днів тому

    My xcode is still has error "xxxProfile doesn't include signing certificate "Apple Development" What should I do? I made distribution certificate and editted the profile.

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

      Try to create the signing certificate once more and make sure it is of the correct type(Apple Development). I know that these certificates are pretty annoying to work with...

    • @m.harunakdas6970
      @m.harunakdas6970 7 днів тому

      @@freedomcoding Well, I think I need a developer certificate too and for that I need to register my device. But is it safe to register a VM mac device?

    • @freedomcoding
      @freedomcoding 7 днів тому

      @@m.harunakdas6970 Unfortunately, I don't remember whether you need to register your device. I don't recommend doing so, but it is up to your personal consideration. This video was mainly for learning purposes, as running MacOS on a device not made by Apple violates their terms and conditions.

  • @thepolyglotprogrammer
    @thepolyglotprogrammer 10 днів тому

    This is such a helpful video!

  • @AstralNostalgia
    @AstralNostalgia 10 днів тому

    When I go t Graphics in the "Scriptable render pipeline setting" I can not find nothhing juste (None (Render pipeline asset)" ... I need to fist create somethig? I thinkg my project is the 2D URP...

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

      Hi, you can right click in the project -> create -> rendering -> URP (or other) asset. I don't think it is necessary for Cinemachine to work, but surely you can create it.

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

      @@freedomcoding Ok thanks! I

  • @SlimShady-m2j
    @SlimShady-m2j 11 днів тому

    thnx dude

  • @baohuynh9542
    @baohuynh9542 12 днів тому

    can i use just the lobby system for other network solution like fishnet?

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

      Hi, I think it should be possible but you would need to handle the integration on your own. I don't think they are made to be used together.

  • @isjesse1
    @isjesse1 13 днів тому

    bro the amount of coding ive done to create a day and night scene and never once thought of using animation. Good thinking

  • @MaybeLoveHate
    @MaybeLoveHate 13 днів тому

    Have you tried using the CollisionEvents built into the Simulation? I can't seem to get it to work. I can get the events but having a heck of a time creating a job to do things with the events. Using raycasts is a good workaround, but was hoping to use the CollisionEvents just to see how it would work

  • @sternsascha1993
    @sternsascha1993 15 днів тому

    Hi Freedom Coding I hope you're doing well! I'm working on a game project where I have a cave and I'm trying to implement a mining mechanic similar to terraforming where the player can use a pickaxe to dig through objects (iron ore). I want the object to change shape (create a hole) rather than just be destroyed. I'm having trouble applying similar concepts to objects like walls and cave structures. Do you have any tips or advice on how I could approach this? I'd really appreciate any help you can give me. Thanks in advance.

    • @freedomcoding
      @freedomcoding 15 днів тому

      Hi, I suppose you are having problems with mining to the sides, as with my system, only mining down works. If you want to mine down, you need to modify the y position but when mining to the sides you need to modify the x or the z position. I think you could achieve this by getting the players' forward vector and adjusting the position by that amount. You may also have problems with insufficient vertex count. For instance, if you have a plane and you dig down and to the side, there would not be enough vertices to allow that (when digging cave-like structures). For that reason, you would also need to dynamically add vertices to the already existing mesh.

    • @sternsascha1993
      @sternsascha1993 12 днів тому

      @@freedomcoding Hello, thank you so much for your response! I wanted to clarify that I am not using your script or system; I’ve been trying to build my own mechanics with guidance. My goal is to create a mining mechanic for GameObjects (like a wall of ore), where the object deforms to create actual holes (like digging a pit), not just distortions. Currently, my script modifies the mesh, but instead of forming holes, it just shifts the vertices around. I am not trying to mine down like your system but instead create a more versatile mechanic that allows mining in all directions. Could you suggest a method to implement this? Are there tools or concepts I should explore to achieve this kind of realistic resource extraction? Thank you again for your time and help!

    • @freedomcoding
      @freedomcoding 12 днів тому

      @@sternsascha1993 You are welcome. I think that the only concept you need to know of is the transform.Forward. That should be enough to get you the correct direction in which the player is mining and shift the vertices in that direction.

  • @SLthenus
    @SLthenus 17 днів тому

    use event bus, you dont need to have scoremanager refference on your player class

    • @freedomcoding
      @freedomcoding 17 днів тому

      I will be working on the tutorial about event bus soon!

  • @fanaticgamer4069
    @fanaticgamer4069 17 днів тому

    wow bro you have so much knowledge at such a young age can u tell me whats ur way to learn new things

    • @freedomcoding
      @freedomcoding 17 днів тому

      Hi, I wouldnt say that the way you learn is the most important part of the process. Of course you have to experiment and find the way that suits you. It is mainly about working every day and working especially hard even when you dont feel like it. Just trust the process and continue what you are doing.

    • @fanaticgamer4069
      @fanaticgamer4069 13 днів тому

      @freedomcoding got it thanks for replying

  • @mehdibashirinejad7798
    @mehdibashirinejad7798 17 днів тому

    good morning

  • @snatvb
    @snatvb 18 днів тому

    wow, awsome, thanks!

  • @AlexanDevTheGame
    @AlexanDevTheGame 18 днів тому

    Exactly what i was looking for. Overall great content in all your videos! Best channel for good architecture and scalable game code. 💯💯💯 Please update your discord invite link and make it not expire so i can join.

    • @freedomcoding
      @freedomcoding 18 днів тому

      Thank you! That is what I am focusing on the most right now. Is it expired? I just tried it and it works allright. I am not sure about the link in the video but in the description it works.

  • @AlexanDevTheGame
    @AlexanDevTheGame 18 днів тому

    Very usefull well done!

  • @flamart9703
    @flamart9703 19 днів тому

    Wow, you're more knowledgeable about Unity scripting than me. I wish you are with me when I script my games to tell me what to do. :)

    • @freedomcoding
      @freedomcoding 18 днів тому

      Thank you! There is still a lot I can learn. Feel free to take a look at my website in case you want me to help you or do some freelance work - freedom-coding.com/

  • @adoniasmacedo8720
    @adoniasmacedo8720 19 днів тому

    I searched and your video came to me less than 5 minutes ago hahaha. Very good video!

  • @Veles017
    @Veles017 20 днів тому

    Thanks for the video!

  • @tamamlanmamis
    @tamamlanmamis 20 днів тому

    THANK YOU SO MUCH! I was struggling with implementing interpolation and the code at 01:42 saved me

  • @yashkhd1100
    @yashkhd1100 25 днів тому

    Gud video around decoupling. This concept is used in enterprise systems from ages. I'm using a kind of event system in unity from quite some time. I think generic event system should be toally decoupled from unity related stuff. There is no need to use MonoBehaviours for classes like AbstractEventListener ..it will just eat up unnecessary CPU cycles. The whole idea of event system is to do something only when someone triggers something. When you inherit from MonoBehaviour u r essentially polling 60 times a second(if 60 fps) without any need.

    • @freedomcoding
      @freedomcoding 22 дні тому

      Thank you. I know this version of event system is not the most performant but I think it could be more convenient to use for people who don't want to code everything. There are always pros and cons to different implementations of such systems.

    • @nexgen.graphics
      @nexgen.graphics 4 дні тому

      If you don't mind, could you please share your solution of event system?? Thanks in advance.

    • @freedomcoding
      @freedomcoding 4 дні тому

      @@nexgen.graphics Sure, here are the project files - github.com/Freedom-Coding/DesignPatterns_EventChannel

  • @xden1skax
    @xden1skax 26 днів тому

    Nice video. Thank you. Few questions: 1. What are the limitations of such system? 2. What would be the bottlenecks? 3. How would you archestrate multiple events like let's say taking damage and healing at the same time? It probably will not make sense to have player health = 0, then get triggered death screen, and then increase health by the last event. 4. Are the events synchronised or they processed at random? 5. Are events called all the time 100% or is there a possibility that some game objects might ignore the event (let's say if animations were too heavy). 6. Does it have some sort of buffering of the events or queueing?

    • @freedomcoding
      @freedomcoding 22 дні тому

      Hi, I am glad you liked the video. 1. There are not many limitations but as you create more events you may end up having many classes storing data specific to each event. As I mentioned in the video, decoupling is generally good but in this case, it can make debugging harder especially when you call the events in multiple places and have many functions or scripts that are dependent on the events being called. 2. Event channels should obviously not be used everywhere. If you did that, there could be performance issues since there would be many MonoBehaviours listening to the events. Using event channels too much could also slow down the development process as it involves a lot of dragging and dropping. 3. In that case, you could use the event bus. Because it is centralized you could create a queue and then invoke the events based on priority. You could also decide not to call certain events when it doesn't make sense. (Do not add health when the player is dead...) 4. The events are processed as they are called. If you call multiple events in the same frame, I am not sure if Unity can guarantee that they will be executed in the order they were added. Regarding sending information from the event to the listeners, that is random with the current implementation. Since all of the listeners are registered to their corresponding events OnEnable, we don't know which of the listeners will be called first. This could be handled by prioritizing or adding delays. 5. I think that the events should never be ignored but I didn't do any testing regarding that. 6. The current implementation doesn't allow that, but it could surely be added. It is only up to you how you want the events to execute and in which order. If you have any more questions, feel free to ask! Have a nice day.

    • @xden1skax
      @xden1skax 19 днів тому

      Thank you for your reply,​@@freedomcoding

  • @KrakenUpGames
    @KrakenUpGames 26 днів тому

    Great video! You made this really easy to understand. Thank you for sharing!

    • @freedomcoding
      @freedomcoding 25 днів тому

      Then I did my job well. Thank you for watching!

  • @massahex
    @massahex 26 днів тому

    This inventory system is trash. It is not modular or flexible at all. You should not have to reference every object in your game because the obects you start with could be automated and adding them manually wouldn't be possible if not annoying to the player.

    • @freedomcoding
      @freedomcoding 25 днів тому

      Hi, you are right. I created this inventory system a long time ago when I didn't know much about better coding practices.

  • @ReySnts
    @ReySnts 26 днів тому

    Can you make videos, about Chain of Responsibility Pattern, or about Facade Pattern, thanks.

    • @freedomcoding
      @freedomcoding 25 днів тому

      Hi, these patterns are already on my list for some time. I will get to them soon hopefully. There are many other topics I would love to cover as well.

  • @AstralNostalgia
    @AstralNostalgia 26 днів тому

    this approach is easy for Data persistent right? because at the endof the day are scriptable objetcts? Some values in other scene must persistents and other not... special for Save-System with Binary serialization....I am going to try to make a prototype with this approach to implement in my cores games.

    • @freedomcoding
      @freedomcoding 22 дні тому

      Yes, it probably could be used for a save system. I never thought about it this way. Thanks for sharing your ideas!

  • @SafarSofar
    @SafarSofar 26 днів тому

    Thank you for the info, it was really helpful🙌

  • @bakasan9424
    @bakasan9424 27 днів тому

    thank you I juste need that you are amazing

  • @Birdscolony211
    @Birdscolony211 28 днів тому

    Great tutorial ❤️ Finally Got all Answer about all my questions from this video 😮‍💨 please make more tutorials about multiplayer game dev from scratch ❤️❤️

    • @freedomcoding
      @freedomcoding 27 днів тому

      Nice! I will probably get back to multiplayer some time in the future.

  • @savalim1096
    @savalim1096 29 днів тому

    Really good tutorial, im interested in the Teams custom data to show in the lobby but how to spawn the player as a team? and play as a team like 2vs2 shooting game Except using unity matchmaker Thank you

    • @freedomcoding
      @freedomcoding 25 днів тому

      I am glad you liked it! You could make a NetworkVariable storing the team of each player. Based on that you could spawn the players together, make sure they can't damage the players in their team etc. This is certainly possible even without Matchmaker.

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

    Thanks for this amazing tutorial!

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

    Did you consider making a video on VContainer? Extenject support has been discontinuated years ago and seems the industry is tending to go to VContainer. PS: Seriously considerating on becoming supporter

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

      Hi, I will put it on my list and definitely take a look at it sometime. Zenject is still being updated or not? I am glad you like my content this much <3. Unfortunately, I haven't had much time recently to make more videos for supporters...