I'm having a problem with an object using another object's material only at runtime on Note4+GearVR. Windows 7, Unity 5.0.0p2, OVR Mobile SDK 0.4.3.1. Unity Pro, Android Free.
I created a simple scene with two cubes and a quad for a gaze reticle.
CubeA has material CubeA which is a standard shader with white albedo and texture TestA.
Cube B has material CubeB which is a standard shader with white albedo and texture TestB.
Reticle is childed to LeftEyeAnchor, is a quad, has material Reticle, which is a standard shader with white albedo and texture Cross Reticle.
When playing in the editor everything runs fine. When doing a standalone windows build, everything's also fine. If I do an Android build and run on Note4 + GearVR, then CubeA shows up using the reticle material, as does the reticle object. CubeB uses the correct material.
If I change the reticle to not be a standard shader, but instead sprite/default, the problem goes away. If I do a pure Android build with no OVR integration, the problem goes away.
It's really strange. I've tried various permutations of re-creating the project and adding objects in different orders. One texture always seems to get used on multiple (but not all) objects when running on GearVR + Note4.
Further testing shows this doesn't seem to have anything to do with the reticle, per se. Just the last material I add gets used on more than one object, even if all objects have separate materials assigned. So strange.