Online Assets Workshop Report

During July a workshop was held at the Blender HQ about online asset libraries. The design discussions are the first step to scope the project, which is planned to follow the Brush Assets project.

Online asset libraries

To enhance its out-of-the-box experience, Blender will come pre-configured with a remote asset library called Online Essentials, containing a selection of CC-0 assets. These assets include crucial resources like base meshes, materials and brushes, readily available to all users.

To integrate the asset system with the internet, a new type of Asset Library will be supported: Remote Asset Library. This will work similarly to the existing (Local) Asset Library system but with a few differences:

  • The library content can be downloaded on-demand and cached locally for reusability.
  • Each blend-File must be self-contained (no linking between files is supported).

Additionally, specialized asset libraries, such as content from Blender’s open movies, may be accessible on the extensions platform.

Extensions and asset libraries

How do asset libraries fit within Blender’s extension framework? Both extensions and asset libraries are pivotal in expanding Blender’s functionality, and conceptually asset libraries can be seen as a type of extension.

However, for simplicity’s sake, they will continue to be configured independently. Adding a remote asset library will be done on the Asset Library tab (to be added), while the Get Extensions tab will be reserved for Add-ons and Themes.

They will still share the same internet access policy and will also be available from the Blender Extensions Platform. The main difference there is that assets are more strictly curated while the other extensions are a purely community-organized project. This can be still a community project though.

Variants, representation and versions

An important topic for assets is variants, representation and versions. As a recap, these are example of them:

  • Variants:
    • New, old, damaged.
    • Dry, wet.
    • Red, blue.
  • Representation:
    • LOD 0, LOD 1, …
    • 1K, 2K, 4K, 8K.
  • Versions are the state of variants and representation. (v1.0.0, v1.0.1, etc).

For a simple example imagine an asset with different color variants, and different geometry resolution for different levels of detail:

Blue, orange and pink variants, with LOD 0 to LOD 1 representations.

Example variants and representations, note that not all representations are required on all the variants.
Note that not all representations are required on all the variants.

A more realistic example is a production character like Sintel:

Asset: Sintel.
Metadata: Name, Author, License, Tags, Catalog, …
Data-blocks: Damaged Lod 0, Damaged Lod 1, New Lod 0, New Lod 1.

Sintel LOD-0
Sintel LOD-0 representation
Sintel LOD-1
Sintel LOD-1 representation

The existing asset system is limited to one variant/representation/version per asset. For the online project, it will be important to revisit this, particularly with regard to representations – users shouldn’t have to download a 8K HDRI when a simple 2K JPG panorama is sufficient.

This has profound implication for asset integration in Blender, even affecting its definition.

What is an asset?

Assets were originally defined as: “An asset is a data-block with meaning.”

It’s been 4 years since then, and it’s time to revisit this definition with variants in mind: “An asset is a data-block with meaning, combined with its variants and representations.”

In this context, “meaning” refers to metadata (such as name, author, etc.), which is common to all the different variants and representation available for use.

To support this, Blender needs a way to connect different data-blocks under the same ID metadata.

Organizing Assets

Features such as tagging, advanced search, smart catalogs, and the ability to mark favorites are essential tools that can help artists navigate and use their assets more efficiently:

  • It should be simple to change the catalog, create or remove tags, for any asset, whether the asset ships with Blender, comes from a remote asset library, or belongs to the current blend-File.
  • Advanced search should be supported, with a syntax that allows for AND, OR, specifying tags, and using wildcards.
  • Search results should be saveable as smart catalogs for quick access in the Asset Shelf and Asset Browser.
  • Any asset can be marked as a favorite and will accessible in a new Favorites catalog, which will always be displayed in the Asset Shelf.

While not directly related to online assets, effectively organization is a pressing need that will only become more critical with the addition of online asset libraries.

This is a good place for the community to help, as each of these topics has its own set of “good-to-have” tasks, which may have to be postponed in order to prioritize the online features.

Deliverables

To keep track of progress and encourage community involvement, the proposed deliverables are outlined on the issue tracker. They are also listed here; please note that this list may change.

Improving asset management and experience:

  • Asset de-duplication (append & reuse) #115660
  • Metadata customization, including catalogs
  • Favorites #125432
  • Tag system improvements #125430
  • Advanced search syntax #125434
  • Asset publishing (local) #125437
  • Finish asset system refactor #122439

Online asset libraries:

  • Remote Asset Library (simple) #125597
  • Remote Asset Library (advanced) #125600
  • External thumbnails #125598
  • Online essentials asset library content creation
  • Authorized access (for commercial/private remote asset libraries)

Targets that still need a better definition:

  • Asset representations
  • Asset variations
  • Python hooks
  • Online publishing
  • Non-data-block assets

Next Steps

As we move forward, the focus will be on refining the design, breaking down the technical requirements, and planning.

As mentioned, I hope we can also count on the community for the more approchable targets, such as the asset experience deliverables. If you want to help, be sure to reach out in the #asset-project chat channel.

Support the Future of Blender

Donate to Blender by joining the Development Fund to support the Blender Foundation’s work on core development, maintenance, and new releases.

Results from Google Summer of Code 2024
VSE Workshop: August 2024
Online Assets Workshop Report
EEVEE Next Generation in Blender 4.2 LTS