Skip to content

Instantly share code, notes, and snippets.

@Jiboo
Created June 23, 2025 20:21
Show Gist options
  • Save Jiboo/9e1984741b88058f3f204134baa80fa2 to your computer and use it in GitHub Desktop.
Save Jiboo/9e1984741b88058f3f204134baa80fa2 to your computer and use it in GitHub Desktop.
diff --git a/Engine/Plugins/MetaHuman/MetaHumanCharacter/MetaHumanCharacter.uplugin b/Engine/Plugins/MetaHuman/MetaHumanCharacter/MetaHumanCharacter.uplugin
index a8d8d6cead22..4a2a956de9f4 100644
--- a/Engine/Plugins/MetaHuman/MetaHumanCharacter/MetaHumanCharacter.uplugin
+++ b/Engine/Plugins/MetaHuman/MetaHumanCharacter/MetaHumanCharacter.uplugin
@@ -19,10 +19,7 @@
{
"Name": "MetaHumanCharacterEditor",
"Type": "Editor",
- "LoadingPhase": "Default",
- "PlatformAllowList": [
- "Win64"
- ]
+ "LoadingPhase": "Default"
},
{
"Name": "MetaHumanCharacter",
@@ -47,26 +44,17 @@
{
"Name": "MetaHumanDefaultEditorPipeline",
"Type": "Editor",
- "LoadingPhase": "Default",
- "PlatformAllowList": [
- "Win64"
- ]
+ "LoadingPhase": "Default"
},
{
"Name": "MetaHumanCharacterMigrationEditor",
"Type": "Editor",
- "LoadingPhase": "Default",
- "PlatformAllowList": [
- "Win64"
- ]
+ "LoadingPhase": "Default"
},
{
"Name": "InterchangeDNA",
"Type": "Editor",
- "LoadingPhase": "Default",
- "PlatformAllowList": [
- "Win64"
- ]
+ "LoadingPhase": "Default"
}
],
"Plugins": [
diff --git a/Engine/Plugins/MetaHuman/MetaHumanCharacter/Source/MetaHumanCharacterEditor/Private/Tools/MetaHumanCharacterEditorEyesTool.cpp b/Engine/Plugins/MetaHuman/MetaHumanCharacter/Source/MetaHumanCharacterEditor/Private/Tools/MetaHumanCharacterEditorEyesTool.cpp
index 69bf329fff37..249f2a014a39 100644
--- a/Engine/Plugins/MetaHuman/MetaHumanCharacter/Source/MetaHumanCharacterEditor/Private/Tools/MetaHumanCharacterEditorEyesTool.cpp
+++ b/Engine/Plugins/MetaHuman/MetaHumanCharacter/Source/MetaHumanCharacterEditor/Private/Tools/MetaHumanCharacterEditorEyesTool.cpp
@@ -1,6 +1,6 @@
// Copyright Epic Games, Inc. All Rights Reserved.
-#include "MetaHUmanCharacterEditorEyesTool.h"
+#include "MetaHumanCharacterEditorEyesTool.h"
#include "MetaHumanCharacterEditorActor.h"
#include "MetaHumanCharacterEditorSubsystem.h"
#include "Tools/MetaHumanCharacterEditorToolTargetUtil.h"
diff --git a/Engine/Plugins/MetaHuman/MetaHumanCharacter/Source/MetaHumanCharacterEditor/Private/Tools/MetaHumanCharacterEditorPresetsTool.cpp b/Engine/Plugins/MetaHuman/MetaHumanCharacter/Source/MetaHumanCharacterEditor/Private/Tools/MetaHumanCharacterEditorPresetsTool.cpp
index 66ef8c9dcef9..fb36aac40a45 100644
--- a/Engine/Plugins/MetaHuman/MetaHumanCharacter/Source/MetaHumanCharacterEditor/Private/Tools/MetaHumanCharacterEditorPresetsTool.cpp
+++ b/Engine/Plugins/MetaHuman/MetaHumanCharacter/Source/MetaHumanCharacterEditor/Private/Tools/MetaHumanCharacterEditorPresetsTool.cpp
@@ -1,6 +1,6 @@
// Copyright Epic Games, Inc. All Rights Reserved.
-#include "MetaHUmanCharacterEditorPresetsTool.h"
+#include "MetaHumanCharacterEditorPresetsTool.h"
#include "MetaHumanCharacterEditorActor.h"
#include "MetaHumanCharacterEditorSubsystem.h"
diff --git a/Engine/Plugins/MetaHuman/MetaHumanCharacter/Source/MetaHumanCharacterEditor/Private/UI/Views/SMetaHumanCharacterEditorBodyModelToolView.cpp b/Engine/Plugins/MetaHuman/MetaHumanCharacter/Source/MetaHumanCharacterEditor/Private/UI/Views/SMetaHumanCharacterEditorBodyModelToolView.cpp
index 705f36def8d0..2cdf7daa685b 100644
--- a/Engine/Plugins/MetaHuman/MetaHumanCharacter/Source/MetaHumanCharacterEditor/Private/UI/Views/SMetaHumanCharacterEditorBodyModelToolView.cpp
+++ b/Engine/Plugins/MetaHuman/MetaHumanCharacter/Source/MetaHumanCharacterEditor/Private/UI/Views/SMetaHumanCharacterEditorBodyModelToolView.cpp
@@ -2,7 +2,7 @@
#include "SMetaHumanCharacterEditorBodyModelToolView.h"
-#include "Tools/MetahumanCharacterEditorBodyEditingTools.h"
+#include "Tools/MetaHumanCharacterEditorBodyEditingTools.h"
#include "MetaHumanCharacterEditorModule.h"
#include "UI/Widgets/SMetaHumanCharacterEditorToolPanel.h"
#include "UI/Widgets/SMetaHumanCharacterEditorParametricView.h"
diff --git a/Engine/Plugins/MetaHuman/MetaHumanCharacter/Source/MetaHumanDefaultEditorPipeline/Public/MetaHumanDefaultEditorPipelineBase.h b/Engine/Plugins/MetaHuman/MetaHumanCharacter/Source/MetaHumanDefaultEditorPipeline/Public/MetaHumanDefaultEditorPipelineBase.h
index 1fff03302423..b6024f115e01 100644
--- a/Engine/Plugins/MetaHuman/MetaHumanCharacter/Source/MetaHumanDefaultEditorPipeline/Public/MetaHumanDefaultEditorPipelineBase.h
+++ b/Engine/Plugins/MetaHuman/MetaHumanCharacter/Source/MetaHumanDefaultEditorPipeline/Public/MetaHumanDefaultEditorPipelineBase.h
@@ -3,6 +3,7 @@
#pragma once
#include "ControlRig.h"
+#include "ControlRigBlueprint.h"
#include "MetaHumanCharacter.h"
#include "MetaHumanCollectionEditorPipeline.h"
diff --git a/Engine/Plugins/MetaHuman/MetaHumanCoreTechLib/Source/MetaHumanCoreTechLib/Private/nls/include/nls/utils/ConfigurationParameter.h b/Engine/Plugins/MetaHuman/MetaHumanCoreTechLib/Source/MetaHumanCoreTechLib/Private/nls/include/nls/utils/ConfigurationParameter.h
index 70cdee52f601..6070e3c5e1e0 100644
--- a/Engine/Plugins/MetaHuman/MetaHumanCoreTechLib/Source/MetaHumanCoreTechLib/Private/nls/include/nls/utils/ConfigurationParameter.h
+++ b/Engine/Plugins/MetaHuman/MetaHumanCoreTechLib/Source/MetaHumanCoreTechLib/Private/nls/include/nls/utils/ConfigurationParameter.h
@@ -10,6 +10,9 @@
#include <typeinfo>
#include <variant>
+#include "Misc/GeneratedTypeName.h"
+#include "Misc/StringBuilder.h"
+
CARBON_NAMESPACE_BEGIN(TITAN_NAMESPACE)
namespace detail
@@ -189,7 +192,7 @@ public:
using base_type = typename std::remove_cv<typename std::remove_reference<T>::type>::type;
if (!std::holds_alternative<T>(m_value))
{
- CARBON_CRITICAL("parameter \"{}\" does not hold value {} (instead it has {})", m_name, typeid(T).name(), AsString());
+ CARBON_CRITICAL("parameter \"{}\" does not hold value {} (instead it has {})", m_name, *WriteToAnsiString<128>(GetGeneratedTypeName<T>()), AsString());
}
return detail::Value<base_type>(m_value);
}
diff --git a/Engine/Plugins/TextureGraph/Source/TextureGraph/Private/Blueprint/TG_AsyncRenderTask.cpp b/Engine/Plugins/TextureGraph/Source/TextureGraph/Private/Blueprint/TG_AsyncRenderTask.cpp
index 6375674cc954..a3b78b539f7a 100644
--- a/Engine/Plugins/TextureGraph/Source/TextureGraph/Private/Blueprint/TG_AsyncRenderTask.cpp
+++ b/Engine/Plugins/TextureGraph/Source/TextureGraph/Private/Blueprint/TG_AsyncRenderTask.cpp
@@ -201,7 +201,7 @@ UTG_AsyncRenderTask* UTG_AsyncRenderTask::TG_AsyncRenderTask(UTextureGraphBase*
Task->TextureGraphPtr->Initialize();
FTG_HelperFunctions::InitTargets(Task->TextureGraphPtr);
Task->RegisterWithTGAsyncTaskManger();
- FWorldDelegates::OnWorldCleanup.AddUObject(Task, &UTG_AsyncRenderTaskBase::OnWorldCleanup);
+ FWorldDelegates::OnWorldCleanup.AddUObject(Task, &UTG_AsyncRenderTask::OnWorldCleanup);
}
return Task;
diff --git a/Engine/Plugins/TextureGraph/Source/TextureGraph/Private/TG_Texture.cpp b/Engine/Plugins/TextureGraph/Source/TextureGraph/Private/TG_Texture.cpp
index a10c534baa8e..466799cb34b6 100644
--- a/Engine/Plugins/TextureGraph/Source/TextureGraph/Private/TG_Texture.cpp
+++ b/Engine/Plugins/TextureGraph/Source/TextureGraph/Private/TG_Texture.cpp
@@ -53,7 +53,7 @@ FArchive& operator<<(FArchive& Ar, FTG_Texture& T)
int32 Version = Ar.CustomVer(FTG_CustomVersion::GUID);
if (Ar.IsSaving() ||
- Ar.IsLoading() && Version >= FTG_CustomVersion::TGTextureAddedTexturePath)
+ (Ar.IsLoading() && Version >= FTG_CustomVersion::TGTextureAddedTexturePath))
{
Ar << T.TexturePath;
}
diff --git a/Engine/Plugins/TextureGraph/Source/TextureGraph/Private/TG_Variant.cpp b/Engine/Plugins/TextureGraph/Source/TextureGraph/Private/TG_Variant.cpp
index 910a898e629d..7cb7e9321222 100644
--- a/Engine/Plugins/TextureGraph/Source/TextureGraph/Private/TG_Variant.cpp
+++ b/Engine/Plugins/TextureGraph/Source/TextureGraph/Private/TG_Variant.cpp
@@ -169,7 +169,7 @@ FTG_Texture FTG_Variant::GetTexture(FTG_EvaluationContext* InContext, FTG_Textur
/// Special handling for black, white and gray textures as they are quite common in the system
/// both in vector, color as well as scalar forms
- if (!DesiredDesc || DesiredDesc->Width <= 1 && DesiredDesc->Height <= 1)
+ if (!DesiredDesc || (DesiredDesc->Width <= 1 && DesiredDesc->Height <= 1))
{
if (ColorUtil::IsColorBlack(Color))
return FTG_Texture::GetBlack();
diff --git a/Engine/Plugins/TextureGraph/Source/TextureGraph/Public/TG_Var.h b/Engine/Plugins/TextureGraph/Source/TextureGraph/Public/TG_Var.h
index 2b38e2e36415..40f0e691da23 100644
--- a/Engine/Plugins/TextureGraph/Source/TextureGraph/Public/TG_Var.h
+++ b/Engine/Plugins/TextureGraph/Source/TextureGraph/Public/TG_Var.h
@@ -8,15 +8,17 @@
#include "TG_Var.generated.h"
+class UTG_Expression;
+
template <typename T>
-void TG_Var_SetValueFromString(T& Value, const FString& StrVal)
+TEXTUREGRAPH_API void TG_Var_SetValueFromString(T& Value, const FString& StrVal)
{
UE_LOG(LogTemp, Warning, TEXT("Need To Implement TG_Var_SetValueFromString"));
}
template <typename T>
-FString TG_Var_LogValue(T& Value)
+TEXTUREGRAPH_API FString TG_Var_LogValue(T& Value)
{
FString LogMessage = TEXT("Default Var Log : Need to define a type specific TG_Var_LogValue function");
return LogMessage;
@@ -214,41 +216,41 @@ private:
mutable TSharedPtr<FConcept> Concept;
};
-template <> FString TG_Var_LogValue(bool& Value);
-template <> FString TG_Var_LogValue(int& Value);
-template <> FString TG_Var_LogValue(float& Value);
-template <> FString TG_Var_LogValue(uint8& Value);
-template <> FString TG_Var_LogValue(FLinearColor& Value);
-template <> FString TG_Var_LogValue(FVector4f& Value);
-template <> FString TG_Var_LogValue(FVector2f& Value);
-template <> FString TG_Var_LogValue(FName& Value);
-template <> FString TG_Var_LogValue(FString& Value);
-template <> FString TG_Var_LogValue(TObjectPtr<UObject>& Value);
-template <> FString TG_Var_LogValue(struct FTG_Texture& Value);
-template <> FString TG_Var_LogValue(struct FTG_Scalar& Value);
-template <> FString TG_Var_LogValue(struct FTG_OutputSettings& Value);
-template <> FString TG_Var_LogValue(struct FTG_TextureDescriptor& Value);
-template <> FString TG_Var_LogValue(struct FTG_Variant& Value);
-template <> FString TG_Var_LogValue(struct FTG_Material& Value);
-
-
-template <> void TG_Var_SetValueFromString(int& Value, const FString& StrVal);
-template <> void TG_Var_SetValueFromString(bool& Value, const FString& StrVal);
-template <> void TG_Var_SetValueFromString(float& Value, const FString& StrVal);
-template <> void TG_Var_SetValueFromString(uint8& Value, const FString& StrVal);
-template <> void TG_Var_SetValueFromString(TObjectPtr<UObject>& Value, const FString& StrVal);
-
-template <> void TG_Var_SetValueFromString(FLinearColor& Value, const FString& StrVal);
-template <> void TG_Var_SetValueFromString(FVector4f& Value, const FString& StrVal);
-template <> void TG_Var_SetValueFromString(FVector2f& Value, const FString& StrVal);
-template <> void TG_Var_SetValueFromString(FName& Value, const FString& StrVal);
-template <> void TG_Var_SetValueFromString(FString& Value, const FString& StrVal);
-
-//template <> void TG_Var_SetValueFromString(struct FTG_Texture& Value, const FString& StrVal);
-template <> void TG_Var_SetValueFromString(struct FTG_Scalar& Value, const FString& StrVal);
-template <> void TG_Var_SetValueFromString(struct FTG_OutputSettings& Value, const FString& StrVal);
-template <> void TG_Var_SetValueFromString(struct FTG_TextureDescriptor& Value, const FString& StrVal);
-template <> void TG_Var_SetValueFromString(struct FTG_Variant& Value, const FString& StrVal);
-template <> void TG_Var_SetValueFromString(struct FTG_Material& Value, const FString& StrVal);
+template <> TEXTUREGRAPH_API FString TG_Var_LogValue(bool& Value);
+template <> TEXTUREGRAPH_API FString TG_Var_LogValue(int& Value);
+template <> TEXTUREGRAPH_API FString TG_Var_LogValue(float& Value);
+template <> TEXTUREGRAPH_API FString TG_Var_LogValue(uint8& Value);
+template <> TEXTUREGRAPH_API FString TG_Var_LogValue(FLinearColor& Value);
+template <> TEXTUREGRAPH_API FString TG_Var_LogValue(FVector4f& Value);
+template <> TEXTUREGRAPH_API FString TG_Var_LogValue(FVector2f& Value);
+template <> TEXTUREGRAPH_API FString TG_Var_LogValue(FName& Value);
+template <> TEXTUREGRAPH_API FString TG_Var_LogValue(FString& Value);
+template <> TEXTUREGRAPH_API FString TG_Var_LogValue(TObjectPtr<UObject>& Value);
+template <> TEXTUREGRAPH_API FString TG_Var_LogValue(struct FTG_Texture& Value);
+template <> TEXTUREGRAPH_API FString TG_Var_LogValue(struct FTG_Scalar& Value);
+template <> TEXTUREGRAPH_API FString TG_Var_LogValue(struct FTG_OutputSettings& Value);
+template <> TEXTUREGRAPH_API FString TG_Var_LogValue(struct FTG_TextureDescriptor& Value);
+template <> TEXTUREGRAPH_API FString TG_Var_LogValue(struct FTG_Variant& Value);
+template <> TEXTUREGRAPH_API FString TG_Var_LogValue(struct FTG_Material& Value);
+
+
+template <> TEXTUREGRAPH_API void TG_Var_SetValueFromString(int& Value, const FString& StrVal);
+template <> TEXTUREGRAPH_API void TG_Var_SetValueFromString(bool& Value, const FString& StrVal);
+template <> TEXTUREGRAPH_API void TG_Var_SetValueFromString(float& Value, const FString& StrVal);
+template <> TEXTUREGRAPH_API void TG_Var_SetValueFromString(uint8& Value, const FString& StrVal);
+template <> TEXTUREGRAPH_API void TG_Var_SetValueFromString(TObjectPtr<UObject>& Value, const FString& StrVal);
+
+template <> TEXTUREGRAPH_API void TG_Var_SetValueFromString(FLinearColor& Value, const FString& StrVal);
+template <> TEXTUREGRAPH_API void TG_Var_SetValueFromString(FVector4f& Value, const FString& StrVal);
+template <> TEXTUREGRAPH_API void TG_Var_SetValueFromString(FVector2f& Value, const FString& StrVal);
+template <> TEXTUREGRAPH_API void TG_Var_SetValueFromString(FName& Value, const FString& StrVal);
+template <> TEXTUREGRAPH_API void TG_Var_SetValueFromString(FString& Value, const FString& StrVal);
+
+//template <> TEXTUREGRAPH_API void TG_Var_SetValueFromString(struct FTG_Texture& Value, const FString& StrVal);
+template <> TEXTUREGRAPH_API void TG_Var_SetValueFromString(struct FTG_Scalar& Value, const FString& StrVal);
+template <> TEXTUREGRAPH_API void TG_Var_SetValueFromString(struct FTG_OutputSettings& Value, const FString& StrVal);
+template <> TEXTUREGRAPH_API void TG_Var_SetValueFromString(struct FTG_TextureDescriptor& Value, const FString& StrVal);
+template <> TEXTUREGRAPH_API void TG_Var_SetValueFromString(struct FTG_Variant& Value, const FString& StrVal);
+template <> TEXTUREGRAPH_API void TG_Var_SetValueFromString(struct FTG_Material& Value, const FString& StrVal);
diff --git a/Engine/Plugins/TextureGraph/Source/TextureGraph/TextureGraph.Build.cs b/Engine/Plugins/TextureGraph/Source/TextureGraph/TextureGraph.Build.cs
index cf932ced49a5..5518ba3c5471 100644
--- a/Engine/Plugins/TextureGraph/Source/TextureGraph/TextureGraph.Build.cs
+++ b/Engine/Plugins/TextureGraph/Source/TextureGraph/TextureGraph.Build.cs
@@ -7,7 +7,6 @@ public class TextureGraph : ModuleRules
public TextureGraph(ReadOnlyTargetRules Target) : base(Target)
{
PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs;
- bUseRTTI = true;
bEnableExceptions = true;
PublicIncludePathModuleNames.AddRange(
new string[]
diff --git a/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/2D/Tex.cpp b/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/2D/Tex.cpp
index 4ed3633d9d4c..6765f35b2ca6 100644
--- a/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/2D/Tex.cpp
+++ b/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/2D/Tex.cpp
@@ -62,7 +62,7 @@ TexDescriptor::TexDescriptor(uint32 InWidth, uint32 InHeight, EPixelFormat InFor
: Name(Util::RandomID())
, Width(InWidth)
, Height(InHeight)
- , Format(Format)
+ , Format(InFormat)
, NumChannels(TextureHelper::GetChannelsFromPixelFormat(InFormat))
{
}
diff --git a/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/Data/Blob.h b/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/Data/Blob.h
index a29d8e460f21..18d67a2771da 100644
--- a/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/Data/Blob.h
+++ b/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/Data/Blob.h
@@ -110,6 +110,7 @@ public:
virtual FString DisplayName() const;
virtual bool IsFinalised() const { return bIsFinalised; }
virtual bool IsTiled() const { return false; }
+ virtual bool IsPromise() const { return false; }
virtual bool CanCalculateHash() const { return IsFinalised(); }
virtual void FinaliseNow(bool bNoCalcHash, CHashPtr FixedHash);
diff --git a/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/Data/BlobRef.h b/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/Data/BlobRef.h
index 4d2ff0c2c4f7..9a198c23f515 100644
--- a/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/Data/BlobRef.h
+++ b/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/Data/BlobRef.h
@@ -9,6 +9,8 @@
#define BLOB_REF_SIMPLE 1
#define DEBUG_BLOB_REF_KEEPING 0
+class Blob;
+
template <class BlobType>
class T_BlobRef
{
diff --git a/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/Data/TiledBlob.cpp b/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/Data/TiledBlob.cpp
index 263144fbac8c..cdb749765e02 100644
--- a/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/Data/TiledBlob.cpp
+++ b/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/Data/TiledBlob.cpp
@@ -268,11 +268,8 @@ void TiledBlob::CopyResolveLateBound(BlobPtr RHS_)
{
check(RHS_ != nullptr);
- TiledBlob* RHS = dynamic_cast<TiledBlob*>(RHS_.get());
-
- /// If this isn't a
- if (RHS)
- *this = *RHS;
+ if (RHS_->IsTiled())
+ *this = *static_cast<const TiledBlob*>(RHS_.get());
else
{
/// Single BlobObj type
@@ -1284,12 +1281,9 @@ void TiledBlob_Promise::CopyResolveLateBound(BlobPtr RHS_)
{
check(RHS_ != nullptr);
- TiledBlob_Promise* RHS = dynamic_cast<TiledBlob_Promise*>(RHS_.get());
-
- /// If this isn't a
- if (RHS)
- *this = *RHS;
- else if (dynamic_cast<TiledBlob*>(RHS_.get()))
+ if (RHS_->IsTiled() && RHS_->IsPromise())
+ *this = *static_cast<TiledBlob_Promise*>(RHS_.get());
+ else if (RHS_->IsTiled())
TiledBlob::CopyResolveLateBound(RHS_);
else
{
diff --git a/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/Data/TiledBlob.h b/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/Data/TiledBlob.h
index 9d02366cf747..3c9f5a5386ec 100644
--- a/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/Data/TiledBlob.h
+++ b/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/Data/TiledBlob.h
@@ -66,7 +66,6 @@ public:
virtual AsyncPrepareResult PrepareForWrite(const ResourceBindInfo& BindInfo) override;
virtual FString DisplayName() const override;
virtual bool IsTiled() const override { return true; }
- virtual bool IsPromise() const { return false; }
virtual bool CanCalculateHash() const override;
virtual void SetTile(int32 X, int32 Y, BlobRef Tile);
virtual void SetTiles(const BlobPtrTiles& InTiles);
diff --git a/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/FxMat/RenderMaterial.cpp b/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/FxMat/RenderMaterial.cpp
index 4c2428f1070e..1ca93670b29d 100644
--- a/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/FxMat/RenderMaterial.cpp
+++ b/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/FxMat/RenderMaterial.cpp
@@ -45,8 +45,8 @@ AsyncTransformResultPtr RenderMaterial::Exec(const TransformArgs& Args)
BlobPtr TargetBlob = Args.Target.lock();
check(TargetBlob);
- DeviceBuffer_FX* TargetBuffer = dynamic_cast<DeviceBuffer_FX*>(TargetBlob->GetBufferRef().get());
- check(TargetBuffer);
+ check(TargetBlob->GetBufferRef().GetDeviceType() == DeviceType::FX);
+ DeviceBuffer_FX* TargetBuffer = static_cast<DeviceBuffer_FX*>(TargetBlob->GetBufferRef().get());
Tex* TexObj = TargetBuffer->GetTexture().get();
check(TexObj);
diff --git a/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/FxMat/RenderMaterial_FX_MinMax.cpp b/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/FxMat/RenderMaterial_FX_MinMax.cpp
index 52a2b256aa76..bf828bec862f 100644
--- a/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/FxMat/RenderMaterial_FX_MinMax.cpp
+++ b/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/FxMat/RenderMaterial_FX_MinMax.cpp
@@ -69,8 +69,8 @@ AsyncTransformResultPtr RenderMaterial_FX_MinMax::Exec(const TransformArgs& Args
check(TargetBlob);
- DeviceBuffer_FX* TargetBuffer = dynamic_cast<DeviceBuffer_FX*>(TargetBlob->GetBufferRef().get());
- check(TargetBuffer);
+ check(TargetBlob->GetBufferRef().GetDeviceType() == DeviceType::FX);
+ DeviceBuffer_FX* TargetBuffer = static_cast<DeviceBuffer_FX*>(TargetBlob->GetBufferRef().get());
Target = TargetBuffer->GetTexture();
check(Target.get());
diff --git a/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/TextureGraphEngine.Build.cs b/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/TextureGraphEngine.Build.cs
index 916410737221..a5de0c29b269 100644
--- a/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/TextureGraphEngine.Build.cs
+++ b/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/TextureGraphEngine.Build.cs
@@ -31,7 +31,6 @@ public class TextureGraphEngine : ModuleRules
public TextureGraphEngine(ReadOnlyTargetRules Target) : base(Target)
{
PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;
- bUseRTTI = true;
bEnableExceptions = true;
// Disable Clang analysis due to a crash in clang-cl
diff --git a/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/Transform/Expressions/T_Filter.cpp b/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/Transform/Expressions/T_Filter.cpp
index a0f168fe3b5d..ce5907019cc5 100644
--- a/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/Transform/Expressions/T_Filter.cpp
+++ b/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/Transform/Expressions/T_Filter.cpp
@@ -68,7 +68,7 @@ static JobUPtr CreateWarp(FString Name, MixUpdateCyclePtr InCycle, BufferDescrip
->AddArg(ARG_FLOAT(Intensity, "Intensity"))
;
- return std::move(RenderJob);
+ return RenderJob;
}
TiledBlobPtr T_Filter::CreateDirectionalWarp(MixUpdateCyclePtr InCycle, BufferDescriptor DesiredDesc, TiledBlobPtr SourceTexture, TiledBlobPtr Mask, float Intensity, float AngleRad, int32 InTargetId)
diff --git a/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/Transform/Mesh/T_MeshEncodedAsTexture.cpp b/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/Transform/Mesh/T_MeshEncodedAsTexture.cpp
index 6e0ca17fa76e..e6b5f636d9f6 100644
--- a/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/Transform/Mesh/T_MeshEncodedAsTexture.cpp
+++ b/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/Transform/Mesh/T_MeshEncodedAsTexture.cpp
@@ -67,7 +67,7 @@ static JobUPtr CreateGenericJob(MixUpdateCyclePtr Cycle, int32 TargetId, FString
/// this can be safely deleted
Result->GetBufferRef()->SetDeviceTransferChain(DeviceBuffer::FXOnlyTransferChain);
- return std::move(JobP);
+ return JobP;
}
TiledBlobPtr T_MeshEncodedAsTexture::Create_WorldPos(MixUpdateCyclePtr Cycle, int32 TargetId)
diff --git a/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/Transform/Mix/T_UpdateTargets.cpp b/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/Transform/Mix/T_UpdateTargets.cpp
index 2468eb91daf9..1c2f9cb679bd 100644
--- a/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/Transform/Mix/T_UpdateTargets.cpp
+++ b/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/Transform/Mix/T_UpdateTargets.cpp
@@ -65,7 +65,7 @@ JobUPtr T_UpdateTargets::CreateJob(MixUpdateCyclePtr Cycle, int32 TargetId, bool
UpdateTargetsTransform->SetShouldUpdate(ShouldUpdate);
BlobTransformPtr Transform = std::static_pointer_cast<BlobTransform>(UpdateTargetsTransform);
JobUPtr job = std::make_unique<Job>(Cycle->GetMix(), TargetId, Transform);
- return std::move(job);
+ return job;
}
void T_UpdateTargets::Create(MixUpdateCyclePtr Cycle, int32 TargetId, bool ShouldUpdate)
diff --git a/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/Transform/Utility/T_CombineTiledBlob.cpp b/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/Transform/Utility/T_CombineTiledBlob.cpp
index 04c3c271e877..d72c8067e124 100644
--- a/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/Transform/Utility/T_CombineTiledBlob.cpp
+++ b/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/Transform/Utility/T_CombineTiledBlob.cpp
@@ -249,8 +249,8 @@ AsyncTransformResultPtr CombineTiledBlob_Transform::Exec(const TransformArgs& Ar
BlobPtr Target = Args.Target.lock();
check(Target);
- DeviceBuffer_FX* DevBuffer = dynamic_cast<DeviceBuffer_FX*>(Target->GetBufferRef().get());
- check(DevBuffer);
+ check(Target->GetBufferRef().GetDeviceType() == DeviceType::FX);
+ DeviceBuffer_FX* DevBuffer = static_cast<DeviceBuffer_FX*>(Target->GetBufferRef().get());
T_Tiles<DeviceBufferRef> Tiles(Source->Rows(), Source->Cols());
DrawTilesSettings* DrawSettingsToUse = nullptr;
@Jiboo
Copy link
Author

Jiboo commented Jun 28, 2025

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment