I currently want my struct to hold 2 bitmask enums declared as
UENUM(BlueprintType, meta = (Bitflags, UseEnumValuesAsMaskValuesInEditor = "true"))
enum class EScaleIncreaseAt : uint8
{
NONE = 0 UMETA(Hidden),
At2 = 1 << 0, At3 = 1 << 1, At4 = 1 << 2, At5 = 1 << 3,
At6 = 1 << 4, At7 = 1 << 5, At8 = 1 << 6, At9 = 1 << 7
};
ENUM_CLASS_FLAGS(EScaleIncreaseAt);
UENUM(BlueprintType, meta = (bitflags, UseEnumValuesAsMaskValuesInEditor = "true"))
enum class EModEffects : uint8
{
NONE = 0 UMETA(Hidden), TYPE1= 1 << 0, TYPE2 = 1 << 1,
TYPE3 = 1 << 2, TYPE4 = 1 << 3, TYPE5 = 1 << 4,
};
ENUM_CLASS_FLAGS(EModEffects);
(appearently you can’t use int32 as a bitmask type even though the holding variable can be int32… and the other 24 bits could be useful in some situations)
I include the file for the enums to be defined in the struct, and in the struct I have declared:
UPROPERTY(EditDefaultsOnly, meta = (Bitmask, BitmaskEnum = EScaleIncreaseAt))
int32 ScalingMask;
UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, meta = (Bitmask, BitmaskEnum = EModEffects))
int32 ModificationType;
this all works as expected, but when I look at the output log I am being blasted with:
Warning: Short type name "EScaleIncreaseAt" provided for TryFindType. Please convert it to a path name (suggested: "/Script/[ProjectName].EScaleIncreaseAt"). Callstack:
UnknownFunction [] // X10
// then
Warning: Short type name "EModEffects" provided for TryFindType. Please convert it to a path name (suggested: "/Script/[ProjectName].EModEffects"). Callstack:
UnknownFunction [] // X10
just opening a blueprint that holds one of these structs for a few seconds puts 1,100 instances of “TryFindType” into the log file (that would be 550 for each variable).
the only information on this is about using a bitmask as an argument (I have the same UMETA arguments just as the variable mark-up) just holding them is flooding the log with warnings. can’t wait to hold 5-30 of these structs, how useful the log will be.
am I missing something for declaring the bitmask enum itself, or declaring the variable that will use it?