KCoppinsIventis
Topic Author
Posts: 12
Joined: 14 Mar 2024, 19:53

Update NoesisGUI for Unreal Engine 5.4

02 May 2024, 10:48

Hi there,

With the new release of Unreal Engine 5.4 I just wanted to see if NoesisGUI is compatible or is going to be compatible with 5.4.

If its ready in a future release, do we have an ETA as to when that release will become available?

Many thanks,

Kieran
 
User avatar
sfernandez
Site Admin
Posts: 3033
Joined: 22 Dec 2011, 19:20

Re: Update NoesisGUI for Unreal Engine 5.4

02 May 2024, 12:06

Hi, we updated our code to be compatible for UE5.4 and will be available in the upcoming 3.2.4 version, which will be released in a few weeks.
I attach a patch here in the meantime:
Index: Plugins/NoesisGUI/Source/NoesisRuntime/Classes/NoesisRive.h
===================================================================
--- Plugins/NoesisGUI/Source/NoesisRuntime/Classes/NoesisRive.h	(revision 13745)
+++ Plugins/NoesisGUI/Source/NoesisRuntime/Classes/NoesisRive.h	(revision 13746)
@@ -7,6 +7,7 @@
 
 // Core includes
 #include "CoreMinimal.h"
+#include "Misc/EngineVersionComparison.h"
 
 // Noesis includes
 #include "NoesisSDK.h"
@@ -38,7 +39,11 @@
 
 	// UObject interface
 	virtual void PostInitProperties() override;
+#if UE_VERSION_OLDER_THAN(5, 4, 0)
 	virtual void GetAssetRegistryTags(TArray<FAssetRegistryTag>& OutTags) const override;
+#else
+	virtual void GetAssetRegistryTags(FAssetRegistryTagsContext Context) const override;
+#endif
 	// End of UObject interface
 #endif
 
Index: Plugins/NoesisGUI/Source/NoesisRuntime/Classes/NoesisXaml.h
===================================================================
--- Plugins/NoesisGUI/Source/NoesisRuntime/Classes/NoesisXaml.h	(revision 13745)
+++ Plugins/NoesisGUI/Source/NoesisRuntime/Classes/NoesisXaml.h	(revision 13746)
@@ -7,6 +7,7 @@
 
 // Core includes
 #include "CoreMinimal.h"
+#include "Misc/EngineVersionComparison.h"
 
 // Noesis includes
 #include "NoesisSDK.h"
@@ -63,7 +64,11 @@
 
 	// UObject interface
 	virtual void PostInitProperties() override;
+#if UE_VERSION_OLDER_THAN(5, 4, 0)
 	virtual void GetAssetRegistryTags(TArray<FAssetRegistryTag>& OutTags) const override;
+#else
+	virtual void GetAssetRegistryTags(FAssetRegistryTagsContext Context) const override;
+#endif
 	// End of UObject interface
 #endif
 
Index: Plugins/NoesisGUI/Source/NoesisRuntime/Private/NoesisRive.cpp
===================================================================
--- Plugins/NoesisGUI/Source/NoesisRuntime/Private/NoesisRive.cpp	(revision 13745)
+++ Plugins/NoesisGUI/Source/NoesisRuntime/Private/NoesisRive.cpp	(revision 13746)
@@ -39,6 +39,7 @@
 	Super::PostInitProperties();
 }
 
+#if UE_VERSION_OLDER_THAN(5, 4, 0)
 void UNoesisRive::GetAssetRegistryTags(TArray<FAssetRegistryTag>& OutTags) const
 {
 	if (AssetImportData)
@@ -48,6 +49,17 @@
 
 	Super::GetAssetRegistryTags(OutTags);
 }
+#else
+void UNoesisRive::GetAssetRegistryTags(FAssetRegistryTagsContext Context) const
+{
+	if (AssetImportData)
+	{
+		Context.AddTag(FAssetRegistryTag(SourceFileTagName(), AssetImportData->GetSourceData().ToJson(), FAssetRegistryTag::TT_Hidden));
+	}
+
+	Super::GetAssetRegistryTags(Context);
+}
+#endif
 #endif // WITH_EDITORONLY_DATA
 
 #if WITH_EDITOR
Index: Plugins/NoesisGUI/Source/NoesisRuntime/Private/NoesisRuntimeModule.cpp
===================================================================
--- Plugins/NoesisGUI/Source/NoesisRuntime/Private/NoesisRuntimeModule.cpp	(revision 13745)
+++ Plugins/NoesisGUI/Source/NoesisRuntime/Private/NoesisRuntimeModule.cpp	(revision 13746)
@@ -149,8 +149,10 @@
 	{
 #if UE_VERSION_OLDER_THAN(5, 0, 0)
 		LowLevelFatalErrorHandler(Filename, Line, TEXT("%s"), *NsStringToFString(Desc));
+#elif UE_VERSION_OLDER_THAN(5, 4, 0)
+		LowLevelFatalErrorHandler(Filename, (int32)Line, PLATFORM_RETURN_ADDRESS(), TEXT("%s"), *NsStringToFString(Desc));
 #else
-		LowLevelFatalErrorHandler(Filename, (int32)Line, PLATFORM_RETURN_ADDRESS(), TEXT("%s"), *NsStringToFString(Desc));
+		LowLevelFatalErrorHandler(Filename, (int32)Line, TEXT("%s"), *NsStringToFString(Desc));
 #endif
 	}
 
Index: Plugins/NoesisGUI/Source/NoesisRuntime/Private/NoesisXaml.cpp
===================================================================
--- Plugins/NoesisGUI/Source/NoesisRuntime/Private/NoesisXaml.cpp	(revision 13745)
+++ Plugins/NoesisGUI/Source/NoesisRuntime/Private/NoesisXaml.cpp	(revision 13746)
@@ -65,6 +65,7 @@
 	Super::PostInitProperties();
 }
 
+#if UE_VERSION_OLDER_THAN(5, 4, 0)
 void UNoesisXaml::GetAssetRegistryTags(TArray<FAssetRegistryTag>& OutTags) const
 {
 	if (AssetImportData)
@@ -74,6 +75,17 @@
 
 	Super::GetAssetRegistryTags(OutTags);
 }
+#else
+void UNoesisXaml::GetAssetRegistryTags(FAssetRegistryTagsContext Context) const
+{
+	if (AssetImportData)
+	{
+		Context.AddTag(FAssetRegistryTag(SourceFileTagName(), AssetImportData->GetSourceData().ToJson(), FAssetRegistryTag::TT_Hidden));
+	}
+
+	Super::GetAssetRegistryTags(Context);
+}
+#endif
 #endif // WITH_EDITORONLY_DATA
 
 void UNoesisXaml::RegisterDependencies()

Who is online

Users browsing this forum: Bing [Bot] and 15 guests