Custom Properties on Collections from Asset Library not Carried Over #105008

Closed
opened 2023-02-21 08:28:06 +01:00 by Chris · 11 comments

System Information
Operating system: Windows-10-10.0.19044-SP0 64 Bits
Graphics card: NVIDIA GeForce GTX 1050 Ti/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 512.77

Blender Version
Broken: version: 3.3.3, branch: master, commit date: 2023-01-17 08:40, hash: rB8d94aeb604fa
Worked: (newest version of Blender that worked as expected)

Short description of error
Custom Property Values do not get carried over into the new file when dragging a Collection from the Asset Library.

Exact steps for others to reproduce the error

  1. Create a collection called MonkeyA
  2. Place two meshes inside, Suzanne and a Cone
  3. Add a custom property to the Collection such as Asset Name, Float, Value of 0.5
  4. Mark Collection as Asset in Outliner
  5. Save .blend file into your asset lib folder
  6. File > New > General
  7. Drag in MonkeyA from the asset library
  8. Select either the Collection Instance or Collection and check for Custom Properties

Reasoning
I imagine for any pipeline having those Custom Properties available would be quite important. For example we track the Asset Name property and not the name in the Outliner as that could be changed by the artist or simply incremented by Blender MonkeyA.001 for example.

**System Information** Operating system: Windows-10-10.0.19044-SP0 64 Bits Graphics card: NVIDIA GeForce GTX 1050 Ti/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 512.77 **Blender Version** Broken: version: 3.3.3, branch: master, commit date: 2023-01-17 08:40, hash: `rB8d94aeb604fa` Worked: (newest version of Blender that worked as expected) **Short description of error** Custom Property Values do not get carried over into the new file when dragging a Collection from the Asset Library. **Exact steps for others to reproduce the error** 1) Create a collection called `MonkeyA` 2) Place two meshes inside, `Suzanne` and a `Cone` 3) Add a custom property to the `Collection` such as `Asset Name`, `Float`, Value of `0.5` 4) `Mark Collection as Asset` in Outliner 5) Save .blend file into your asset lib folder 6) `File` > `New` > `General` 7) Drag in `MonkeyA` from the asset library 8) Select either the `Collection Instance` or `Collection` and check for `Custom Properties` **Reasoning** I imagine for any pipeline having those Custom Properties available would be quite important. For example we track the `Asset Name` property and not the name in the Outliner as that could be changed by the artist or simply incremented by Blender `MonkeyA.001` for example.
Brecht Van Lommel added the
Type
Report
Status
Needs Triage
Priority
Normal
labels 2023-02-21 11:14:55 +01:00

Have you noticed the properties themselves as being visible to assets?
image

Have you noticed the properties themselves as being visible to assets? ![image](/attachments/454d316b-c8c4-43f4-a273-4520fdf240ca)
Iliya Katushenock added
Status
Needs Information from User
and removed
Status
Needs Triage
labels 2023-02-21 12:48:51 +01:00
Author

Hi mod_moder

It would appear that this option is not avialable on the String type?

I created a float property and set it to Library Overridable and even after bringing it into a new scene and choosing Library Override > Make > Selected & Content the Custom Properties did not appear. This appears to not work on the Collection or a mesh inside a Collection.

This did work when directly marking a mesh as an Asset. Just not on a Collection.

Personally I do not need to override the values, just need to be able to read them after the object has been added to the new scene. So creating a library override would feel like an un-needed extra step.

Hi mod_moder It would appear that this option is not avialable on the `String` type? I created a float property and set it to `Library Overridable` and even after bringing it into a new scene and choosing `Library Override` > `Make` > `Selected & Content` the Custom Properties did not appear. This appears to not work on the Collection or a mesh inside a Collection. This did work when directly marking a `mesh` as an Asset. Just not on a `Collection`. Personally I do not need to override the values, just need to be able to `read` them after the object has been added to the new scene. So creating a library override would feel like an un-needed extra step.

I was told to be more strict about asking questions to developers. So since I'm not great with assets, I'll leave it at that.

I was told to be more strict about asking questions to developers. So since I'm not great with assets, I'll leave it at that.
  1. Select either the Collection Instance or Collection and check for Custom Properties

Have you double checked if you are actually inspecting the MonkeyA collection?

Since I can't select a collection referenced by an instance, I'm not sure how to replicate this step.

> 8. Select either the Collection Instance or Collection and check for Custom Properties Have you double checked if you are actually inspecting the `MonkeyA` collection? Since I can't select a collection referenced by an instance, I'm not sure how to replicate this step.
Germano Cavalcante added
Status
Needs Information from User
and removed
Status
Needs Triage
labels 2023-02-22 20:09:39 +01:00
Author

Hi Mano-wil,

I am nearly 100% sure. My 2nd and 3rd screenshots on the original ticket show me selecting both collection instance & sub-collection... whilst having the collection properties tab selected. Even with object properties tab selected I do not see any custom properties.

Is there any other way to inspect the MonkeyA collection?

Hi Mano-wil, I am nearly 100% sure. My 2nd and 3rd screenshots on the original ticket show me selecting both `collection instance` & `sub-collection`... whilst having the `collection properties` tab selected. Even with `object properties` tab selected I do not see any `custom properties`. Is there any other way to inspect the `MonkeyA` collection?

It seems there is a misunderstanding here, let's explicitly separate the collection as an outliner element and the collection as an instance-object

It seems there is a misunderstanding here, let's explicitly separate the collection as an outliner element and the collection as an instance-object
Author

Can you elaborate on what you mean by I can't select a collection referenced by an instance, I'm not sure how to replicate this step. I am simply 'opening' (clicking the triangle that points right, so it points down) the instance to reveal its child object and then selecting them like you would any other object via the outliner.

I could interrogate the obj via python, but am not sure how that would help?

import bpy

obj = bpy.data.objects["MonkeyA"]
if "Asset Name" in obj:
    print('custom prop found')
custom_prop_value = obj.get("Asset Name")
print(custom_prop_value)

This prints None

Can you elaborate on what you mean by `I can't select a collection referenced by an instance, I'm not sure how to replicate this step.` I am simply 'opening' (clicking the triangle that points right, so it points down) the instance to reveal its child object and then selecting them like you would any other object via the outliner. I could interrogate the obj via python, but am not sure how that would help? ```python import bpy obj = bpy.data.objects["MonkeyA"] if "Asset Name" in obj: print('custom prop found') custom_prop_value = obj.get("Asset Name") print(custom_prop_value) ``` This prints `None`

It appears that there may be a misunderstanding regarding the queried properties.

Based on the images provided, it seems that the properties are being queried from the Collection layer instead of the intended MonkeyA layer.

And the provided script appears to be querying properties from an object instead of the layer MonkeyA.

It may be helpful to review the documentation and clarify any confusion.

It appears that there may be a misunderstanding regarding the queried properties. Based on the images provided, it seems that the properties are being queried from the `Collection` layer instead of the intended `MonkeyA` layer. And the provided script appears to be querying properties from an object instead of the layer `MonkeyA`. It may be helpful to review the documentation and clarify any confusion.
Blender Bot added
Status
Archived
and removed
Status
Needs Information from User
labels 2023-02-28 14:28:13 +01:00
Author

I have taken the exact steps I would follow normally to find the custom properties on any regular object/collection in a scene identical workflow without instanced collections. Not once did I mention layers (as you have now brought into the conversation) the only difference now is that it is an instance collection from the Asset Library.

This ticket shows that this identical workflow is not true of instanced collections, and so I would have thought that it would be considered either a bug or put as a feature request.

Is there any place where this could be discussed further, outside of projects.blender.org? Mastodon, Twitter, Discord, blenderartists.org?

I have taken the exact steps I would follow normally to find the custom properties on any regular object/collection in a scene `identical workflow` without instanced collections. Not once did I mention `layers` (as you have now brought into the conversation) the only difference now is that it is an instance collection from the Asset Library. This ticket shows that this `identical workflow` is not true of instanced collections, and so I would have thought that it would be considered either a bug or put as a feature request. Is there any place where this could be discussed further, outside of projects.blender.org? Mastodon, Twitter, Discord, blenderartists.org?

Sorry, I meant collection instead of layer.

Custom Properties of objects live in objects.
Custom Properties of collections live in collections.

You cannot access a Custom Properties of a collection on an object.

The image also shows you accessing the collection named "Collection":
image

For help using Blender, you can try one of the community websites: https://www.blender.org/community/

Sorry, I meant `collection` instead of `layer`. Custom Properties of objects live in objects. Custom Properties of collections live in collections. You cannot access a Custom Properties of a collection on an object. The image also shows you accessing the `collection` named "Collection": ![image](/attachments/b505bf69-0edd-469b-9eca-b9e63459eb18) For help using Blender, you can try one of the community websites: https://www.blender.org/community/
Author

Aha! Well isnt that interesting, and as a side note a small UI issue. The icon in the outliner is a collection icon, but it is not treated as a collection. A touch confusing

You are right though, when I go to the object tab it now lists it as MonkeyA, but again no Custom Properties.

Aha! Well isnt that interesting, and as a side note a small UI issue. The icon in the outliner is a `collection` icon, but it is not treated as a `collection`. A touch confusing You are right though, when I go to the `object` tab it now lists it as `MonkeyA`, but again no Custom Properties.
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset System
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
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
Overlay
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
Interest
Workbench
Interest: X11
Legacy
Asset Browser Project
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
No Milestone
No project
No Assignees
3 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#105008
No description provided.