ivodopiviz
Topic Author
Posts: 9
Joined: 26 Jul 2022, 23:58

World Space UI approach

27 Jan 2026, 17:37

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!
 
User avatar
hcpizzi
Site Admin
Posts: 368
Joined: 09 Feb 2012, 12:40

Re: World Space UI approach

28 Jan 2026, 09:30

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.
 
ivodopiviz
Topic Author
Posts: 9
Joined: 26 Jul 2022, 23:58

Re: World Space UI approach

28 Jan 2026, 12:55

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.
 
User avatar
hcpizzi
Site Admin
Posts: 368
Joined: 09 Feb 2012, 12:40

Re: World Space UI approach

28 Jan 2026, 19:22

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!
 
ivodopiviz
Topic Author
Posts: 9
Joined: 26 Jul 2022, 23:58

Re: World Space UI approach

29 Jan 2026, 10:40

Yeah, will do. Thanks.

Who is online

Users browsing this forum: Google [Bot] and 3 guests