If you have already purchased SAM, hopefully you already have some idea of its capabilities. As such, this Section is primarily intended for prospective users.
We could get into all the nitty gritty details right here, right now, but we think it’s better to get to know each other first, don't you? So, a brief overview to start, before moving on to bigger and brighter things. The Streamable Assets Manager is primarily focused on three critical tasks.
1) The conversion of existing over-bloated scenes into bite sized streamable assets (which we call Asset Chunks).
2) Managing said Asset Chunks in a way that is user and editor friendly.
3) Loading those assets dynamically in game via Asset Streaming.
The first two tasks is primarily carried out using the World Designer Tool, while the third is achieved using a combination of useful Scriptable Assets and Components.
There are several core tenants that have guided how this product has been built, which should give you a basic understanding of our design philosophy. Do you care? Probably not . . . however, we think they're worth mentioning anyway!
1) Flexibility Is Fantastic: This product, like its forbearer (The Terrain Slicing & Dynamic Loading Kit) is based on a system of flexibility, made possible via Unity's built in Component Based system. While there are a few core classes that contain a ton of code, we have strived to separate functionality out into individual components that can be interchanged in order to modify functionality.
2) Defaulting Is Delightful: All components and Scriptable Assets have default implementations which should work across a variety of different project types. These 'basic' default implementations are robust and should be all that 90% of users need, however we understand that there are many unique projects out there, and it's impossible to cover every use case. As such . . .
3) Extensibility Is Exciting: If one of the default component/assets doesn't do what you need it to do, extend the base component/asset yourself to create a custom implementation! This extensibility is made possible via the component based system, and for assets, the power of Scriptable Assets. Note, we will always strive to guide you in creating these custom components, however doing so will still require some basic (or in some cases advanced) knowledge of coding!
You will find information on creating custom components within the Chapter for the component type, under the name Custom X, where X is the name of the component type. For extensible Scriptable Assets, information can be found in the Custom X Sections (where X is the name of the Scriptable Asset) within the Scriptable Assets Chapter.