コンテンツブラウザを右クリックしてNew C++ Class

親クラスに Blueprint Function Libraryを選択

Nameに適当にZFunctionsと入れCreate Class。
VisualStudioが起動し

ZFunctions.h
public:
UFUNCTION(BlueprintCallable)
static void CalledFromPython(FString InputString);
を追加してこうなる。
//.Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CoreMinimal.h"
#include "Kismet/BlueprintFunctionLibrary.h"
#include "ZFunctions.generated.h"
UCLASS()
class UNREALPYTHONPROJECT_API UZFunctions : public UBlueprintFunctionLibrary
{
GENERATED BODY()
public:
UFUNCTION(BlueprintCallable)
static void CalledFromPython(FString InputString);
};
ZFunctions.cpp
//.Fill out your copyright notice in the Description page of Project Settings.
#include "ZFunctions.h"
void UZFunctions::CalledFromPython(FString InputString) {
UE_LOG(LogTemp, Error, TEXT("%s"), *InputString);
}
実行する。(Local Windows Debagger)
Outputlogで実行する
import unreal
for x in sorted(dir(unreal)):
print(x)ZFunction が出る

import unreal
for x in sorted(dir(unreal.ZFunctions)):
print(x)
called_from_python が出てくる。
呼んでみる
unreal.ZFunctions.called_from_python('my test string')
呼ばれて作ったエラーメッセージが出た
参考URL

