TextMeshDOTS icon indicating copy to clipboard operation
TextMeshDOTS copied to clipboard

HDRP) A BatchDrawCommand is using the pass "<Unnamed Pass 0>" from the shader "Hidden/Shader Graph/FallbackError" which does not define a DOTS_INSTANCING_ON variant.

Open dhtpdud opened this issue 9 months ago • 2 comments

When import Image

and After when Play Image

A BatchDrawCommand is using the pass "<Unnamed Pass 0>" from the shader "Hidden/Shader Graph/FallbackError" which does not define a DOTS_INSTANCING_ON variant. This is not supported when rendering with a BatchRendererGroup (or Entities Graphics). MaterialID: 6 ("SDF-URP(Clone)"), MeshID: 1 ("TextBackendMesh"), BatchID: 1.

A BatchDrawCommand is using the pass "<Unnamed Pass 0>" from the shader "Hidden/Shader Graph/FallbackError" which does not define a DOTS_INSTANCING_ON variant. This is not supported when rendering with a BatchRendererGroup (or Entities Graphics). MaterialID: 7 ("SDF-URP(Clone)"), MeshID: 1 ("TextBackendMesh"), BatchID: 1.

System.IndexOutOfRangeException: Index 0 is out of range in FixedString128Bytes of '0' Length. This Exception was thrown from a job compiled with Burst, which has limited exception support. 0x00007ffa98002afe (Unity) burst_abort 0x00007ffa23fc672e (602df934f4e9b89c3bcf8b870562724) burst_Abort_Trampoline 0x00007ffa23faeb3c (602df934f4e9b89c3bcf8b870562724) TextMeshDOTS.RichText.RichTextParser.GetTag (at C:/UnityProject/HDRPTest/Library/PackageCache/com.unity.burst@7a907cf5a459/.Runtime/Library/PackageCache/com.textmeshdots@e2606af25bb7/Internal/RichText/RichTextParser.cs:73) 0x00007ffa23fb168f (602df934f4e9b89c3bcf8b870562724) TextMeshDOTS.TextProcessing.ExtractTagsJob.Execute (at C:/UnityProject/HDRPTest/Library/PackageCache/com.unity.burst@7a907cf5a459/.Runtime/Library/PackageCache/com.textmeshdots@e2606af25bb7/Systems/TextProcessing/Jobs/ExtractXMLTagsJob.cs:44) 0x00007ffa23fb2dc5 (602df934f4e9b89c3bcf8b870562724) Unity.Entities.JobChunkExtensions.JobChunkProducer`1<TextMeshDOTS.TextProcessing.ExtractTagsJob>.ExecuteInternal (at C:/UnityProject/HDRPTest/Library/PackageCache/com.unity.burst@7a907cf5a459/.Runtime/Library/PackageCache/com.unity.entities@b749ad90954b/Unity.Entities/IJobChunk.cs:399) 0x00007ffa23fac32d (602df934f4e9b89c3bcf8b870562724) 89528aa4597a32f1b419b0f07f0c0585 0x00007ffa97fff285 (Unity) ExecuteJob 0x00007ffa97fff5ae (Unity) ExecuteJobCopyData 0x00007ffa97ffbd86 (Unity) ujob_execute_job 0x00007ffa97ffaee4 (Unity) lane_guts 0x00007ffa97ffe5c9 (Unity) worker_thread_routine 0x00007ffa981f441d (Unity) Thread::RunThreadWrapper 0x00007ffb4db8259d (KERNEL32) BaseThreadInitThunk 0x00007ffb4f88af38 (ntdll) RtlUserThreadStart

HDRP Unity 6000.0.41f1 Entities 1.3.10 Entities Graphics 1.3.2 Burst 1.8.19 Unity Physics 1.3.10

It seems like it's trying to use a URP material even though this is an HDRP project. Did I do something wrong?

dhtpdud avatar Apr 14 '25 03:04 dhtpdud

To fix this, I renamed the 'SDF-HDRP' material to 'SDF-URP'.

Image

But, as you can see, black boxes are now appearing around the text.

dhtpdud avatar Apr 14 '25 04:04 dhtpdud

Thanks for reporting. Looks like 3 distinct/unrelated issues. (1) SDF-URP-debug.shader should be ignored when URP pipeline is not installed (2) in RegisterFontMaterialSystem.cs I am right now blindly always loading the URP shader https://github.com/Fribur/TextMeshDOTS/blob/e2606af25bb72a2bc876270936f422c9b0f24afa/Systems/FontManagement/RegisterFontMaterialSystem.cs#L31 --->should detect here if the project uses HDRP or URP and load respective material and (3) an issue with the HDRP material. As for (3), could you please try to set the material properties to "transparent"? This should actually be set to "transparent": did you change it? I am setting those shader properties via RegisterFontMaterialSystem.cs, but may need to customize for HDRP.

Image

Fribur avatar Apr 14 '25 14:04 Fribur