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...???
Answer by nattybumppo · Mar 29, 2017 at 04:38 PM
Not sure how to solve this, but I'm dealing with the exact same problem today.
Edit:
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.
Thanks for this comment, would never have known about this! Are there other things that a build leaves out or is it just shaders?
I'm pretty sure that all assets that aren't included in Resources or referenced within the Editor are stripped out. See this:
https://forum.unity.com/threads/does-stripping-remove-unused-assets.157852/
Your answer
Follow this Question
Related Questions
Unable to run built VR/XR EXE 0 Answers
Variable hoverSphereTransform of SteamVR is not assigned 0 Answers
drag/rotate objects with steam vr ,Dragging/Rotating an object with VR controller 1 Answer
No GearVR in My app, But it always start GearVR when I start my app! 0 Answers
How to "click" an object using SteamVR Laser Pointer 0 Answers