Blueprints: Add support for class metadata IgnoreCategoryKeywordsInSubclasses, which prevents inheritance of showCategories, hideCategories, AutoExpandCategories, and AutoCollapseCategories metadata when placed on the immediate parent of a Blueprint
UnrealHeaderTool: Add a new UCLASS() specifier ComponentWrapperClass, which implies IgnoreCategoryKeywordsInSubclasses metadata
Engine: Add ComponentWrapperClass to all actors that contain a component marked with ExposeFunctionCategories
[UE-9115]
[CL 2448606 by Matthew Griffin in Main branch]
UnrealHeaderTool: Improve default-value parsing for things like FText::FromString, and it now treats C++ types as case-sensitive
[CL 2446749 by Matthew Griffin in Main branch]
PPF_LocalizedOnly
CPF_Localized
CLASS_Localized
UProperty::IsLocalized()
Localized specifiers in UPROPERTYs.
#codereview robert.manuszewski,justin.sargent
[CL 2420160 by Steve Robb in Main branch]
- Moved some Android settings to ProjectSettings, re-enabled SDK settings
- Removed SigningConfig.xml, and moved those settings into project settings
- Added concept of NotForLicensees and NoRedist engine and project config settings
- Removed BaseInternalGame.ini, replaced with NotForLicensees/BaseGame.ini
- Moved User*.ini to end of .ini hierarchy
- Added support for CLASS_GlobalUserConfig, so their settings will be saved to <AppData>/.../User*.ini (useful for SDK paths, etc)
- Enabled AndroidPlatformEditor module on Mac
- Changed Mac Build.sh to allow for Android on the commandline (just pass through if it's not an Xcode platform name)
- Iterative Android packaging now looks at just the important .ini sections, NOT entire .ini files
#codereview jamie.dale,james.moran,michael.trepka,robert.jones,chris.babcock
[CL 2413870 by Josh Adams in Main branch]
Prevented a token check against the class name until parsing of the class definition has started.
Added a test case.
#codereview robert.manuszewski
[CL 2405070 by Steve Robb in Main branch]
- Added cast flag support to a handful of the most commonly used classes in the engine, determined by tracking all calls to IsA() over typical workflows.
- Result: reduced IsA() function calls from 21k to 1k instances per frame in a large test scene (1.0ms to 0.06ms per frame).
#codereview Steve.Robb
[CL 2398934 by Zak Middleton in Main branch]
Added ability to adaptively change display units to a more appropriate range on numerical property editors. This behaviour can be disabled with a AllowUnitRangeAdaption=False meta tag.
Spin boxes now accept a numeric type interface which allows customization of numeric handling.
[CL 2398620 by Andrew Rodham in Main branch]
UE-4916
#change Replaced CLASS_Temporary (UHT-only flag) with CLASS_Constructed to check if a class needs to be constructed or not in generated code
#change Modified code generator to make sure UClasses don't get reconstructed if not required
[CL 2351525 by Robert Manuszewski in Main branch]
In order to use new feature user have to change GENERATED_UCLASS_BODY() macro to the new GENERATED_BODY(). Then no constructor is implicitly declared. If there is no constructor declared in UCLASS then PCIP one is declared and defined that passes PCIP down to super-class. On the other hand if there is a constructor declared then UObject system expects to have one of the default or PCIP constructor to initialize a class during loading from disk, default object creation, etc. and it expects that user will declare and define one.
There is a possibility now to create UCLASS with the default constructor (i.e. no PCIP).
New macro is encouraged by standard classes and in-editor wizards templates.
#codereview Robert.Manuszewski
[CL 2325282 by Jaroslaw Palczynski in Main branch]