Blackboard Documentation

Blackboard “Key Type”s

NOTE: In the “Key Type” property in the Details pane, the options all start with “BlackboardKeyType_”. Once chosen, they’ll generally append a number, like “_4”. The number is used by code for identification purposes, but it’s irrelevant to users, so you can safely ignore it. (Down the road, hopefully we’ll make this display a bit nicer.)

Here’s information about each type we support:

  • Bool: Basic Boolean type support, i.e. “True” or “False”.

  • Int: Integer type support, i.e. -2, -1, 0, 1, 2, etc.

  • Float: Floating point numerical support: I.E. -7.3, 8.523 * 10^5, etc.

  • Vector: A three-dimensional vector (FVector in code). Defaults to (FLOAT_MAX, FLOAT_MAX, FLOAT_MAX) so that you can distinguish vectors which have been set from uninitialized vectors. (If it defaulted to a zero vector (0,0,0), you’d be unable to tell if it was set but really WANTED to be zero vs. unset.)

  • Enum: For data-created enumerated types, which are assets that define a list of named values. Once you choose “Enum”, you need to specify the enum asset as well (under another subtab).

  • NativeEnum: For code-created enumerated types which are exposed to blueprints. (I.E. UENUM(BlueprintType)). Once you specify NativeEnum, you need to type in the name of that enum in code. Note that the name always starts with “E”. If you type it correctly (an hit enter), “Is Enum Name Valid” will be checked. This is a little cumbersome at the moment, so hopefully down the road we can provide a dropdown of valid enums rather than requiring they be typed by hand.

  • String: Character String (FString) support, i.e. “Hello world!” or “Get them!”

  • Name: Similar to string support, but names (FName in code) are identified by a unique identifier, so equals/not-equals comparisons are very fast.

  • Object: UObject support, i.e. most other types of complex objects in UE4, including components and actors.

  • *]Once you choose UObject, you can further specify the type to allow only actors of a specific class (or classes derived from that class).

  • Class: UClass support, i.e. the class of an object type, not the object itself.