View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0005249 | NoesisGUI | Unreal | public | 2026-10-12 22:27 | 2026-10-13 23:48 |
| Reporter | njahs | Assigned To | hcpizzi | ||
| Priority | normal | Severity | crash | ||
| Status | resolved | Resolution | fixed | ||
| Product Version | 4.0 | ||||
| Target Version | 4.0.1 | Fixed in Version | 4.0.1 | ||
| Summary | 0005249: Unreal Engine 5.8.2 crash when adding a view to umg widget | ||||
| Description | I am not able to add a view to an umg widget at all. The engine always crashes as soon as I drop the widget (dragging from the palette) into any slot inside the umg widget. This is reproducible using a fresh unreal engine 5.8.2 project. Changes that did not (!) fix the issue:
Either this is a real bug or I'm doing something wrong, but a crash should definitly not happen in my opinion - even if I am doing something wrong. The view does work (!) when I try the "Add to Viewport" (right-click on the asset in the content browser). The crash report (it's not very useful) is attached below. Steps to reproduce:
if you need further information please let me know. | ||||
| Platform | Windows | ||||
| has duplicate | 0005248 | closed | sfernandez | Unreal Engine 5.8.2 crash when adding a view to umg widget |
|
Here's a patch that resolves the problem. You may need to open and compile the Noesis Views before they show up in the Please, let us know if you find any other issues. 5249.patch (10,135 bytes)
Index: Config/BaseNoesisGUI.ini
===================================================================
--- Config/BaseNoesisGUI.ini (revision 18028)
+++ Config/BaseNoesisGUI.ini (working copy)
@@ -1,2 +1,4 @@
[CoreRedirects]
+ClassRedirects=(OldName="/Script/NoesisEditor.K2Node_NoesisAssignAndNotify", NewName="/Script/NoesisBlueprint.K2Node_NoesisAssignAndNotify")
++ClassRedirects=(OldName="/Script/NoesisRuntime.NoesisBlueprint", NewName="/Script/NoesisEditor.NoesisBlueprint")
++ClassRedirects=(OldName="/Script/NoesisRuntime.NoesisBlueprintGeneratedClass", NewName="/Script/NoesisEditor.NoesisBlueprintGeneratedClass")
Index: Config/DefaultNoesisGUI.ini
===================================================================
--- Config/DefaultNoesisGUI.ini (revision 18028)
+++ Config/DefaultNoesisGUI.ini (working copy)
@@ -1,2 +1,4 @@
[CoreRedirects]
+ClassRedirects=(OldName="/Script/NoesisEditor.K2Node_NoesisAssignAndNotify", NewName="/Script/NoesisBlueprint.K2Node_NoesisAssignAndNotify")
++ClassRedirects=(OldName="/Script/NoesisRuntime.NoesisBlueprint", NewName="/Script/NoesisEditor.NoesisBlueprint")
++ClassRedirects=(OldName="/Script/NoesisRuntime.NoesisBlueprintGeneratedClass", NewName="/Script/NoesisEditor.NoesisBlueprintGeneratedClass")
Index: Source/NoesisEditor/Classes/NoesisBlueprint.h
===================================================================
--- Source/NoesisEditor/Classes/NoesisBlueprint.h (nonexistent)
+++ Source/NoesisEditor/Classes/NoesisBlueprint.h (working copy)
@@ -0,0 +1,68 @@
+////////////////////////////////////////////////////////////////////////////////////////////////////
+// NoesisGUI - http://www.noesisengine.com
+// Copyright (c) 2013 Noesis Technologies S.L. All Rights Reserved.
+////////////////////////////////////////////////////////////////////////////////////////////////////
+
+#pragma once
+
+// Core includes
+#include "CoreMinimal.h"
+
+// UMGEditor includes
+#include "WidgetBlueprint.h"
+
+// Generated header include
+#include "NoesisBlueprint.generated.h"
+
+UCLASS()
+class NOESISEDITOR_API UNoesisBlueprint : public UWidgetBlueprint
+{
+ GENERATED_UCLASS_BODY()
+
+public:
+ // UBlueprint interface
+#if WITH_EDITOR
+ virtual UClass* GetBlueprintClass() const override;
+ virtual bool SupportedByDefaultBlueprintFactory() const override;
+#endif // WITH_EDITOR
+ // End of UBlueprint interface
+
+ /** Xaml file that defines the user interface. */
+ UPROPERTY(EditAnywhere, Category = "Noesis View", meta = (DisplayName = "XAML"))
+ TObjectPtr<class UNoesisXaml> BaseXaml;
+
+ /** Per-Primitive Antialiasing extrudes the contours of the geometry and smooths them. Useful when GPU MSAA is not enabled. */
+ UPROPERTY(EditAnywhere, Category = "Noesis View")
+ bool EnablePPAA;
+
+ /** When enabled, the view is scaled by the DPI Curve specified in the Project settings. */
+ UPROPERTY(EditAnywhere, Category = "Noesis View", meta = (DisplayName = "DPI Scale"))
+ bool DPIScale;
+
+ /** Specifies tessellation quality. */
+ UPROPERTY(EditAnywhere, Category = "Noesis View")
+ ENoesisTessellationQuality TessellationQuality;
+
+ UPROPERTY(EditAnywhere, Category = "Noesis View")
+ bool EnableKeyboard;
+
+ UPROPERTY(EditAnywhere, Category = "Noesis View")
+ bool EnableMouse;
+
+ UPROPERTY(EditAnywhere, Category = "Noesis View", meta = (EditCondition = "EnableMouse"))
+ bool EmulateTouch;
+
+ /** Handled mouse events set user focus to the game viewport. */
+ UPROPERTY(EditAnywhere, Category = "Noesis View", meta = (EditCondition = "EnableMouse"))
+ bool SetUserFocusToViewport;
+
+ UPROPERTY(EditAnywhere, Category = "Noesis View")
+ bool EnableTouch;
+
+ UPROPERTY(EditAnywhere, Category = "Noesis View")
+ bool EnableActions;
+
+ /** Set to a positive value, this property is added to the values returned by the PixelDepth node in a Material. */
+ UPROPERTY(EditAnywhere, Category = "Noesis View", meta = (DisplayName = "Material PixelDepth Bias"))
+ float PixelDepthBias;
+};
Index: Source/NoesisEditor/Classes/NoesisBlueprintGeneratedClass.h
===================================================================
--- Source/NoesisEditor/Classes/NoesisBlueprintGeneratedClass.h (nonexistent)
+++ Source/NoesisEditor/Classes/NoesisBlueprintGeneratedClass.h (working copy)
@@ -0,0 +1,27 @@
+////////////////////////////////////////////////////////////////////////////////////////////////////
+// NoesisGUI - http://www.noesisengine.com
+// Copyright (c) 2013 Noesis Technologies S.L. All Rights Reserved.
+////////////////////////////////////////////////////////////////////////////////////////////////////
+
+#pragma once
+
+// Core includes
+#include "CoreMinimal.h"
+
+// CoreUObject includes
+#include "UObject/Package.h"
+
+// Engine includes
+#include "Engine/BlueprintGeneratedClass.h"
+
+// NoesisRuntime includes
+#include "NoesisBlueprint.h"
+
+// Generated header include
+#include "NoesisBlueprintGeneratedClass.generated.h"
+
+UCLASS()
+class NOESISEDITOR_API UNoesisBlueprintGeneratedClass : public UBlueprintGeneratedClass
+{
+ GENERATED_UCLASS_BODY()
+};
Index: Source/NoesisEditor/NoesisEditor.Build.cs
===================================================================
--- Source/NoesisEditor/NoesisEditor.Build.cs (revision 18028)
+++ Source/NoesisEditor/NoesisEditor.Build.cs (working copy)
@@ -34,6 +34,7 @@
"AudioMixer",
"UnrealEd",
"SlateCore",
+ "UMGEditor",
}
);
Index: Source/NoesisEditor/Private/NoesisBlueprint.cpp
===================================================================
--- Source/NoesisEditor/Private/NoesisBlueprint.cpp (nonexistent)
+++ Source/NoesisEditor/Private/NoesisBlueprint.cpp (working copy)
@@ -0,0 +1,39 @@
+////////////////////////////////////////////////////////////////////////////////////////////////////
+// NoesisGUI - http://www.noesisengine.com
+// Copyright (c) 2013 Noesis Technologies S.L. All Rights Reserved.
+////////////////////////////////////////////////////////////////////////////////////////////////////
+
+#include "NoesisBlueprint.h"
+
+// NoesisRuntime includes
+#include "NoesisBlueprintGeneratedClass.h"
+
+UNoesisBlueprint::UNoesisBlueprint(const FObjectInitializer& ObjectInitializer)
+ : Super(ObjectInitializer)
+{
+ bRecompileOnLoad = false;
+
+ DPIScale = true;
+
+ TessellationQuality = ENoesisTessellationQuality::Medium;
+
+ EnableKeyboard = true;
+ EnableMouse = true;
+ EmulateTouch = false;
+ SetUserFocusToViewport = false;
+ EnableTouch = true;
+ EnableActions = false;
+ PixelDepthBias = -1.0f;
+}
+
+#if WITH_EDITOR
+UClass* UNoesisBlueprint::GetBlueprintClass() const
+{
+ return UNoesisBlueprintGeneratedClass::StaticClass();
+}
+
+bool UNoesisBlueprint::SupportedByDefaultBlueprintFactory() const
+{
+ return false;
+}
+#endif // WITH_EDITOR
Index: Source/NoesisEditor/Private/NoesisBlueprintGeneratedClass.cpp
===================================================================
--- Source/NoesisEditor/Private/NoesisBlueprintGeneratedClass.cpp (nonexistent)
+++ Source/NoesisEditor/Private/NoesisBlueprintGeneratedClass.cpp (working copy)
@@ -0,0 +1,14 @@
+////////////////////////////////////////////////////////////////////////////////////////////////////
+// NoesisGUI - http://www.noesisengine.com
+// Copyright (c) 2013 Noesis Technologies S.L. All Rights Reserved.
+////////////////////////////////////////////////////////////////////////////////////////////////////
+
+#include "NoesisBlueprintGeneratedClass.h"
+
+// NoesisRuntime includes
+#include "NoesisBaseComponent.h"
+
+UNoesisBlueprintGeneratedClass::UNoesisBlueprintGeneratedClass(const FObjectInitializer& ObjectInitializer)
+ : Super(ObjectInitializer)
+{
+}
Index: Source/NoesisRuntime/Classes/NoesisInstance.h
===================================================================
--- Source/NoesisRuntime/Classes/NoesisInstance.h (revision 18028)
+++ Source/NoesisRuntime/Classes/NoesisInstance.h (working copy)
@@ -21,13 +21,18 @@
// Noesis includes
#include "NoesisSDK.h"
-// NoesisRuntime includes
-#include "NoesisBlueprint.h"
-
// Generated header include
#include "NoesisInstance.generated.h"
UENUM()
+enum class ENoesisTessellationQuality : uint8
+{
+ Low,
+ Medium,
+ High,
+};
+
+UENUM()
enum class NoesisInstanceRenderFlags : uint8
{
Normal = 0,
Index: Source/NoesisRuntime/Private/NoesisInstance.cpp
===================================================================
--- Source/NoesisRuntime/Private/NoesisInstance.cpp (revision 18028)
+++ Source/NoesisRuntime/Private/NoesisInstance.cpp (working copy)
@@ -74,7 +74,6 @@
// NoesisRuntime includes
#include "NoesisCustomVersion.h"
#include "NoesisRuntimeModule.h"
-#include "NoesisBlueprintGeneratedClass.h"
#include "Render/NoesisRenderDevice.h"
#include "NoesisTypeClass.h"
#include "NoesisXaml.h"
@@ -1421,21 +1452,6 @@
void UNoesisInstance::PostLoad()
{
Super::PostLoad();
-
-#if WITH_EDITOR
- const int32 NoesisVer = GetLinkerCustomVersion(FNoesisCustomVersion::GUID);
- if (NoesisVer < FNoesisCustomVersion::BeforeCustomVersionWasAdded)
- {
- UClass* Class = GetClass();
- UNoesisBlueprint* NoesisBlueprint = Cast<UNoesisBlueprint>(Class->ClassGeneratedBy);
- if (NoesisBlueprint != nullptr)
- {
- BaseXaml = NoesisBlueprint->BaseXaml;
- EnablePPAA = NoesisBlueprint->EnablePPAA;
- TessellationQuality = NoesisBlueprint->TessellationQuality;
- }
- }
-#endif
}
void UNoesisInstance::OnWidgetRebuilt()
Index: Source/NoesisRuntime/Public/NoesisRuntime.h
===================================================================
--- Source/NoesisRuntime/Public/NoesisRuntime.h (revision 18028)
+++ Source/NoesisRuntime/Public/NoesisRuntime.h (working copy)
@@ -9,8 +9,6 @@
#include "NoesisSDK.h"
#include "NoesisBaseComponent.h"
-#include "NoesisBlueprint.h"
-#include "NoesisBlueprintGeneratedClass.h"
#include "NoesisEnums.h"
#include "NoesisFunctionLibrary.h"
#include "NoesisInstance.h"
|
|
|
Thank you for the fast response. The issue is fixed after applying the patch. |
|
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2026-10-12 22:27 | njahs | New Issue | |
| 2026-10-12 22:53 | njahs | Relationship added | has duplicate 0005248 |
| 2026-10-13 11:45 | sfernandez | Assigned To | => hcpizzi |
| 2026-10-13 11:45 | sfernandez | Status | new => assigned |
| 2026-10-13 11:45 | sfernandez | Target Version | => 4.0.1 |
| 2026-10-13 18:53 | jsantos | Note Added: 0012758 | |
| 2026-10-13 18:53 | jsantos | File Added: 5249.patch | |
| 2026-10-13 18:53 | jsantos | Note Edited: 0012758 | |
| 2026-10-13 18:54 | jsantos | Note Edited: 0012758 | |
| 2026-10-13 18:54 | jsantos | Status | assigned => feedback |
| 2026-10-13 18:54 | jsantos | Description Updated | |
| 2026-10-13 21:37 | njahs | Note Added: 0012759 | |
| 2026-10-13 21:37 | njahs | Status | feedback => assigned |
| 2026-10-13 23:47 | hcpizzi | Status | assigned => resolved |
| 2026-10-13 23:47 | hcpizzi | Resolution | open => fixed |
| 2026-10-13 23:48 | hcpizzi | Fixed in Version | => 4.0.1 |