Object vs Mesh naming and instance

So there is one thing that is quite confusing in Blender. Everyone knows that an Object is only linked to a Mesh, thats basically in every software, only Blender makes it accessible for the user. And while objects can be linked, they not really instances, inherit names etc.

Now, most people name their mesh like the object. Scripts, like Asset Creation Tools, make this very easy. And its also very useful, to know what mesh is belonging to what object. Especially on complex datasets.

Now, there is a second case, where you change the name of the mesh, but it won’t affect the objects. And that totally confuse everything. Especially as you can’t simple select all object with the same data usage when they are hidden. In other words, you need to unhide all objects of your entire scene to find the objects and then remember the visibility later and undo it. Ok thats a joke, its mad.

So, they’re two things Blender devs should do in the future. Allow us to deal with hidden objects, as we live in the outliner world now. And doing an instance object type, that is a passive instance inheriting everything from the original object, expect object transform and visibility. like collection instances basically (and no its not an option to make a collection for each object.).

However, till Blender devs doing this… maybe never… has anyone a script that can handle that? Like find all, even hidden, object with the same mesh data and being able to rename them?

Actually the devs did do this on purpose…

You can select all Objects with the same data with Select → Select Linked → Object Data… but of course not the hidden objects… because they are hidden

Sharing object data makes those objects instances of the original object… so if you want to use this in this way (and not the usual Duplicate Linked which just adds a point and number to the object name and keeps the mesh name) then you might thing about a nameing scheme and then just type in a part of this name into the outliner to find your objects and make them visible… (which is done by Duplicate Linked …)

Also this may be more manageable if you use special collections for this (duplicated) objects…

An object can also be in mutliple collections… so you can make collection of instanced object…

But maybe you want to elaborate your problem a bit more precise here…

Well, they may have thought this true, but without experience, because its stupid idea.
Meaning everything only affect visible objects. If you just think about unhiding your complete scene, just to have control over everything is totally nonsense. No app does it that way. Viewport operations happen on visible items, yes, but then invisible ones are not selected. So the case, that invisible objects are selected is a bug, or a bad concept for viewport.
In the outliner, and here all the logic breaks, objects are visible all the time, except you filter the results. Now, you can for example filter what you want, but you can’t deal with the hidden ones. For example: Selecting a hidden object in outliner means you can’t do anything with it. So its selected, but you can’t parent it, you can not even unhide it with a command!
But, because the developers where not even following there own logic, you can drag and drop them into another collection. You can even parent objects (visible ones only) to an hidden object. So maybe thats a bug then but don’t tell them please!

Use case: If you have an object with child object and you want to move it into another collection. You need to unhide all child object, because only unhidden once be affected. Then select them all and move it via collection move tool. If not, they will drop out, you don’t even see the parent child relation ship anymore. And you can only unhide them in outliner. only!
In any other 3D software, you would simple take the parent object and drop it in a new hierarchy. Done. If you think of layers its different, because layer work not in outliner. They a separate and have their own hierarchy. So mixing outliner and layers is a very bad idea. But in Blender you got no choice as the parent child hierarchy sucks completely.

Ok so much about the stupid developers. Who are really have not idea about how CG and how studios work. No absolute zero. They should however swallow there pride and talk with some TDs. Hard talk yes, as they probably have to rewrite huge parts of the software then.

Anyway, thats not the important thing. I had an idea how to script what I need, its just turning out, that even scripts have a hard deal unhiding a selection of objects. If anyone knows how, welcome.

Bug is when something does not work as it was supposed to. This is a feature, whether you like it or not :person_shrugging:
And calling the devs stupid just because you don’t like how something works will not make you any allies here. You have all the power to propose a solution and even :gasp: write the functionality to your taste.

Well, here we can have children in their own separate collections - can be quite handy for locking selection and hiding.

Not necessarily. If you work with objects and data directly, instead of using bpy.ops, you don’t have to worry about selecting/un-hiding anything.

So wht are you hidding them in the forst place if you want to work with them…

If this is so dumb… then just buy a smarter app…


Thats a level, that makes every serious 3D artist just run away. You should earn badge for that. Something like Total nonsense post or the month.

That’s the weird thing about opinions… there are actually over 8 053 249 729 of them…

That is not possible to have different objects with exact same name. And that is rather a good thing.
Same mesh can be linked to different objects.
So, renaming from mesh implies to have rules for objects.
Do renaming mesh just change body of name or suffix or prefix, or everything ?
An automatic imposed choice may messed up a convention adopted by user.

So, that implies more advanced solutions than current automatic addition of a .001 suffix for objects that have same name.
Actually, we have a very weird Batch Rename operator in Edit menu. That is only renaming one type of data, at a time. But old add-on, replaced by it, was able to rename Objects and their linked data, at once.

I think that is a valid request to ask for an improvement of Batch Rename operator to do that.
I suppose it was not done, to create a simpler, easier to maintain and to deliver tool.
But default Batch Rename operator does not really cover most frequent usercase.

I prefer to use drag and drop from Context line in properties than using Batch Rename operator.

When an object is hidden in Viewport, that does not mean that is disabled in viewports.

When screen icon is disabled, there, object properties can not be edited.
When just eye icon is closed, you can select object in outliner and modify its properties in Properties Editor.
But it is true that propagating those changes to hidden selected objects is not working.
In that case, visibility restriction is too aggressive.

No. That is possible to have child and parents in different collections.
That being said that is normal to select them all in outliner, before moving them to another collection.
That is not related to their visibility status in viewport.

That is annoying that Select and Select Hierarchy operator from right click menu are not working with hidden objects to select childs.
At least, selecting with mouse pointer operator is working.
But, yes, for a hierarchy of several dozens or hundreds of objects that is frustrating.

I think that you are blaming wrong culprits.
That are not the concepts that are in cause, here.
I think that is just the execution that is needing refinement.

That makes sense when working in 3D View to bind selection and visibility and grey out feature according to what is visible and what is not. But that does not, anymore, in Properties and Outliner.
At the moment, that Outliner and Properties Editor are able to display properties of an hidden object, there is no reason to restrict actions according to visibility, there.

That is not a question of stupidity, that is just a question of having the time to do the work.
There were improvements of Outliner and Properties Editor in 2.9x series after 2.8 experiments.
Well ! Obviously, there is still work to do for 3.x series.