Translucent Wall Leaks Light

Using UE5.8.2. I spent hours to solve but finally found myself here. I have tried many ways, but none could solve. The leak is really a little but appears as an object gets close to wall. I have a rect light, in a room, and some walls of this room are translucent. I tried both masked and translucent blend mode materials. Cast shadow on these materials doesnt work.

So, I put a blocker wall with render in main pass and render in depth pass disabled, still leaks :distorted_face:. If I enable render in depth pass, there is no more leak but also the room is no more visible. It works as I decrease intensity of light or move the light away from wall. Both are not applicable, as I cant brighten room enough.

Another way I tried was to set wall’s actor hidden in game and enabling hidden shadow. Still leaks. I tried point light, turned hardware ray tracing off and many. I believe my blocker wall is thick enough. But I couldnt get a better result than this:

Yes, still leaks.

The leak is the shadow path, not wall thickness. In 5.8 a Translucent material does not cast a solid shadow — Cast Shadow on that material is ignored by Virtual Shadow Maps / MegaLights — and a Masked material only casts a dithered mask, which still pinholes when a rect light sits close to it. A rect light is an area light, so the penumbra grows as the source gets close to a thin surface, or as another mesh approaches the wall. That matches what you are seeing: lowering intensity or moving the light away makes the leak disappear, but neither is a real fix.

The two blocker attempts cancel each other out:

  • Render In Main Pass off and Render In Depth Pass off means the mesh is in neither the camera view nor the depth/shadow pass, so it cannot block the light.
  • Turning Render In Depth Pass on writes the main-view depth buffer. The proxy then occludes the room, which is why you can no longer see inside. Depth pass is not a shadow-only switch.

Use a separate opaque shadow proxy instead of trying to make the glass cast:

  1. Duplicate the wall. Give the copy a simple Opaque material, not the translucent one. A translucent material on a hidden actor still will not cast a solid shadow.
  2. On that component set Hidden in Game = true, Cast Shadow = true, Cast Hidden Shadow = true. Leave Render In Depth Pass at the default. Forcing it on is what hid the room.
  3. Make the proxy a bit thicker than the visible wall and nudge it to the light side, so the rect light’s penumbra starts inside the proxy instead of in the air gap.
  4. On the rect light keep Cast Shadows on, keep Source Width/Height only as large as you actually need (a smaller source with higher intensity leaks less than a large dim panel), and set Contact Shadow Length to about 0.05–0.15 for the leak that shows up when a mesh sits against the wall. Raise Shadow Resolution Scale if the edge is still mushy.
  5. If the leak is Lumen GI rather than the direct shadow, the translucent mesh is also missing from the distance field. The opaque proxy covers that as long as Generate Mesh Distance Field is on for it. Hardware ray tracing will not help while the only occluder is translucent.

Masked can work without a proxy only when the opacity mask is a hard clip (Opacity Mask Clip Value around 0.5, not a soft gradient) and the mesh is set to cast shadows two-sided. A soft mask still leaks under a rect light.