Why is the importance of reflection probes not exposed in the HDRP?

Why? This makes it unnecessarily difficult to set up blending effects.

Importance is exposed in both the built-in and universal RP and serves a valuable purpose there. It’s not like the HDRP has somehow revolutionized the way reflection probes work that would render importance useless, it is clearly used in the exact same way as the other RPs. The only difference is that the value is inaccessible, which forces you to create reflection probes in the exact order of the importance hierarchy you’re trying to create and name the probes in a way that reflects their inaccessible importance value so you don’t lose track, and also pray that those values are actually stable and not silently reshuffled by the engine at some point.

Here is an example of a very basic use case for importance:

This oval room is a bad fit for box and sphere projected reflections. Box projection can accommodate the uneven aspect ratio of the oval but not the curved shape, while sphere projection has the exact opposite problem.

Instead you would use three or more sphere projected reflections that blend together to approximate the shape of the oval, but that would require setting the importance of the central probe higher than the outer probes so the blending is even from the center. As you can see in the video that’s not what happens though, instead one of the outer probes has the highest hidden importance value which causes the blending to be uneven depending on which direction you move along the oval.

I have read all the pages related to reflection probes in the HDRP documentation to see if there was something I missed or if importance is hidden in the additional properties, but that is not the case. I can only imagine the importance was removed because somebody thought that the weight value serves the same purpose, which is wrong.

I can get somewhat even blending if I set it to the fraction corresponding the the amount of probes, in this case 0.34, but that will result in a significantly dimmer reflection because the influence volumes of the probes only intersect partially. The result is a comletely uneven reflection which is way too dim and then suddenly becomes much brighter at the narrow intersections of the influence volumes, which looks horrible and is not at all what you would get by blending all probes with a weight of 1 and manually configured importance.

I just experimented some more with trying to get the blending right, my assumption about how importance works was wrong.

Importance is assigned to reflection probes in ascending order of creation, but that only matters as long as the probes you are blending have the exact same influence volume size. If that is not the case, the reflection probe with the larger influence volume will be blended with higher importance.

That is certainly much better than having no control over importance at all and a good default for most blending scenarios, but I would still appreciate a manual override for situations in which a smaller influence volume needs to have a higher importance.

This kind of information should really be added to the documentation so it can be looked up instead of holding developers up with aimless experimentation.

This is a very mild case, but this has happened to me with more complex issues more times than I can count. If I could make one wish for the future of Unity, it would be an overhaul of the incredibly anemic documentation of complex features. Working with the engine without constantly getting hung up on unexpected issues requires years of experience, not because it is actually difficult but because you don’t have access to the information you would need to understand what is causing the problem and instead have to deal with it through trial and error or pray that somebody in the community that has gone through that process already is willing to help you.

I would love to see a feature where users can suggest and vote on additions to the documentation which could then be integrated like a pull request, that would not even put pressure on the Unity developers themselves.

1 Like

Sorry, are you talking about this?

This is HDRP, if you can not see it, you are using maybe 2021? if that is the case, in the inspector tab, click those 3 vertical dots and select “debug” you can see that property exposed there.
In Unity 6 is already exposed

1 Like

Well, what version are you using? I really hope it’s the Unity 6 preview and not 2021.3.

I edited my previous comment, and yes in Unity 6 is already exposed

That’s great, I am relieved to see that the HDRP developers already had same the idea.

Thanks for the heads up about the debug mode in the inspector, I did not know that could expose additional properties.

1 Like