Why enum, declared in c++ does not accessible to choose if BlackBoard?

I’ve declared my enum in MyAiController.h:


UENUM(BlueprintType)
enum class EBotState : uint8
{
    BS_IDLE    = 0  UMETA(DisplayName = "BS_Idle"),
    BS_PURSUE       UMETA(DisplayName = "BS_Pursue"),
    BS_ATACK        UMETA(DisplayName = "BS_Atack")
};

But this enum type is inaccessible to choose in “Key Type” / “Enum Type” field dropdown menu of BlackBoard in the UnrealEditor (Here:

)

1 Like

Looks like only enums declared in UEditor are available here.
But I want to be able to change state in c++ but observe its value in BlackBoard decorators.

Maybe the = 0 is somehow fudging it up? Try it also without any extra metadata to get the simplest possible form. It works for me, and I also generally restart the editor after enum changes too.

Also make sure you are on the latest release version of the engine in general.

I’m having the exact same issue. I declared the Enum the same way (except without the =0 part) and restarted the engine after compiling the code. It’s located in a header file that is listed in my project header file so that it’s accessible anywhere in the project. I can create variables and reference it anywhere. Except I can’t set it as the Enum type in Blackboard.

Did you ever find a way to fix this issue? I’m in UE 4.23

Edit: Found the solution:

4 Likes

Same here. did you manage to solve this issue ?

See my edit above with the solution. The Enum Name should be the c++ name exactly starting with E. So for the OP’s issue it should be EBotState instead of NpcState.