So far we find it best to make a duplicate copy of the appropriate URP package locally. From there we can make a copy of ForwardRenderer and make customizations within the Setup function (among other places). First issue we run into is that several things that the ForwardRenderer uses are private, so we have to modify files in the URP package to expose those (for example, SceneViewDepthCopyPass is internal so we change that to public - along with dozens of other changes like that). This works, but it feels a bit clunky and we have to redo it every time we upgrade our Unity/URP package combo.
Basically, the functionality we’re trying to add goes beyond a Renderer Feature, but doesn’t require us to start our ForwardRenderer from scratch either. Do you have any suggestions for making that process smoother? Something like a CustomizedForwardRenderer template would create a good starting point to allow developers some advanced modifications but without overcomplicating the process.