I am having trouble with LineRenderers and TextMesh components displaying in my Oculus Quest while using URP. Playing in the Editor, they work/look fine. When I run my app in the Oculus Quest, they aren’t there however.
LineRenderer:
I am using a custom shader for my LineRenderer Material that merely draws a colored line, found below. I am aware of XRLineRenderer but it doesn’t seem to support URP based on github issues and forum posts.
EDIT: Even switching my material to use an Universal Render Pipeline/Unlit shader (practically what I am doing), causes the LineRenderers to be visible when Playing on my laptop, and non-existent on the Quest:
Shader "Unlit/ConstLines"
{
Properties{
_Color("Main Color (A=Opacity)", Color) = (1,1,1,1)
}
SubShader{
Tags {
"Queue" = "Transparent+2"
"IgnoreProjector" = "True"
"RenderType" = "Transparent"
"RenderPipeline" = "UniversalPipeline"
}
Pass {
ZWrite Off Lighting OFF
Blend SrcAlpha OneMinusSrcAlpha
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
fixed4 _Color;
struct fragInput {
float4 pos : SV_POSITION;
};
fragInput vert(float4 pos : POSITION) {
fragInput o;
o.pos = UnityObjectToClipPos(pos);
return o;
}
fixed4 frag(fragInput v) : SV_Target{
return _Color;
}
ENDCG
}
}
}
TextMesh:
This uses the ‘Gui/3D Text Shader’ which most likely isn’t URP compliant. So that probably explains why it doesn’t show. Does TextMeshPro support URP? I am not sure, based again on forum posts (unity game engine - TextMesh Pro not compatible with LWRP - Stack Overflow). What approach are people taking to display 3D text in VR URP?
Thanks for any help. I can provide more information if necessary!