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"
