Regarding Library Overrides, some notes

It would be pretty useful to have a tutorial showcasing the usage of Library Overrides.
As of now, it seems like there are zero knowledge about this feature in community-driven tutorials and no mentions of them on Blender Cloud. I use proxies pretty often, but override button is literally always grayed out for me. Having more people try the feature will increase feedback quantity as well.

1 Like

I mean that the Mesh Sequence Cache (alembic) modifier is not overridable, what @mont29 said in his answer :slight_smile:

@JuanGea but… he doesn’t say that. He just hints that this could be the case IF the Alembic modifier does something different than other modifiers when it comes to RNA.

1 Like

Just checked, settings exposed there are from the CacheFile type of ID, not modifier settings themselves, so indeed they are not (yet) overridable, will add them soon (but you will still then have to also override that cachefile data-block first).

1 Like

Thanks to the both of you for clarifying this :slight_smile:

Hello, I hope I put it in correct thread.

I have feedback regarding behavior of creating library override from Object > Relations menu.

Currently it’s follow the fashion of proxy whenever we call make library override menu, which is, it will show the list of all objects that we want to override.

2020-07-03_15-53

But whatever we choose from that list will return true and recursively create the exact hierarchy as original (which is expected).

My question/feature request is can we bypass choosing any object for library override? Or maybe we can have like override all and override from selected

Thank you.

I think, based on what @mont29 said, that all this UX will be re-designed and vastly improved, right now it’s a bit user un-friendly :slight_smile:

1 Like

If I understand your answer correctly, material overrides should be possible. Our use case is this: link an object and link a material from a ‘shader library file’. Then override the assigned material of the object with the one from the shader library.
You can do this, but – as @JuanGea mentions – when you reload the file it’s gone. Both the object and the object data are overridden. And I also tried to assign the material to the object, but to no avail. I tried in the latest build bot build.

Can you confirm this is not working yet? Or I am doing something wrong?

With current master, if you override the object and assign material to the object and select a new material for an existing slot, it should work.
Same if you also override the obdata and assign material to obdata and select a new material for an existing slot there.

Adding new slots won’t work though, and material properties themselves are mostly non-overridable currently.

1 Like

If overriding the whole material is possible, then it’s great news, because that means that we can make the actual material local and completely modify it as a whole new material, that’s a solution for the time being until a more complete solution is implemented :slight_smile:

Thanks for your quick reply. Unfortunately what you describe doesn’t work for me. I can select a new material for an existing slot, but it’s lost when you re-open the file. I have both the object and object data ‘overridden’.

Tested with this version: https://builder.blender.org/download/blender-2.92.0-ef5d6e9c457a-linux64.tar.xz

That was my experience too, are you trying today’s buildbot to see if something changed?

Just tried again in the latest build of 2.92 alpha (https://builder.blender.org/download/blender-2.92.0-165b4f85ec23-linux64.tar.xz), still the same problem. The material assignment override doesn’t ‘stick’.

1 Like

@mont29 should this be considered a bug since what you described is not working as expected?

Yes please create a report then, with all necessary info and data to reproduce.

@mont29 said and done :slight_smile:

https://developer.blender.org/T82033

I hope this can be fixed before 2.91 release :slight_smile:

Thanks!

1 Like

Thank you both! So it does work if you link the material to the object.

While testing this a little bit further, I sometimes got inconsistent results. At some point assigning the material to the object data did actually work, but after removing and adding the library override, it stopped working again.

What gave me consistent results: only add an override to the object, not the object data. Then override the material assignment and make sure it’s linked to the object, not the object data.

2020-10-27-082706_487x320

1 Like

Hello,
seems that library overrides are getting more and more polished over time, it’s great !
However, I’m a bit stuck trying to do something :

In our actual pipeline we have a very useful feature that allow to switch assets between some lowpoly versions for fast animation and of course the original for rendering or refined animation.

Given how proxy and instances work it’s quite easy to do : in each asset’s file we have two collections (low and final) that shares the same rig. In the shots we just swap the instanced collection of an asset and the proxified rig stay the same. Allowing animation and constraints to be kept between low and final version.

Now I’m trying to recreate the same thing using overrides and of course it gets much more complicated. I can use Remap User on overridden collections but all the data from the rig( pose, constraints, anim) get lost in the process.

I’m I doing it wrong ? Is it something planned to work at some point ?

@mont29 @dfelinto can you share some advice or insights ?

I can think of at least two ways to get something like that with overrides, did some quick demonstration in this .blend file (link character_v1 or character_v2 and make an override of it).

First is just having lowres and highres sub-collections along side the rig one in your main character collection, then you decide which one to show/use with the exclude setting of the view layer.

First is having the instancing of the collection along side the rig in your main char collection, then once linked and overridden you exclude both geometry collections ‘forever’ and can chose which one to use in the empty instance.

Thanks a lot for taking time to answer @mont29 , it’s really appreciated ! I wouldn’t have thought of it but sounds clear and simple once you’ve explained it , this open the doors to many possibilities !