How I Simplify Unity Development with the Façade Pattern

Поделиться
HTML-код
  • Опубликовано: 18 дек 2024

Комментарии • 28

  • @git-amend
    @git-amend  Год назад +2

    Hi everyone! The Shipyard environment in the demo scene is from the current Unity Bundle, which also includes Kronnect's Transitions and some Dungeon Mason monsters! Also, the Unity Utility repository has been updated with more Extension methods used in this video as well. Links in the description!

    • @damonfedorick
      @damonfedorick Год назад

      Any chance you need any personal low poly assets made ? I'd just upload it to sketchfab.

    • @git-amend
      @git-amend  Год назад +1

      @@damonfedorickNot at this time, but thank you! If I do in the future, I'll come back to this comment so you get a ping.

  • @lukass1604
    @lukass1604 Год назад +6

    There definitely should be more content like yours. Keep it up!

    • @git-amend
      @git-amend  Год назад

      Thank you so much! More to come!

  • @teh1archon
    @teh1archon Год назад +1

    Great video. Real world usage and example using real code, assets, and integration with other plugins is always great to see.

  • @MarushiaDark316
    @MarushiaDark316 Год назад +1

    If I understand this correctly, the Facade is basically an accessor but at a class level. So you might have a private field with a public property {get ; private set;} as its accessor. You might have private methods but then a single public method as accessor that calls each of those private methods in turn. In the same way, you have several classes that do a bunch of related things (in this case, set up post-processing) and a single Facade class that calls all those methods, but only has a few methods itself to be accessed from other sources.

    • @git-amend
      @git-amend  Год назад +1

      100% correct - The Façade pattern is indeed similar to an accessor, but it operates at a broader, class-level scale. It's like having a simplified interface to a complex system of classes, much like how an accessor provides a controlled interface to a private field.

    • @MarushiaDark316
      @MarushiaDark316 Год назад +2

      @git-amend I get what you mean by interface in this context, but was initially confused cuz I thought you'd be implementing c-sharp interfaces like IFacadeable or something.

    • @Briezar
      @Briezar Год назад +2

      basically a wrapper class

  • @Cloud-Yo
    @Cloud-Yo 9 месяцев назад

    Quick and easy...awesome. I have a suggestion, or request for a topic. I would love to learn about setting up base scenes in Unity and then loading scenes additively and how all active scenes might communicate with each other. 🤞Thanks!

    • @git-amend
      @git-amend  9 месяцев назад +1

      You are in luck, this weekend's video will be all about additive scene loading!

    • @Cloud-Yo
      @Cloud-Yo 9 месяцев назад

      @@git-amend hehrmehrgherd! Thats amazing, looking forward to it!

  • @hoshicameron
    @hoshicameron Год назад

    Please make font in the editor bigger. Thanks for your awesome tutorial.

  • @thetalesofold
    @thetalesofold 9 месяцев назад

    I have been looking for a video like this on volume. Can this also be done with the HDRP?

    • @git-amend
      @git-amend  9 месяцев назад +1

      Sure, I don't see why not.

  • @lukass1604
    @lukass1604 Год назад +1

    Can you do a video about SOLID in Unity?

    • @git-amend
      @git-amend  Год назад +1

      I've been thinking about doing a more general video about SOLID. Dependency Inversion is generally the most difficult for people to implement, so I suggest last week's video about Inversion of Control with a Service Locator, and there are 2 more videos in the works specifically about the technique of Dependency Injection... but I'll likely do an overall SOLID video as well... coming soon!

  • @nuin99
    @nuin99 Год назад

    What do you think about scriptable variables and runtime sets?

    • @git-amend
      @git-amend  Год назад +1

      Scriptable variables and runtime sets in Unity are powerful tools for managing game data and state. Both are excellent for streamlining complex game systems and improving overall game architecture. In fact, I'm a big fan of Obvious Games' SOAP tool from the Asset store which I stumbled upon a while back when I was implementing my own solution. It was everything I wanted and a bit more, so I bought it. Perhaps I'll cover those topics in the future, because I think that when used appropriately, they are very useful.

    • @nuin99
      @nuin99 Год назад

      @@git-amend yeah i really like them, ive been working on my own implementation of them, what do you think of this addition:
      Instead of just having a variable that anything can change, I have a GetVariable and a SetVariable, to make it clear what its doing, colored blue and red in the inspector.

    • @git-amend
      @git-amend  Год назад +1

      @@nuin99 That sounds like a great enhancement. I like the custom inspector touch!

  • @guillem99
    @guillem99 Год назад +1

    Is Façade the same as a wrapper?

    • @git-amend
      @git-amend  Год назад +1

      You could think of it that way, but a Façade does not necessarily need to wrap instanced objects. In this example we are keeping references inside the Façade to the systems that are added to GameObjects, but that's not always the case. For example, it might call methods on a Singleton or a static class, or publish events. It might help to think of it more as a collection of simpler methods that hide complexity.

  • @Abphaiboon
    @Abphaiboon 11 месяцев назад

    Hey! Sorry for the comment spam on your vids. I see you’re very into patterns and being able to utilize it in your projects effectively, I think you mentioned you read it in a book? Or maybe I’m losing my mind at 4:22 in the morning.
    Could I get the name of the book? Trying to further my knowledge. Thank you in advance!

    • @git-amend
      @git-amend  11 месяцев назад

      I don't know if there is one book I mention in particular, but there is one book about patterns that most people reference which is called Design Patterns - see en.wikipedia.org/wiki/Design_Patterns

    • @Abphaiboon
      @Abphaiboon 11 месяцев назад

      @@git-amend that is the one! Thank you sir.