Page 1 of 1

World Space UI approach

Posted: 27 Jan 2026, 17:37
by ivodopiviz
Hi all, I'm back with this topic but I didn't want to reopen the previous thread.

The use case we have for world space UI would generally be the following:
  • World Interactions.
  • Cover indicators.
  • Objective markers.
  • NPC dialog bubbles.
In general terms, we don't need input, but we need crisp rendering, specially text. And this is where we run into issues: TSR/TAA is giving us lots of visual artifacts and I'm not really sure what we can do about it. Yes, we'll have a screen space system too, but we'd like to have world space available.

What would be the correct way of implementing this? Looking at the source it seems that Noesis renders before post processing, so we'd probably need a way to render to a texture / render target and then do manual composition, but I haven't found a way to do this.

Alternatively, I was also thinking it might technically be possible to stick a UNoesisInstance inside a Widget actor component, since UNoesisInstance is a UUserWidget, but that sounds convoluted.

I'm afraid that switching to MSAA or FXAA isn't an option :)

Thanks in advance!

Re: World Space UI approach

Posted: 28 Jan 2026, 09:30
by hcpizzi
Hi,

We draw at that point because it's the only time when the scene's Z buffer can be used to test for occlusion of WorldUI elements by scene elements.

If you don't need depth occlusion, just the 3D placing, I think it should be fairly straightforward to have the WorldUI elements being drawn at the end of the frame, like regular UI is.

You can, indeed, use a WidgetComponent with a NoesisInstance, but it's just a MeshComponent, so it's going to be drawn during scene rendering too.

Re: World Space UI approach

Posted: 28 Jan 2026, 12:55
by ivodopiviz
We do need occlusion however, for everything else we can simply use our own screen space system that supports 3d space "anchors". I'll try to come up with an example of what I'm seeing, because world space UMG doesn't seem to suffer from these issues. But maybe I just need a custom material to use as Effect.

Re: World Space UI approach

Posted: 28 Jan 2026, 19:22
by hcpizzi
On Unreal 5.7.x what I'm seeing that, depending on whether the WidgetComponent material is set to the default or the translucent widget material, it's being drawn into the "SceneColor" texture or "Translucency.AfterDOF.Color", which is where our WorldUI components are drawn. In any case, after that, both textures are combined into "PostDOFTranslucency.SceneColor" in the render pass "ComposeTranslucencyToNewSceneColor", and from that point on they are treated equally.

Could you please use PIX or RenderDoc or any other frame analysis tool to verify that this is the same that's happening on your end? And, please, could you create a ticket to track the issue?

Thank you!

Re: World Space UI approach

Posted: 29 Jan 2026, 10:40
by ivodopiviz
Yeah, will do. Thanks.