Asset Manager “Basics”
#73366
Open
opened
No Branch/Tag Specified
main
blender-v3.6-release
temp-sculpt-dyntopo
temp-sculpt-dyntopo-hive-alloc
asset-shelf
cycles-light-linking
tmp-usd-python-mtl
brush-assets-project
blender-v2.93-release
blender-v3.3-release
universal-scene-description
node-group-operators
asset-browser-frontend-split
temp-sculpt-attr-api
blender-v3.5-release
realtime-clock
sculpt-dev
gpencil-next
bevelv2
microfacet_hair
blender-projects-basics
principled-v2
v3.3.7
v2.93.18
v3.5.1
v3.3.6
v2.93.17
v3.5.0
v2.93.16
v3.3.5
v3.3.4
v2.93.15
v2.93.14
v3.3.3
v2.93.13
v2.93.12
v3.4.1
v3.3.2
v3.4.0
v3.3.1
v2.93.11
v3.3.0
v3.2.2
v2.93.10
v3.2.1
v3.2.0
v2.83.20
v2.93.9
v3.1.2
v3.1.1
v3.1.0
v2.83.19
v2.93.8
v3.0.1
v2.93.7
v3.0.0
v2.93.6
v2.93.5
v2.83.18
v2.93.4
v2.93.3
v2.83.17
v2.93.2
v2.93.1
v2.83.16
v2.93.0
v2.83.15
v2.83.14
v2.83.13
v2.92.0
v2.83.12
v2.91.2
v2.83.10
v2.91.0
v2.83.9
v2.83.8
v2.83.7
v2.90.1
v2.83.6.1
v2.83.6
v2.90.0
v2.83.5
v2.83.4
v2.83.3
v2.83.2
v2.83.1
v2.83
v2.82a
v2.82
v2.81a
v2.81
v2.80
v2.80-rc3
v2.80-rc2
v2.80-rc1
v2.79b
v2.79a
v2.79
v2.79-rc2
v2.79-rc1
v2.78c
v2.78b
v2.78a
v2.78
v2.78-rc2
v2.78-rc1
v2.77a
v2.77
v2.77-rc2
v2.77-rc1
v2.76b
v2.76a
v2.76
v2.76-rc3
v2.76-rc2
v2.76-rc1
v2.75a
v2.75
v2.75-rc2
v2.75-rc1
v2.74
v2.74-rc4
v2.74-rc3
v2.74-rc2
v2.74-rc1
v2.73a
v2.73
v2.73-rc1
v2.72b
2.72b
v2.72a
v2.72
v2.72-rc1
v2.71
v2.71-rc2
v2.71-rc1
v2.70a
v2.70
v2.70-rc2
v2.70-rc
v2.69
v2.68a
v2.68
v2.67b
v2.67a
v2.67
v2.66a
v2.66
v2.65a
v2.65
v2.64a
v2.64
v2.63a
v2.63
v2.61
v2.60a
v2.60
v2.59
v2.58a
v2.58
v2.57b
v2.57a
v2.57
v2.56a
v2.56
v2.55
v2.54
v2.53
v2.52
v2.51
v2.50
v2.49b
v2.49a
v2.49
v2.48a
v2.48
v2.47
v2.46
v2.45
v2.44
v2.43
v2.42a
v2.42
v2.41
v2.40
v2.37a
v2.37
v2.36
v2.35a
v2.35
v2.34
v2.33a
v2.33
v2.32
v2.31a
v2.31
v2.30
v2.28c
v2.28a
v2.28
v2.27
v2.26
v2.25
Labels
Clear labels
Issues relating to security: https://wiki.blender.org/wiki/Process/Vulnerability_Reports
Apply labels
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
Eevee & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest/Import
Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest: Wayland
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Issues relating to security: https://wiki.blender.org/wiki/Process/Vulnerability_Reports
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
Eevee & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
Eevee & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest/Import
Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest: Wayland
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
Eevee & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
Milestone
Set milestone
Clear milestone
No items
No Milestone
Projects
Set Project
Clear projects
No project
Assignees
Assign users
Clear assignees
No Assignees
100 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.
No due date set.
Dependencies
No dependencies set.
Reference: blender/blender#73366
Reference in New Issue
There is no content yet.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. It CANNOT be undone. Continue?
The description was moved to the #asset_browser project description (click the tag to see it), the Milestone 1 description to #asset_browser_milestone_1.
Milestone ?: Online Repository
Here we want to be able to append assets from an online repository like the Blender Cloud, BlenderKit and similar.
There would be a Python API to register custom asset repositories as part of add-ons. The main operations would be to provide a list of assets and metadata, provide .blend with an asset to append/link into the scene, and functions to add/remove/update an asset.
Milestone ?: Usability
Once the asset manager is working for the basics and the UI can do its job, we can start to make things nice. This includes better handling of thumbnails, re-configuring the ID browser to allow for asset browsing, a nice UI widget for managing tags and tag-based filtering.
A key part of making the UX nice, is to make it effortless to drag assets into the scene. When dragging in objects & meshes, they should be able to snap to surfaces. When dragging in materials, the underlying target objects should highlight on rollover. You should be able to add multiple assets at a time.
Milestone ?: Collection Variations
Not strictly part of the asset manager since this would be a core feature of Blender also usable without the asset manager. We would like to support variations for all datablock types, but the first step could be collections (it's effectively like automatically toggling visibility on subcollections to show only one).
Once this is in the place, the asset manager will need to be modified to understand variations.
Milestone ?: Project Repositories
Up to this point the asset manager will handle only the use case of appending files from a local or online repository. The next step would be making it works also for projects.
.blender_project
file indicating that it is a project (similar to e.g..git
)The idea here is that we don't want to make many assumptions about how users might structure their project. It should be possible to simply add or remove files, reorganize project directories, and the asset browser should keep working. It will merely provide a view on the existing project structure, and functions to create links to other assets in the project. It will not introduce an alternative linking system as an earlier iteration of the asset manager design did.
This system does not preclude a studio from making an add-on that takes more control over file saving, version control, partial repository checkouts and so on. Such an add-on would likely need to integrate in various places in the Blender user interface, one of which can be the asset browser. For example it might include a custom asset repository to browse assets that are not on the artist's computer, and right before the user links an asset into the scene, download the corresponding .blend file.
But for most projects that are not e.g. feature films, the built-in project repository and automatic indexing system should already be quite powerful.
Further links:
Added subscribers: @WilliamReynish, @JulianEisel, @Ton, @dfelinto
Added subscriber: @tibicen
Amazing! :)
I would strongly suggest few thought:
Don't know if it right place for such comments, but its somwhere in between ui and implementation.
Added subscriber: @Scaredyfish
Added subscriber: @AditiaA.Pratama
Added subscriber: @einsteinchen
Added subscriber: @Pipeliner
Added subscriber: @Josephbburg
Added subscriber: @JacquesLucke
Added subscriber: @Cedch
Added subscriber: @dee909
Changed status from 'Needs Triage' to: 'Confirmed'
Added subscriber: @AndrewPeel
Added subscriber: @Constantina32
Added subscriber: @robblau
Added subscriber: @slumber
Added subscriber: @DuarteRamos
If feasible I'd request that whenever possible relative paths be used in library definitions, both in "indexes", user defined folders or paths to assets.
This helps make assets more resistant to change, so that paths don't break or require re-indexing if for example a drive letters change, or when accessing from network or different computers, assets in a removable drive, etc.
Another possibility is to store both (relative and absolute in parallel) like Inkscape currently does for external images, if one breaks the other may be used as backup.
Added subscriber: @lemenicier_julien
Added subscriber: @MaciejMorgas
Added subscriber: @MikeErwin
+1 to relative paths for local files, with full path as backup.
Added subscriber: @MichaelHermann
Added subscriber: @ChristopherArcher
Added subscriber: @xan2622
Added subscriber: @ckohl_art
I realize the design is not finalized but can we get some clarification on:
You mean to say that you would store every asset in .blend format instead of its native format? (.png, .tga, .wav, .mp3, etc.)
Or does this subsequent point mean that for, say, a folder full of brush alphas there would be a structure like bark.blend, bark.tga, scales.blend, scales.tif, star.blend, star.png, and so on?
Added subscriber: @jendrzych
Added subscriber: @brecht
@ckohl_art, I've updated the description to be more specific, hopefully that clears it up.
Andrew Peel has published an interesting video on Youtube: Asset Libraries in Blender 2 83
Added subscriber: @lbtk
Added subscriber: @shanberg
Added subscriber: @kvick
Added subscriber: @item412
Added subscriber: @johny.zlo
Added subscriber: @karmaral
Added subscriber: @RomboutVersluijs
Why is that Technical Doc link closed for the reason of "Invalid"?
Added subscriber: @kpavicic
Some parts indeed, but it seems he's more interested in building blocks. Not so much about the asset manager itself. Though his functionality he showed of the manager itself look quite solid. All those other functions in his video already exist in other addons which already ship with Blender. It feels like re-inventing the wheel if im honest
Added subscriber: @tonton
Added subscriber: @SerjMaiorov
Added subscriber: @derekbarker
That is amazing, I hope the devs take many if not all suggestions from this video
Like i said, check Blender now and there are addons which have more advanced implementation of what he is showing. THere are already 3 addons with building elements like this ; Archimesh, Archipack, JARCH viz. Check those out
Added subscriber: @Fureloka-4
Added subscriber: @LeoSch
Added subscriber: @Draxley
Added subscriber: @ZoltanFodor
Added subscriber: @AonoZan
Added subscriber: @aviggiano
Added subscriber: @OliverVillar
Added subscriber: @Nerezza
Added subscriber: @Josh.Guenther
Added subscriber: @nfguler
Added subscriber: @richeyrose
I've been thinking about assets lately, and I was wondering if they shouldn't actually be implemented entirely as it's own separate type of datablock.
An asset will actually be a datablock appendable/linkable/browsable as a folder like all others, which among other things would contain the following data/fields:
The file browser would then have this dedicated mode to browse Asset datablocks.
Added subscriber: @DirSurya
Added subscriber: @GaryRitchie
Added subscriber: @KtRN
Added subscriber: @RainerTrummer
Added subscriber: @RobertFletcher
At the moment this proposal seems to focus purely on native blender data (makes sense), It would be fantastic if this system was implemented using the Model View Controller pattern so that devs could add their own repositories via custom Python Models. and custom loading behaviour via Python Controllers.
So the View, simply renders items from the model, and perhaps allows a editor widget which facilitates custom search behaviours. When the view triggers a load event the controller takes over, interprets the item and does some work on it. (usually loading data)
This would allow studios to provide access to their existing asset management systems, or even integration with online market places via python addons.
It would also be great if the view was provided a starting
context
based on how it is opened. for exampleso it could filter its data accordingly.
Something to consider :)
Added subscriber: @Beryesa
Added subscriber: @mark.b.tomlinson
Added subscriber: @ReinhardK
Added subscriber: @jpmonroyal
Added subscriber: @Benjamin-GO
Added subscriber: @hlorus
Added subscriber: @JulianPerez
Added subscriber: @gusdleon
What would be really useful to me as someone currently having to knock together an asset manager as part of an addon to use until this is done:
How assets themselves are stored (1 per .blend, multiple assets per .blend, file structure etc.), UI etc. is all stuff that is secondary. But the above three things are really crucial and mean that if you want to do an asset manager currently you either need to store asset metadata separately as i.e. a JSON file and keep it in sync with your assets, or link all your assets in to the file which is impractical. I really hope this actually goes somewhere this time and doesn't get booted into the long grass yet again.
The meta-data will be configurable. Current plan is to make them regular custom properties.
Different asset-engines have different needs (e.g. local asset manager vs. Blender Cloud one vs feature film studio X one). They should have full control over the meta-data.
There are probably some defaults that we can have builtin support for (preview image, description, tags, author, etc).
I might actually add a new "asset" data-block type that can reference the data-block, I see some technical benefits for this. But as long as you can get the list of assets, their meta-data and the corresponding data-block reliably and efficiently, the exact way this is implemented is an implementation detail in my mind.
The actual assets will be stored in an external data-base, which may just be a folder with .blend files and a caching system (e.g. JSON file). This is outlined in above's description and in this blog post .
Other asset-engines may want a different data-base design, e.g. we know some feature film studios using SQL data-bases. This should eventually be supported.
Like said above, plan is to have some way to cache meta-data for the asset data-base. The Asset Manager will work with that mostly.
Added subscriber: @Pirazza
@JulianEisel
Thankyou. That gives me some confidence that my hacky placeholder will be easily replaceable by your proper asset manager when the time comes and I won't have programmed myself into a corner!
Added subscriber: @AlexeyPerminov
Added subscriber: @PetterLundh
Added subscriber: @Jorgensen-1
Added subscriber: @mattli911
Just a note, I'm currently experimenting with some technical design approaches that need to be evaluated still. I'm also writing a document for these that I'd like to present and discuss soon.
Added subscriber: @smramsay
Added subscriber: @filedescriptor
Removed subscriber: @johny.zlo
Added subscriber: @Phigon
Added subscriber: @jon_b
Added subscriber: @RedMser
Added subscriber: @Zeirus
Added subscriber: @Wesley-Rossi
Added subscriber: @lichtwerk
Added subscriber: @arcdipesh
Added subscriber: @neo_phi
Added subscriber: @filibis
Added subscriber: @SimplSam
Added subscriber: @mcolinp
Added subscriber: @johny.zlo
Added subscriber: @swanee
Added subscriber: @bent
Added subscriber: @MeshVoid
Added subscriber: @Peine_Perdue
Added subscriber: @WeezY
Added subscriber: @Olliver
Personally I would like to see this get merged into master as soon as its any what useable. The sooner we have anything that saves us from having to append blend files manually the better!
Gotta give credits on the design work done so far <3 Looks clean and powerful.
Added subscriber: @Kdaf
Added subscriber: @Harvester
Added subscriber: @Misaelcornell
Added subscriber: @Noto
Added subscriber: @dashie
Added subscriber: @penguinburger1
Added subscriber: @PaoloCabaleiro
Added subscriber: @CodeComedyTV
Added subscriber: @randum
Will asset manager support
custom node tree
data blocks so such add-ons asanimation nodes
orsverchok
could use to save some node trees?Could the following Python library be used to speed up thumbnails loading?
https://github.com/3dninjas/3dn-bip
https://blenderartists.org/t/blazingly-fast-preview-loads-images-of-arbitrary-size-bpy-utils-previews-drop-in-replacement/1303349
Added subscriber: @spiraloid-3
Will the asset manager support skinned armatures? I've got an armature with a skinned mesh parented inside it. when I select the armature and mark as asset, I only get the skeleton without the skinned mesh.
when I select both the armature and the mesh and mark as assets, I get them separately without the skinning connection "because of renaming".
when I put them both in a collection and mark the collection as an asset I get them together but as a collection instance without an override so I can't pose the armature.
am I missing something?
There's no such thing in Blender.
No. You get them separately, because they're two separate objects, and the assets are created as such.
Yes. Lookup Linked Rigs.
Asset Manager is an Interface/Management system. It does not functionally change anything.
Thanks for the response. I like that it's not changing anything. I am wondering how to put characters in it so that they can be added to scenes without additional setup.
(The first thing I tried was to link a rig and create a library override for it and make an asset for it)
in case anyone ever needs my fancy bendy tube for testing.
linked_bendyTube.zip)
Removed subscriber: @ZoltanFodor
Removed subscriber: @bent
Removed subscriber: @aviggiano
FYI, project update here: Asset Browser Project Update .
Any chance on seeing some basic support for geometry nodes modifiers & node groups any time soon?
Added subscriber: @Deanna
I am super excited about this new Asset Browser. I've started using it in the 3.0 Alpha and am really happy with what is already implemented. So way to go! 🎉 🎉 🎉
Added subscriber: @RobWu
Hi all,
Regarding the Project Repositories, please reconsider having a default base set of folders for a project.
It will make cleaner project setups, and it's not that hard adding extra folders to a project if needed.
Or, like with e.g. Maya or Houdini, have some kind of project manager available to change folder names, or add extra folders., before the project creation.
With a base set of folders, you can also 'direct' the app towards these folders for certain tasks, e.g. opening the 'textures' folder when you need an image for a material. Or by default rendering all images to a folder called e.g. 'renders'.
Same for caches, go into 'simulation' etc. etc.
It's not forcing users to use a certain workflow, but it makes a cleaner one when certain things are offered. It's one of my annoyances with Blender, after working with apps like Softimage, Maya, Houdini and others for years.
And I always found it odd that unpacking a blend file will create some of these folders, but by default there's no such system in place.
So again, please consider something like a default folder structure for projects.
cheers!
Along with folders, I would also like to see an asset tagging system that's independent from folders. So you can tag each asset with an unlimited amount of tags and then search entirely by these tags, for larger databases with a large variety in assets I believe management would be easier this way.
Added subscriber: @Eliot-Mack
Just to be clear, there are no folders per-se. But instead the catalog system that creates a virtual folder system to sort the assets in a hierarchical way. On top of that a tag system can be implemented for filtering too.
This is a group project now, no reason to keep me as lone assignee.
Unless there are major show stoppers requiring a big revert, the Asset Browser will make its debut in the 3.0 release. There is still a lot of work to do and we'll soon do further planning for that. But at this point I think we can reduce the priority of this basic umbrella task to Normal. Better to have individual parts of the design high priority (e.g. collection support).
Removed subscriber: @tibicen
Removed subscriber: @item412
Added subscriber: @satishgoda1
Added subscriber: @Junyi-Zhang