Does BGE support materials linked to objects (as opposed to object data)?

I already posted this on Google plus but no one seems to know, so I’ll try to keep this as short as possible again.

So I’m in blender (tested in different recent builds and always get the same result)

Change render to Bender Game > create any object > link material to object (as opposed to object data) > apply new material > create linked duplicate object (Alt+D) > apply new material to it > change material color just to help distinguish (now both objects share the same mesh data but different colors) > start game engine § > Now both objects use the material of the original > end game engine materials are different again.

Anyone now why? Bug? Feature? Does the game engine not support materials linked to object? Any advice on how to use different materials on same geometry without duplicating the mesh data?

Any help in this would be greatly appreciated. Thanks in advance.

What do you mean with “link material to object”?

As far as I know materials are assigned to meshes and meshes are assigned to objects. It seems you know of a different method. How you did it?

When a mesh object is selected, if a material is applied to it, in the materials panel, right at the top next to the “material datablock selector” (where you pick the materials) and to the right of the “use nodes” button there is a pulldown menu where you can select one of two options: “Object” or “Data”
These determine whether the material is linked to the object itself or the object mesh data being used.

If it is linked to the object data, if you recycle the same mesh data in a different object, material IDs will be the same and so will the materials applied. If you change the material used by one of the IDs, it will change it also in all the users of the that same object data.
On the other hand, if you choose the option “Link material to object”, you may reuse the same mesh data, but apply different materials to the IDs for every different user of the same mesh.

This may help:
These two objects share the same data but have different materials applied to them.
Also in blender Preferences>Editing you can select weather by default materials are linked to object or data


With blender in the game engine mode, under the materials tab, in the options tab there is an option for object color, could this be what your looking for? here’s a pic:


Thanks kevincorrigan, I had never seen that option, but what that seems to do is mix/blend the current material colors with the object color.
The materials still seem to get overridden by the original object’s materials at game engine start, unfortunately.

Cool, I learned something new. Thanks for that.

Maybe the bge does not support linking materials to objects. I guess this was implemented for the Renderer only. I have no idea if that even fits into the BGE’s internal architecture.

Yup, I’ve thought about that too, but it is a shame if you have to duplicate mesh data just to have some color variations on your game assets.
I will file a bug report and see what comes of it, maybe if a developer or someone who understands blender internal workings looks at it will be able to tell if it is a bug or a feature.
Thanks everyone.