View Issue Details

IDProjectCategoryView StatusLast Update
0004950NoesisGUIUnrealpublic2026-04-27 14:47
Reporterhcpizzi Assigned Tohcpizzi  
PrioritynormalSeveritymajor 
Status resolvedResolutionfixed 
Product Version3.2.12 
Fixed in Version3.2.13 
Summary0004950: WorldUI not working on Quest devices
Description

Noesis WorldUI components causing issues on Quest devices

PlatformAny

Activities

hcpizzi

hcpizzi

2026-03-30 19:35

developer   ~0012132

Here's a patch that resolves the issue. Sorry for the long wait.

4950.patch (3,220 bytes)   
Index: NoesisRenderDevice.cpp
===================================================================
--- NoesisRenderDevice.cpp	(revision 16798)
+++ NoesisRenderDevice.cpp	(working copy)
@@ -1257,32 +1257,61 @@
 	RHIUpdateTexture2D(Texture->GetTexture2D(), MipIndex, UpdateRegion, SourcePitch, SourceData);
 }
 
+static void SetStaticUniformBuffer(FRHICommandList* RHICmdList, FRHIUniformBuffer* UniformBuffer)
+{
+	if (UniformBuffer)
+	{
+		const FRHIUniformBufferLayout& Layout = UniformBuffer->GetLayout();
+
+		const FUniformBufferStaticSlot Slot = Layout.StaticSlot;
+		checkf(IsUniformBufferStaticSlotValid(Slot), TEXT("Attempted to set a global uniform buffer %s with an invalid slot."), *Layout.GetDebugName());
+
+		RHICmdList->SetStaticUniformBuffer(Slot, UniformBuffer);
+	}
+}
+
 void FNoesisRenderDevice::BeginOffscreenRender()
 {
-	FUniformBufferStaticBindings StaticUniformBufferBindings;
-	StaticUniformBufferBindings.TryAddUniformBuffer(SceneTexturesUniformBuffer);
-	StaticUniformBufferBindings.TryAddUniformBuffer(MobileSceneTexturesUniformBuffer);
-	StaticUniformBufferBindings.TryAddUniformBuffer(ViewUniformBuffer);
-	RHICmdList->SetStaticUniformBuffers(MoveTemp(StaticUniformBufferBindings));
+	if (SceneTexturesUniformBuffer)
+	{
+		SetStaticUniformBuffer(RHICmdList, SceneTexturesUniformBuffer);
+	}
+
+	if (MobileSceneTexturesUniformBuffer)
+	{
+		SetStaticUniformBuffer(RHICmdList, MobileSceneTexturesUniformBuffer);
+	}
+
+	if (ViewUniformBuffer)
+	{
+		SetStaticUniformBuffer(RHICmdList, ViewUniformBuffer);
+	}
 }
 
 void FNoesisRenderDevice::EndOffscreenRender()
 {
-	RHICmdList->SetStaticUniformBuffers({});
 }
 
 void FNoesisRenderDevice::BeginOnscreenRender()
 {
-	FUniformBufferStaticBindings StaticUniformBufferBindings;
-	StaticUniformBufferBindings.TryAddUniformBuffer(SceneTexturesUniformBuffer);
-	StaticUniformBufferBindings.TryAddUniformBuffer(MobileSceneTexturesUniformBuffer);
-	StaticUniformBufferBindings.TryAddUniformBuffer(ViewUniformBuffer);
-	RHICmdList->SetStaticUniformBuffers(MoveTemp(StaticUniformBufferBindings));
+	if (SceneTexturesUniformBuffer)
+	{
+		SetStaticUniformBuffer(RHICmdList, SceneTexturesUniformBuffer);
+	}
+
+	if (MobileSceneTexturesUniformBuffer)
+	{
+		SetStaticUniformBuffer(RHICmdList, MobileSceneTexturesUniformBuffer);
+	}
+
+	if (ViewUniformBuffer)
+	{
+		SetStaticUniformBuffer(RHICmdList, ViewUniformBuffer);
+	}
 }
 
 void FNoesisRenderDevice::EndOnscreenRender()
 {
-	RHICmdList->SetStaticUniformBuffers({});
 }
 
 void FNoesisRenderDevice::SetRenderTarget(Noesis::RenderTarget* Surface)
Index: NoesisShaders.h
===================================================================
--- NoesisShaders.h	(revision 16798)
+++ NoesisShaders.h	(working copy)
@@ -291,12 +291,6 @@
 
 	static bool ShouldCompilePermutation(const FGlobalShaderPermutationParameters& Parameters)
 	{
-		FPermutationDomain PermutationVector(Parameters.PermutationId);
-		UE::StereoRenderUtils::FStereoShaderAspects Aspects(Parameters.Platform);
-		if (PermutationVector.Get<FStereo>() && !Aspects.IsInstancedStereoEnabled())
-		{
-			return false;
-		}
 		return true;
 	}
 
4950.patch (3,220 bytes)   

Issue History

Date Modified Username Field Change
2026-03-30 19:34 hcpizzi New Issue
2026-03-30 19:35 hcpizzi Note Added: 0012132
2026-03-30 19:35 hcpizzi File Added: 4950.patch
2026-03-31 09:09 hcpizzi Assigned To => hcpizzi
2026-03-31 09:09 hcpizzi Status new => assigned
2026-04-27 14:47 jsantos Status assigned => resolved
2026-04-27 14:47 jsantos Resolution open => fixed
2026-04-27 14:47 jsantos Fixed in Version => 3.2.13