How I Simplify Unity Development with the Façade Pattern

  Рет қаралды 6,613

git-amend

git-amend

Күн бұрын

Пікірлер: 28
@git-amend
@git-amend 11 ай бұрын
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 11 ай бұрын
Any chance you need any personal low poly assets made ? I'd just upload it to sketchfab.
@git-amend
@git-amend 11 ай бұрын
@@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 11 ай бұрын
There definitely should be more content like yours. Keep it up!
@git-amend
@git-amend 11 ай бұрын
Thank you so much! More to come!
@teh1archon
@teh1archon 11 ай бұрын
Great video. Real world usage and example using real code, assets, and integration with other plugins is always great to see.
@git-amend
@git-amend 11 ай бұрын
Much appreciated!
@MarushiaDark316
@MarushiaDark316 11 ай бұрын
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 11 ай бұрын
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 11 ай бұрын
@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 11 ай бұрын
basically a wrapper class
@hoshicameron
@hoshicameron 11 ай бұрын
Please make font in the editor bigger. Thanks for your awesome tutorial.
@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 ай бұрын
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!
@thetalesofold
@thetalesofold 8 ай бұрын
I have been looking for a video like this on volume. Can this also be done with the HDRP?
@git-amend
@git-amend 8 ай бұрын
Sure, I don't see why not.
@lukass1604
@lukass1604 11 ай бұрын
Can you do a video about SOLID in Unity?
@git-amend
@git-amend 11 ай бұрын
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!
@Abphaiboon
@Abphaiboon 10 ай бұрын
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 10 ай бұрын
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 10 ай бұрын
@@git-amend that is the one! Thank you sir.
@nuin9937
@nuin9937 11 ай бұрын
What do you think about scriptable variables and runtime sets?
@git-amend
@git-amend 11 ай бұрын
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.
@nuin9937
@nuin9937 11 ай бұрын
@@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 11 ай бұрын
@@nuin9937 That sounds like a great enhancement. I like the custom inspector touch!
@guillem99
@guillem99 11 ай бұрын
Is Façade the same as a wrapper?
@git-amend
@git-amend 11 ай бұрын
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.
Flyweight Factory with Unity Object Pooling
11:30
git-amend
Рет қаралды 8 М.
Visitor: How I Mastered the Toughest Programming Pattern
12:59
ТВОИ РОДИТЕЛИ И ЧЕЛОВЕК ПАУК 😂#shorts
00:59
BATEK_OFFICIAL
Рет қаралды 6 МЛН
How to do MORE with the Observer Pattern
13:09
git-amend
Рет қаралды 12 М.
Code Like a Pro: Refactoring to Patterns!
25:52
git-amend
Рет қаралды 7 М.
Blender 4.3 Is Going to Be AMAZING!
14:16
Gamefromscratch
Рет қаралды 93 М.
Dear Game Developers, Stop Messing This Up!
22:19
Jonas Tyroller
Рет қаралды 732 М.
UniTask: How It Replaces Coroutines, Tasks and Awaitable
24:49
Service Locator: Inversion of Control in Unity C#
19:04
git-amend
Рет қаралды 12 М.
How I Would Start Game Development (If I Started Over)
16:59
Thomas Brush
Рет қаралды 138 М.
Better Singletons in Unity C#
14:08
git-amend
Рет қаралды 9 М.