Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MRTK URP support for Unity 2021.3.29+ (URP 12.1.12+) #189

Open
paulio opened this issue Sep 6, 2023 · 10 comments
Open

MRTK URP support for Unity 2021.3.29+ (URP 12.1.12+) #189

paulio opened this issue Sep 6, 2023 · 10 comments
Labels
bug Something isn't working

Comments

@paulio
Copy link

paulio commented Sep 6, 2023

MRTK URP support for Unity 2021 (URP 12.1.12+)

Installing MRTK in a Unity 2021 project that is using URP incorrectly produces invisible materials. When the MRTK Standard opaque shader is applied the material is incorrectly invisible. The problem is not seen in Unity 2020 projects. The problem occurs for both MRTK v2 and v3.

To reproduce

Steps to reproduce the behavior:

  1. Create an Unity 2021 project using the URP (3D) Template
  2. Using the MRTK feature tool add the standard set of assets and the Shader examples.
  3. Use the MRTK Upgrade URP Materials tool menu (if using v2)
  4. Once the install is complete view the Shader Material examples or create a new opaque material using the MRTK Standard shader
  5. Note that you cannot see the resulting material in either the preview or when the material is applied to a mesh (e.g. a simple cube)

Expected behavior

The Shader should display the color as stipulated in the shader settings

Screenshots

Expected (from Unity 2020)
image

Unity 2021
MRTK 2
image

MRTK 3
image

Your setup (please complete the following information)

  • Unity Versions
    2021.3.29f1
    2020.3.42
  • MRTK Version
    MRTK2 2.8.3
    MRKT3 3.0.0-pre18

Target platform

  • HoloLens 2, UWP

Additional context

Add any other context about the problem here.

@Cameron-Micka
Copy link
Member

Thank you @paulio for the bug report, we will try and reproduce this. One quick question, do you see any shader compilation issues in the Standard shader's inspector? They would appear roughly here:
image

@paulio
Copy link
Author

paulio commented Sep 6, 2023

No, the only thing I noticed was something about it not being batch compatible which was further down that inspector

@Cameron-Micka
Copy link
Member

Awesome, good to know. Also if you clone this repository and open the Unity project do you see the same issue? You can show the samples via Window > Graphics Tools > Show Samples in this repo's sample project.

@paulio
Copy link
Author

paulio commented Sep 6, 2023

I can confirm the repro works... 0.6.1
image
vs. Feature Tool Install Graphics Tools v0.5.12
image

@paulio
Copy link
Author

paulio commented Sep 6, 2023

Now to understand why, and see if the fix is available (or can be applied to) MRTK2 too.

@Cameron-Micka
Copy link
Member

Interesting! @shaynie you are more knowledgeable about the feature tool than I am - do you have any ideas?

@paulio
Copy link
Author

paulio commented Sep 7, 2023

I compared the shaders and they seem exactly the same, apart from, maybe the dependency on the version of URP.

@paulio
Copy link
Author

paulio commented Sep 7, 2023

Aha, it's something to do with the URP Pipeline Asset Renderer. I copied UniversalRenderPipelineAsset & UniversalRenderPipelineAsset_Render and set them as the default in Settings URP and Settings Quality. This seems to have fixed the issue.

@paulio
Copy link
Author

paulio commented Sep 7, 2023

Found it...
image
Change needed is from Auto to Disabled

@Cameron-Micka
Copy link
Member

Great catch @paulio! Sounds like we need to add extra passes to the shader to support this: https://forum.unity.com/threads/custom-shaders-make-mesh-invisible-in-urp-2021-3-22f1-solved.1422327/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants