SteamVR_LaserPointer Color changes from Unity Editor to Game Build

The title kinda says it all.

I set the SteamVR_LaserPointer to be red for the right controller and blue for the left controller.

Everything looks great and works in the Play window in Unity’s Editor, but when I build the game, both the left and right SteamVR_LaserPointer 's appear as grey.

Any insights…???

Not sure how to solve this, but I’m dealing with the exact same problem today.


Ah, figured it out! @amarkham check it out:

SteamVR_LaserPointer is written in a sort of bad way–it assumes that the shader [Unlit/Color] is in your project, and applies it when the script starts. However, when you do a build, it strips out all unused shaders, so if you’re not already [Unlit/Color] somewhere in your scene, the shader won’t be found and the laser pointer won’t show up.

I fixed this by making a new Material and setting it to [Unlit/Color], and then I put the Material in Assets/Resources/. By putting into the Resources folder it assures that it’ll be included in your project and not stripped out.