description |
---|
This page contains several code snippets for quickly creating C++ data types that can be used with Blueprints. Use this as reference or as a copy + paste resource as needed. |
For more information about interfaces in Unreal, check out this wiki article.
- You need to define two classes:
U<Name>
andI<Name>
. The second class is what your C++ code will extend to implement the interface.
UINTERFACE(BlueprintType)
class MYPROJECT_API UExample : public UInterface
{
GENERATED_BODY()
};
class MYPROJECT_API IExample
{
GENERATED_BODY()
public:
UFUNCTION(BlueprintNativeEvent, BlueprintCallable)
bool NativeEventExampleMethod();
UFUNCTION(BlueprintImplementableEvent, BlueprintCallable)
bool BlueprintEventExampleMethod();
};
For more information about structs in Unreal, check out this wiki article.
- To access your struct from Blueprint, make sure to add the
BlueprintType
keyword to theUSTRUCT
macro. - Structs must have a default constructor.
- It's Unreal coding standard to prefix your structs with a capital
F
. - You cannot use the
UFUNCTION
macro with methods on structs.
USTRUCT(BlueprintType)
struct MYPROJECT_API FExample
{
GENERATED_BODY()
public:
UPROPERTY(BlueprintReadOnly)
int32 SomeValue;
};