UENUM does not allow having negative values

Hello,

so the question is in the title: Why does UENUM not allow having negative values? I want something like this:



UENUM()
enum Direction {BACKWARD = -1, STOP = 0, FORWARD = 1};

But when I compile I see the error: Explicitly specified enum values must be greater than any previous value and less than 256
It is thrown from HeaderParser.cpp:700



int32 NewEnumValue = 0;
...
if ((NewEnumValue < CurrentEnumValue) || (NewEnumValue > 255))

Why is that? Can I work around this?

UENUM enums use unsigned 8-bit integers (uint8) which cannot be negative values. Valid values range from 0 to 255.

Thanks, well I decided to just remove UENUM modifier since I am not going to use that particular enum in Editor.