Both during asset indexing or scene search we index properties by property path. But if 2 types/components have components with the same name (width, enabled) these properties overrides themselves. There is no Type differentiator.
Also, when doing when searching we return the first match of a given property path which might not be what the user is looking for.
Potential fixes should be done in multiple parts:
- Search Proposition dialog, should only show properties relative to all types that are part of the results of the query.
- Due to the fact that we do not want to load assets, and that we do not have access to types of the component in prefab we cannot realiably implement this feature.
- When indexing Enum shouldn't use IndexPropertyStringComponent. No variation of indexing are needed.
- We need to update the Find Similar Property workflow with the component type.
- Can we try to cache the Propositions of Scene and Asset providers.
- SearchProposition should contains the Complete property path, including the component type: MeshRenderer.m_Enabled
- When indexing, we index both complete property path and short property path (wihout type)
- When searching the scene, OnPropertyFilter should check if the property name contains a type and only search in that component.
- Property values stored in the PropertyDatabase should be store with the full path, since multiple properties might have the same name and override each other).