Unity3D Scriptable Object Architecture (Free Asset Review)

preview_player
Показать описание
In this tutorial we take a quick look at the ScriptableObject Architecture asset by Everland Games. It's a great free, open source asset available via the Unity Asset Store that allows you to quickly and easily adopt the ScriptableObject architecture described by Ryan Hipple in his Unite Talk.

---

Learn Unity and game development with experienced indie game developers. Subscribe for tutorials, devlogs, and gamedev advice uploaded weekly.

Рекомендации по теме
Комментарии
Автор

This is awesome, thank you Matt! I would not have found this asset if it wasn't for you. I have implemented my own version of "The Ryan Hipple style", by adding an OnChange event to each reference - this is kind of like DataBinding in MVVM, which allows me to have UI components "bind" to a specific reference and get updated automatically when the value of the reference changes.

EtienneCowley
Автор

Thanks!, great video on a topic (I recall commenting on with you) on Twitter. Finding your videos very good and informative, btw. Per what you mentioned in the video, I'd also rolled my own version of this architecture (passing parms via SO events, Int/Float reference SOs, etc.) a while back after the great Ryan Hipple (Unite 2017 talk). It's great to see that someone has packaged up that into a reusable and free asset so definitely going to check it out. per comments below.. also agree you have to be careful not to overuse as the one aspect I don't like so much is they can quickly get 'cluttery'.

RodEllison
Автор

Great video. Please do more! This is a great pattern with lots of uses. It's not the solution for everything, but can be really helpful for a lot of things.
I love the SoA asset, the the docs on it are pretty useless. I left a pretty bad review on the asset because of that. With more videos like this though, I could see it being incredibly useful

TheJonBrant
Автор

Thank you for sharing this Scriptable Objects asset! This will actually save me from copy and paste the files from Ryan Hipple's talk into my project by simply importing it from the asset store. Thanks a lot!

yuan
Автор

Thanks Matt, very interesting. We'll definitely give it a try!

TNTCProject
Автор

Great content. I've learned a lot from this channel. Also, when I watch your videos I always feel like I'm looking at my father's face when he's upset about something but perfectly calm..it's freaky haha

KiloKilo
Автор

I'm a bit late to this game but I'm curious how this compares/contrasts to your very helpful series on SOs and the tanks? I guess what I'm asking is mostly about the delegate pattern. It's not clear to me how to implement that with this asset. I'm trying to make a bit of a layered ai and believe it would be crucial to use the delegate pattern. FYI: the project for the older unity tanks tutorial is not available anymore. Is this because there is a newer approach or more of an IP issue? Thank you!

CasaSoy
Автор

Hey Mat! Just found this asset (really interested in learning effective patterns) and was truly happy to find that you had something to say. I love your videos. It’s been five months - are you still using it and if so, would you mind giving a more in depth (re)view?

itsnotthatsimple
Автор

Primitive type parameters are nice but would be even better if we could make our own EventParameter objects. :P

ZoidbergForPresident
Автор

I have run into this problem several times and I always give up, but maybe you can help me. I was used to the old way of just making a quick event system with a couple types and that's it, but this asset seems way more complete, only I have a problem.
How do I raise a boolevent that I've created?

From a script, I make a variable for it but it doesn't work like a gameevent, I can't just type "BoolGameEvent.Raise(true); or whatever, it doesn't have a Raise method, and on the inspector it shows like, an event listener window of sorts. Can you help me please?

kenshokram
Автор

Hey Matt! I love the talks Ryan and Richard gave about Scriptable Objects and have been using this approach via the Unity Atoms package. It was like, the predecessor to this essentially.
The only thing I didn't like was if I had an object listening to to multiple events it would really fill up the inspector.
Did you or have you tried creating some class or editor that holds all of the events in one place instead of having them scattered throughout the monobehavior?
I would love to hear how you tackled this. I love this approach and that was really the only problem I had with this system.
Thanks Matt!
Btw, I got my first programming job taking this approach so thanks Ryan and Richard ;)

tommallama
Автор

I like this architecture. I've also used a similar framework, Unity Atoms, which is great as well. It includes a few more features like a finite state machine, collections, and lists. If you could review that as well, it would be great.
Relevant urls:

roblovelett
Автор

It is a good thinking about pros and cons when it comes to use scriptableobject. What about saving and using them in your build?

CyrilTRIOU
Автор

Have you or anyone else been able to properly apply this asset and the custom reference types alongside Bolt? I was hoping to use Bolt for the state flow and have the references update the logic.

Solanaceously
Автор

Hey Matt, how would you go about making this event system work in unity's new bolt visual scripting solution?

BridinMachinima
Автор

This is very cool, thanks for showing this Matt, you might actually enjoy tinkering with this: Open Unity Scriptable Library (OUSL), Also OSS.
Its also a work based on the Scriptable Architecture, modular, clean and extensible.
(keep in mind the dependencies, OUAttributes, and OUTools)
Sorry I made it for myself, so no documentation nor examples, only OUAttributes has examples, but just right click/create/ and explore
These are all made to be installed using the Package manager, to keep things even cleaner.

willycampos
Автор

Thank you for providing me with good information.
I have a question.
Of course, it may not be appropriate to ask you about the bugs in the asset, but I am curious about your experience in using it.
(I want to know what environment you are using.)
I am currently using the latest Asset version 1.7.0 and Unity 2019 LTS.
I followed the Base Tutorial process of Github, which is linked.
I have a problem where the event does not occur properly.

The issue was opened in June last year, but seems to have not improved since April last year when version 1.7.0 was released.

q1) If you're not experiencing the same problem, what environment are you in?
q2) What is the appropriate approach to solving the problem in these situations? Should I get the old version (1.6.4) and use it? Is there any other issue?

Thank you for always providing good information.

이서연-yd
Автор

Have you looked at Unity Atoms? It's another popular implementation of Ryan Hipple's talk from Unite 2017 into Unity :

Norivee
Автор

How to code like you?
Can you make a tutorial about that?

mohamedhazeem
Автор

space does not exist. the earth does not move and is a wide expanse under a vast dome firmament.

chadamitecheckoutredpillpl
join shbcf.ru