Rename Post Processing "Volume" Component

This is a request to rename the Volume component in the post-processing v3 stack in URP to contain a Post Process prefix in front of it. Volume by itself is a very vague name for a component. Volume solely can be related to any sort of system such as: physics, audio, space partitioning, etc. The assumption is that the name related to the post-processing stack and should contain the post-processing name somewhere in the component for better search results when trying to add component. Also there is less-likely name conflicts with custom components that also use Volume in the name. Also the script should exist under the “Rendering” section of Add Component, and should have a custom icon related to post-processing. (like the icon from V2)

Thanks!

1 Like

The Volume component is generic and used for multiple system not just post-processing. F.ex, in HDRP it’s used for Light Probe Volumes.

1 Like

To add to this, a volume means a measure of space first and thus it’s perfectly named. Audio volume is just an inaccurate reference to audio loudness and any confusion is pretty much restricted to people first starting with this stuff.

I think it’s correct as it is.

I appreciate you giving a response, but I obviously disagree that this is an acceptable name for a component that is only used for the rendering pipeline. I think that because the people working on the component only focus on rendering, they think it’s appropriate but remember the renderer is a small part of the whole engine. Imagine if every system (physics, audio, navigation, etc.) defined it’s own “Volume” component, how confusing would that be? Also add to the argument that this component is located under the “Miscellaneous” section on the add component menu, and it is just confusing.

If it was defining a reusable spatial volume that was used by all systems then I might let it slide, but it isn’t. In URP it is used for a specific way that a post processing profile is used. If you don’t want to constrain it into the post-processing stack, maybe use the term “RendererVolume” so we at least can see that this is used by the rendering subsystem? Otherwise my impression was that it is was for a different system other than rendering.

1 Like

Are you having namespace collisions?

The volume in Post Processing is not that generic. To access it by script, you must use the following:

using UnityEngine.Rendering.PostProcessing;

public class YourScript : MonoBehaviour
{
    private PostProcessVolume postProcessingVolume;

    private void Start()
    {
        postProcessingVolume = GameObject.Find("GameObjectName").GetComponentInChildren<PostProcessVolume>(true);
    }
}

(true being for “IncludeInactive”).

No, that’s not my primary problem (although you’re often to get conflicts with a name so generic). My concern is mainly at the editor/designer level. In a project that may have other systems or components and a user does a search and see “Volume” in the list, or tries to find the component in the add component list manually. They’d need to look for it under “Miscellaneous/Volume” which is even less clear what it is and what it is for. This is not a friendly UX in my opinion.

If this was a code-only engine the namespace it is located under give it enough context to better idea about what it is for (UnityEngine.Rendering.Volume). I want that context given to the component when viewed in the inspector and when adding the component through the Add Component menu. I also would like a custom icon to better differentiate it.

Maybe in the V2 stack. The V3 stack the component is named “Volume” with no PostProcess prefix under UnityEngine.Rendering.Volume.

Yes but this is something that only hurts people the first time ever learning something. To be fair there are far many more pitfalls in Unity, even with simpler things.

I think the best thing to do here is simply point them to the documentation, and improve perhaps the discoverability. I can’t see the logic in changing the name though.

I feel that is an argument for never changing anything. I respect that changing the name is a bit more difficult because people may have to update code. However, I feel that the change can go into the next API breaking semantic version like any number of other API changes. I wanted to bring it up to try to improve the flow. I recognize that there are bigger issues, but every bit helps. Especially, since I feel it is a regression compared to the post processing V2 stack which had a much clearer name for the same component behavior. That is the point of this thread.

2 Likes

Somewhat related I personally dislike using a collider to set the boundaries of space that the volume affects :wink:

Aren’t you confusing with the Cinemachine virtual camera confiner?