UProperty wrapped by Marco(#if) doesn't work

#if AAA
UPROPERTY(EditDefaultsOnly, Category = Test)
float TestPurposeInMarco;

The property TestPurposeInMarco is not showed in UnrealEngine blueprints

AAA is defined, value is 1


This does not work in general. Only a few macros and constants are known to the UnrealHeaderTool: WITH_EDITOR, WITH_EDITORONLY_DATA, CPP, 0 and 1. Anything else inside a macro block will be ignored by the tool.

As of UE 4.13, this kind of thing produces an error instead of being ignored:

“New: Errors are now raised when a UnrealHeaderTool markup is in a skipped preprocessor block.”


Thats a really bad design