
※この記事で使用しているUnrealのVersionは04.26.0です。
FMathというクラスに「Eval( FString Str, float& OutValue )」という関数があります。
この関数は、文字列の式を計算してfloatで返してくれるようなものです。
↓FunctionLibraryに実装してみた。
MyBlueprintFunctionLibrary.h
// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CoreMinimal.h"
#include "Kismet/BlueprintFunctionLibrary.h"
#include "MyBlueprintFunctionLibrary.generated.h"
/**
*
*/
UCLASS()
class MYPROJECT11_API UMyBlueprintFunctionLibrary : public UBlueprintFunctionLibrary
{
GENERATED_BODY()
public:
UFUNCTION(BlueprintPure)
static float CalcStringFormula(FString InFormulaString);
};

MyBlueprintFunctionLibrary.cpp
// Fill out your copyright notice in the Description page of Project Settings.
#include "MyBlueprintFunctionLibrary.h"
float UMyBlueprintFunctionLibrary::CalcStringFormula(FString InFormulaString)
{
float ReturnValue;
FMath::Eval(InFormulaString, ReturnValue);
return ReturnValue;
}

これをビルドして、適当に指揮を入れてみた結果↓
1+2+3+4

=10.0

3+4*2-5

=6.0

以上