How do I fix directional light problem with multiple instances of prefab?

This works perfectly in the editor (mac). On the iOS device (iPad 3) it does not work correctly. I’m instantiating a simple low poly object multiple times. I’m using the mobile / diffuse shader with an opaque texture.

If I instantiate one prefab the directional lighting works correctly.

If I instantiate several the lighting dims on all objects. They are still lit but appear at 50% brightness.

I’ve tried switching the shader to an unlit variation and this works as expected. It appears related to directional lighting but, as yet, I haven’t figured out the cause.

Thanks!

I believe this is a bug. However, until Unity either a) fixes it or b) explains why this breaks I have figured out a workaround.

I created a simple script that instantiates a unique material for each instance of my prefab and sets the ‘Renderer.Material’ property with this new Material instance.

The downside is that this breaks batching. I’ll update this answer if I hear back from Unity.

See comment from zmeinaz for alternate workaround.

Update: It’s now fixed according to Unity. I assume that means it will be in the next build (> 3.5.3f3).

Update: This is still broken in 3.5.4f1 when testing on iOS device (iPad 3).

Update: This is now working in 3.5.5f2 (tested on iPad 3 / iOS 6b4).