Best practices for managing large asset bundles

Are there any established best practices for managing large asset bundles (1gb+)? Is it better to bundle them and provide offline access or download them but require the user to be online to use it?

If downloaded, does PS automatically cache the assets? Is the cache (assuming it exists) clearable?

Thanks in advance.

I don’t know if there are any established best practices (others can chime in). I don’t specifically know if PS caches what you download, but I think that boils down to what you’re downloading and how you’re doing it.

Downloading/installing your app is one of the inflection points of your funnel (if you can pardon the marketing speak). If you make downloading hard or slow, fewer people will do it. Were I in your shoes, my goal would be to make the path between installing and using the plugin as quick and easy as possible, and save downloading non-essential assets until they’re needed.

How the problem is solved specifically depends on what your content is, what you need to do with it, if it can be broken up, etc. For example, if your content is a library of things that someone might use, you can load thumbnails from the web and download full assets when they’re actually needed.

Or if you’re a brush library where everything should be accessible offline, you could progressively download the brush assets on first launch and store them in your data folder. That way you immediately show content, but you don’t block use of your plugin while a bunch of data you aren’t actually going to use right away gets downloaded.

Another consideration is whether you can reduce the size of your bundle. Obviously, you’re not going to turn 1gb into 1mb but I find that there are many places where huge bundles are the result of ignorance about compression and efficiency rather files that are inherently required to be huge.

In general, my personal policy is to always avoid transferring data that isn’t needed, whether that’s because it isn’t used (stuff a user doesn’t care about), isn’t needed right away (stuff they don’t care about now), or isn’t consumable (stuff that is larger than it is ever presented as).