Dynamic Paint Layer shared on Linked Objects?

Hi there,

in my library file I have an asset (for example a piece of wall) which I want to react to collisions with other objects as a dynamic paint canvas. So the effects get written into the Paintmap Layer on which the material reacts via a Vertex Color node.

In my scene I import this asset via linking and this works fine. However, when I have several instances of this asset in my scene and one instance has a collision with a dynamic paint brush, all instances show the impact on their materials. They seem to share the same Paintmap Layer instance.

Is there any way to have them all their own Paintmap Layer instance? Or does that not work with linked objects?

Thanks for any hints!

Nobody has an idea about this either? :frowning:

Indeed, they do refer to same vertex color channel in same material of same mesh. And you can’t change that unless you make each instance local and each mesh data has a single user.

But if you make library overrides for each instance and bake dynamic paint caches in final .blend files, there should be a cache for dynamic paint modifier per instance. And those caches should rewritten vertex color channel differently per instance.

I now have a solution where I append (not link!) the asset object (not collection) to my scene and created several instances of this object via linking (ALT+D). They all seem to have their own cache, thus this works fine so far for me.
However, I might have later on much more complex assets reacting to DP brushes, which I wanted to link in as collections. Not sure how I will handle this later, but so far, so good.