I would like to ask about the build flag “bAllowUETypesInNamespaces” which allows defining UCLASS/USTRUCT/UENUM types inside of a namespace.
We are considering turning this on for all of our modules and plugins by changing its default value in the “ModuleRules.cs” file to true. Is this something you would recommend doing?
I already tested it and there do not seem to by any issues, but then I wonder why would it be turned off by default. What is the reason for it not being enabled by default?
[Attachment Removed]
This was not enabled globally to limit the potential impact internally and externally.
One aspect of the feature which is enabled regardless of the bAllowUETypesInNamespaces setting is the generation of warnings for things that will cause issues when enabled. Things such as a UENUM or UPROPERTY appearing inside of a namespace will generate a warning when that flag isn’t enabled. This has helped greatly to prepare code bases to have that flag enabled by default.
So I wouldn’t expect any issues if you decided to just enable the flag globally.
[Attachment Removed]