C++ Data Type Snippets

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.

Interfaces

For more information about interfaces in Unreal, check out this wiki article.

  • You need to define two classes: U<Name> and I<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();

};

Structs

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 the USTRUCT 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;

};

Last updated