#pragma once #include "CoreMinimal.h" #include "Kismet/BlueprintFunctionLibrary.h" #include "MCPMaterialLibrary.generated.h" class UMaterialExpression; class UMaterial; class UMaterialFunction; UCLASS() class UEBLUEPRINTMCPEDITOR_API UMCPMaterialLibrary : public UBlueprintFunctionLibrary { GENERATED_BODY() public: UFUNCTION(BlueprintCallable, Category = "MCP|Material") static TArray GetMaterialExpressions(UObject* MaterialOrFunction); UFUNCTION(BlueprintCallable, Category = "MCP|Material") static UMaterialExpression* FindMaterialExpression(UObject* MaterialOrFunction, const FString& NodeId); UFUNCTION(BlueprintCallable, Category = "MCP|Material") static FString DumpMaterialGraphToJson(UObject* MaterialOrFunction); UFUNCTION(BlueprintCallable, Category = "MCP|Material") static FString ConnectMaterialExpressionsRaw(UObject* MaterialOrFunction, UMaterialExpression* FromExpression, const FString& FromOutput, UMaterialExpression* ToExpression, const FString& ToInput); };