Setters and getters are native functions called by FProperties when setting property values with *_InContainer functions.
Setters and getter function names can be manually specified with Setter = Func and Getter = Func keywords inside of UPROEPRTY macro but they will also be automatically parsed if the name is not explicitly specified if the setter or getter function name matches SetPropertyName and GetPropertyName pattern.
The latter behavior can be disabled in UHT's DefaultEngine.ini by setting AutomaticSettersAndGetters=False.
ImportText and ExportTextItem functions have been deprecated and should be replaced with *_InContainer or *_Direct variants.
#rb Steve.Robb
#preflight 6210a377a83e0bcefd03d9e1
#ROBOMERGE-OWNER: marc.audy
#ROBOMERGE-AUTHOR: robert.manuszewski
#ROBOMERGE-SOURCE: CL 19070318 via CL 19098059 via CL 19104650 via CL 19104661 via CL 19110012
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)
[CL 19147839 by marc audy in ue5-main branch]
- Removed the problematic static that caused the crash and introduced a new caching system via a UPlatformSettingsManager class that keeps explicit references to the settings instead of adding them to the root
- Switched the platform names to be more consistently FName instead of roundtripping through FString
- Slightly unrelated: Added DeterminesOutputType metadata to FindParentWidgetOfType to avoid needing an extra cast in typical usage
#jira UE-142875
#rb nick.darnell
#preflight 620c788a252ef638b5806fd7
#ROBOMERGE-AUTHOR: michael.noland
#ROBOMERGE-SOURCE: CL 19060400 in //UE5/Release-5.0/... via CL 19076932
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)
[CL 19120907 by michael noland in ue5-main branch]
This represents UE4/Main @18073326, Release-5.0 @18081140 and Dev-PerfTest @18045971
[CL 18081471 by aurel cordonnier in ue5-release-engine-test branch]
#ROBOMERGE-SOURCE: CL 16716121 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)
[CL 16716124 by nick darnell in ue5-release-engine-test branch]
#ROBOMERGE-SOURCE: CL 16606760 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v828-16531559)
[CL 16606770 by nick darnell in ue5-release-engine-test branch]
The base class of any per platform settings. The pattern for using these is as follows.
Step 1) Subclass UPlatformSettings, UMyPerPlatformSettings : public UPlatformSettings.
Step 2) For your system should already have a UDeveloperSettings that you created so that
users can customize other properties for your system in the project. On that class
you need to create a property of type FPerPlatformSettings, e.g.
UPROPERTY(EditAnywhere, Category=Platform)
FPerPlatformSettings PlatformOptions
Step 3) In your UDeveloperSettings subclasses construct, there should be a line like this,
PlatformOptions.Settings = UPlatformSettings::GetAllPlatformSettings<UMyPerPlatformSettings>();
This will actually ensure that you initialize the settings exposed in the editor to whatever
the current platform configuration is for them.
Step 4) Nothing else needed. In your system code, you will just call
UMyPerPlatformSettings* MySettings = UPlatformSettings::GetSettingsForPlatform<UMyPerPlatformSettings>()
that will get you the current settings for the active platform, or the simulated platform in the editor.
Josh.Adams, Michael.Noland, Daren.Cheng
[FYI] Josh.Adams, Michael.Noland, Daren.Cheng
#ROBOMERGE-SOURCE: CL 16603959 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v828-16531559)
[CL 16603966 by nick darnell in ue5-release-engine-test branch]