In Blender 2.8 how do I render the world once for all view layers? I have a setup where I have one collection that is a background and one that is silhouetted against it. Each of these is in it's own View Layer. The background one rendered straight, the foreground one is lit brightly, rendered and then inverted. 

My World is a starfield generated from a noise texture. The problem is that if I have world enabled, the inverted foreground layer creates an inverse starfield, completely blanking out the background layer.

I have found a few questions around this topic ( for example 'One render layer with background image and one with transparent background' ) but they are old and they talk about enabling environment rendering which doesn't seem to exist any more. 

So, in Blender 2.8 how do I render my world once rather than once-per view-layer?
You can get precisely what you want by creating a dedicated, empty background render layer with an environment pass.
1.) Under &quot;Render properties&quot; on the &quot;Film&quot; panel select &quot;Transparent&quot;. All of your current layers will now render a transparent world background.
2.) Create a new layer and disable ALL collections in the Outliner. In the &quot;View Layer Properties&quot;, enable an environment pass.
3.) Now in the compositor, use an &quot;Alpha Over&quot; node to put everything above the &quot;Env&quot; channel of the background layer we just created.