13template <
typename FuncType>
17#define PLATFORM_BREAK() raise(SIGTRAP)
19#define UE_DEBUG_BREAK_IMPL() PLATFORM_BREAK()
21#define ANDROID_HAS_RTSIGNALS PLATFORM_USED_NDK_VERSION_INTEGER >= 21
23#ifndef ANDROID_PROFILING_ENABLED
24#define ANDROID_PROFILING_ENABLED !(UE_BUILD_SHIPPING)
43 UE_DEPRECATED(5.1,
"SetDeviceOrientation is deprecated. Use SetAllowedDeviceOrientation instead.")
56 UE_DEPRECATED(4.21,
"void FPlatformMisc::GetEnvironmentVariable(Name, Result, Length) is deprecated. Use FString FPlatformMisc::GetEnvironmentVariable(Name) instead.")
245#if !UE_BUILD_SHIPPING
258#if STATS || ENABLE_STATNAMEDEVENTS
265#if (STATS || ENABLE_STATNAMEDEVENTS)
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
ECrashContextType
Definition GenericPlatformCrashContext.h:112
Definition IDelegateInstance.h:14
Definition DelegateSignatureImpl.inl:310
Definition AndroidPlatformMisc.h:14
Definition UnrealString.h.inl:34
Definition AndroidRuntimeSettings.h:19
Definition GenericPlatformMisc.h:301
Definition GenericPlatformMisc.h:320
Definition AndroidPlatformMisc.h:141
int Level
Definition AndroidPlatformMisc.h:143
float Temperature
Definition AndroidPlatformMisc.h:144
FAndroidMisc::EBatteryState State
Definition AndroidPlatformMisc.h:142
Definition AndroidPlatformMisc.h:74
uint64_t UserTime
Definition AndroidPlatformMisc.h:76
uint64_t SystemTime
Definition AndroidPlatformMisc.h:78
uint64_t IRQTime
Definition AndroidPlatformMisc.h:80
uint64_t IOWaitTime
Definition AndroidPlatformMisc.h:82
uint64_t SoftIRQTime
Definition AndroidPlatformMisc.h:79
uint64_t IdleTime
Definition AndroidPlatformMisc.h:81
uint64_t NiceTime
Definition AndroidPlatformMisc.h:77
uint64_t TotalTime
Definition AndroidPlatformMisc.h:75
Definition AndroidPlatformMisc.h:86
int32 Status[MaxSupportedCores]
Definition AndroidPlatformMisc.h:93
static const int32 MaxSupportedCores
Definition AndroidPlatformMisc.h:87
FAndroidMisc::FCPUStatTime CurrentUsage[MaxSupportedCores]
Definition AndroidPlatformMisc.h:91
double AverageUtilization
Definition AndroidPlatformMisc.h:95
FAndroidMisc::FCPUStatTime PreviousUsage[MaxSupportedCores]
Definition AndroidPlatformMisc.h:92
double Utilization[MaxSupportedCores]
Definition AndroidPlatformMisc.h:94
int32 ActivatedCoreCount
Definition AndroidPlatformMisc.h:89
ANSICHAR Name[6]
Definition AndroidPlatformMisc.h:90
int32 CoreCount
Definition AndroidPlatformMisc.h:88
Definition AndroidPlatformMisc.h:33
static CORE_API FString GetGLVersion()
Definition AndroidOpenGLPlatform.cpp:15
static CORE_API void SetOnPauseCallback(OnPauseCallBackType InOnPauseCallback)
Definition AndroidPlatformMisc.cpp:2876
static CORE_API float GetVirtualKeyboardInputHeight()
Definition AndroidPlatformMisc.cpp:3224
static UE_FORCEINLINE_HINT int32 GetMaxPathLength()
Definition AndroidPlatformMisc.h:51
static bool GetOverrideResolution(int32 &ResX, int32 &ResY)
Definition AndroidPlatformMisc.h:232
static CORE_API int32 AndroidMajorVersion
Definition AndroidPlatformMisc.h:271
static CORE_API FString GetVKQualityRecommendation()
Definition AndroidPlatformMisc.cpp:2403
static CORE_API bool SupportsLocalCaching()
Definition AndroidPlatformMisc.cpp:1059
static CORE_API FString GetPendingActivationProtocol()
Definition AndroidPlatformMisc.cpp:1738
static CORE_API int GetMobilePropagateAlphaSetting()
Definition AndroidPlatformMisc.cpp:3011
static CORE_API bool ShouldUseVulkan()
Definition AndroidPlatformMisc.cpp:2322
static CORE_API IPlatformChunkInstall * GetPlatformChunkInstall()
Definition AndroidPlatformMisc.cpp:1769
static CORE_API ENetworkConnectionType GetNetworkConnectionType()
Definition AndroidPlatformMisc.cpp:2812
static CORE_API FString DeviceMake
Definition AndroidPlatformMisc.h:273
static CORE_API FBatteryState GetBatteryState()
Definition AndroidPlatformMisc.cpp:2745
static CORE_API uint32 GetCoreFrequency(int32 CoreIndex, ECoreFrequencyProperty CoreFrequencyProperty)
Definition AndroidPlatformMisc.cpp:2938
static CORE_API FCPUState & GetCPUState()
Definition AndroidPlatformMisc.cpp:985
static CORE_API bool SetStoredValue(const FString &InStoreId, const FString &InSectionName, const FString &InKeyName, const FString &InValue)
Definition AndroidPlatformMisc.cpp:855
static CORE_API const FString GetDeviceMake()
Definition AndroidPlatformMisc.cpp:1903
static CORE_API bool FileExistsInPlatformPackage(const FString &RelativePath)
Definition AndroidPlatformMisc.cpp:1855
static CORE_API bool GetVolumeButtonsHandledBySystem()
Definition AndroidPlatformMisc.cpp:1937
static CORE_API FString DeviceModel
Definition AndroidPlatformMisc.h:274
static CORE_API FString GetPrimaryGPUBrand()
Definition AndroidPlatformMisc.cpp:2897
static CORE_API int GetVolumeState(double *OutTimeOfChangeInSec=nullptr)
Definition AndroidPlatformMisc.cpp:2652
static CORE_API int32 NumberOfCores()
Definition AndroidPlatformMisc.cpp:952
static CORE_API void SetCellularPreference(int32 Value)
Definition AndroidPlatformMisc.cpp:3119
static CORE_API int32 GetTargetSDKVersion()
Definition AndroidPlatformMisc.cpp:1898
TCHAR int32 ResultLength
Definition AndroidPlatformMisc.h:57
static CORE_API bool SupportsTouchInput()
Definition AndroidPlatformMisc.cpp:1653
static CORE_API void SetCrashHandler(void(*CrashHandler)(const FGenericCrashContext &Context))
Definition AndroidPlatformMisc.cpp:1607
static CORE_API FString DeviceBuildNumber
Definition AndroidPlatformMisc.h:275
static void SaveDeviceOrientation(EDeviceScreenOrientation NewDeviceOrentation)
Definition AndroidPlatformMisc.h:304
static CORE_API bool HasMemoryWarningHandler()
Definition AndroidPlatformMisc.cpp:3064
static CORE_API const FString GetDeviceModel()
Definition AndroidPlatformMisc.cpp:1908
static CORE_API bool SetNativeDisplayRefreshRate(int32 RefreshRate)
Definition AndroidPlatformMisc.cpp:3029
static EDeviceScreenOrientation GetDeviceOrientation()
Definition AndroidPlatformMisc.h:42
static CORE_API bool IsSupportedAndroidDevice()
Definition AndroidPlatformMisc.cpp:2009
static CORE_API FString ProductName
Definition AndroidPlatformMisc.h:277
static CORE_API const FString GetProjectVersion()
Definition AndroidPlatformMisc.cpp:1928
static CORE_API bool IsVulkanAvailable()
Definition AndroidPlatformMisc.cpp:2274
static CORE_API void RequestExit(bool Force, const TCHAR *CallSite=nullptr)
Definition AndroidPlatformMisc.cpp:267
static CORE_API bool IsDebuggerPresent()
Definition AndroidPlatformMisc.cpp:2536
TCHAR * Result
Definition AndroidPlatformMisc.h:57
static CORE_API TArray< uint8 > GetSystemFontBytes()
Definition AndroidPlatformMisc.cpp:1757
EBatteryState
Definition AndroidPlatformMisc.h:133
@ BATTERY_STATE_UNKNOWN
Definition AndroidPlatformMisc.h:134
@ BATTERY_STATE_CHARGING
Definition AndroidPlatformMisc.h:135
@ BATTERY_STATE_DISCHARGING
Definition AndroidPlatformMisc.h:136
@ BATTERY_STATE_NOT_CHARGING
Definition AndroidPlatformMisc.h:137
@ BATTERY_STATE_FULL
Definition AndroidPlatformMisc.h:138
static CORE_API const FString GetProductName()
Definition AndroidPlatformMisc.cpp:1923
static CORE_API bool IsRunningOnBattery()
Definition AndroidPlatformMisc.cpp:2760
static CORE_API void PlatformTearDown()
Definition AndroidPlatformMisc.cpp:647
static CORE_API FString GetOSVersion()
Definition AndroidPlatformMisc.cpp:2908
static CORE_API TMap< FString, FString > ConfigRulesVariables
Definition AndroidPlatformMisc.h:283
static CORE_API bool bNeedsRestartAfterPSOPrecompile
Definition AndroidPlatformMisc.h:287
static const TCHAR * GetDefaultDeviceProfileName()
Definition AndroidPlatformMisc.cpp:1673
static CORE_API FString GetGPUFamily()
Definition AndroidOpenGLPlatform.cpp:10
static CORE_API void PlatformHandleSplashScreen(bool ShowSplashScreen)
Definition AndroidPlatformMisc.cpp:695
static CORE_API bool UseNewWindowBehavior()
Definition AndroidPlatformMisc.cpp:2526
static CORE_API bool GetStoredValue(const FString &InStoreId, const FString &InSectionName, const FString &InKeyName, FString &OutValue)
Definition AndroidPlatformMisc.cpp:866
TFunction< void()> OnPauseCallBackType
Definition AndroidPlatformMisc.h:233
static CORE_API FString GetVulkanVersion()
Definition AndroidPlatformMisc.cpp:2391
static CORE_API void GetValidTargetPlatforms(class TArray< class FString > &TargetPlatformNames)
Definition AndroidOpenGLPlatform.cpp:35
static CORE_API const FString GetDeviceBuildNumber()
Definition AndroidPlatformMisc.cpp:1913
static CORE_API FString GetFatalSignalMessage(int Signal, siginfo *Info)
static CORE_API void CreateGuid(struct FGuid &Result)
Definition AndroidPlatformMisc.cpp:1126
static CORE_API void UnlockAndroidWindow()
static CORE_API int32 AndroidBuildVersion
Definition AndroidPlatformMisc.h:280
static CORE_API void PlatformPreInit()
Definition AndroidPlatformMisc.cpp:361
static CORE_API void SetOnReleaseWindowCallback(ReleaseWindowCallbackType InOnReleaseWindowCallback)
Definition AndroidPlatformMisc.cpp:2864
TFunction< void(void *NewNativeHandle)> ReInitWindowCallbackType
Definition AndroidPlatformMisc.h:225
static CORE_API void SetForceUnsupported(bool bInOverride)
Definition AndroidPlatformMisc.cpp:1976
static CORE_API int32 TargetSDKVersion
Definition AndroidPlatformMisc.h:272
static CORE_API void PlatformInit()
Definition AndroidPlatformMisc.cpp:582
static CORE_API bool HasVulkanDriverSupport()
Definition AndroidPlatformMisc.cpp:2185
static CORE_API bool SupportsShaderIOBlocks()
static CORE_API void HandleNewIntentUri(const FString &IntentUri)
Definition AndroidPlatformMisc.cpp:1743
static CORE_API bool IsInLowPowerMode()
Definition AndroidPlatformMisc.cpp:2766
static CORE_API void ShareURL(const FString &URL, const FText &Description, int32 LocationHintX, int32 LocationHintY)
Definition AndroidPlatformMisc.cpp:1823
static CORE_API void SetAllowedDeviceOrientation(EDeviceScreenOrientation NewAllowedDeviceOrientation)
Definition AndroidPlatformMisc.cpp:3135
static CORE_API void UnregisterForRemoteNotifications()
Definition AndroidPlatformMisc.cpp:1689
static CORE_API void SetVolumeButtonsHandledBySystem(bool enabled)
Definition AndroidPlatformMisc.cpp:1942
static CORE_API int32 GetCellularPreference()
Definition AndroidPlatformMisc.cpp:3126
static CORE_API bool GetUseVirtualJoysticks()
Definition AndroidPlatformMisc.cpp:1627
static CORE_API bool AllowThreadHeartBeat()
Definition AndroidPlatformMisc.cpp:2474
static CORE_API void OverrideFatalSignalHandler(void(*FatalSignalHandlerOverrideFunc)(int Signal, struct siginfo *Info, void *Context, uint32 CrashingThreadId))
static CORE_API bool DeleteStoredSection(const FString &InStoreId, const FString &InSectionName)
Definition AndroidPlatformMisc.cpp:894
static CORE_API void SetDeviceOrientation(EDeviceScreenOrientation NewDeviceOrentation)
Definition AndroidPlatformMisc.cpp:3114
static CORE_API bool IsInSignalHandler()
Definition AndroidPlatformMisc.cpp:1557
static CORE_API bool GetDiskTotalAndFreeSpace(const FString &InPath, uint64 &TotalNumberOfBytes, uint64 &NumberOfFreeBytes)
Definition AndroidPlatformMisc.cpp:2913
static CORE_API const TMap< FString, FString > & GetConfigRuleVars()
Definition AndroidPlatformMisc.cpp:2456
static CORE_API float GetDeviceTemperatureLevel()
Definition AndroidPlatformMisc.cpp:2772
static CORE_API FString GetVulkanDeviceNameString()
Definition AndroidPlatformMisc.cpp:2397
static CORE_API FString LoadTextFileFromPlatformPackage(const FString &RelativePath)
Definition AndroidPlatformMisc.cpp:1831
static CORE_API bool SupportsBackbufferSampling()
Definition AndroidPlatformMisc.cpp:3070
static CORE_API const TCHAR * GetSystemErrorMessage(TCHAR *OutBuffer, int32 BufferCount, int32 Error)
Definition AndroidPlatformMisc.cpp:719
static CORE_API float GetCPUTemperature()
Definition AndroidPlatformMisc.cpp:2973
static CORE_API void NonReentrantRequestExit()
Definition AndroidPlatformMisc.cpp:3085
static CORE_API bool SupportsFloatingPointRenderTargets()
Definition AndroidOpenGLPlatform.cpp:20
static CORE_API bool SupportsES30()
Definition AndroidOpenGLPlatform.cpp:30
static CORE_API FString GetCPUChipset()
Definition AndroidPlatformMisc.cpp:2891
static CORE_API OnPauseCallBackType GetOnPauseCallback()
Definition AndroidPlatformMisc.cpp:2871
static CORE_API bool RemoveNetworkListener(FDelegateHandle Handle)
Definition AndroidPlatformMisc.cpp:3208
static CORE_API void TriggerCrashHandler(ECrashContextType InType, const TCHAR *InErrorMessage, const TCHAR *OverrideCallstack=nullptr)
Definition AndroidPlatformMisc.cpp:1566
ECoreFrequencyProperty
Definition AndroidPlatformMisc.h:290
static CORE_API void ReleaseMobileHaptics()
Definition AndroidPlatformMisc.cpp:1818
static CORE_API bool ShouldUseDesktopVulkan()
Definition AndroidPlatformMisc.cpp:2360
static CORE_API bool AreHeadPhonesPluggedIn()
Definition AndroidPlatformMisc.cpp:2777
static CORE_API bool VolumeButtonsHandledBySystem
Definition AndroidPlatformMisc.h:285
static CORE_API FString GetEnvironmentVariable(const TCHAR *VariableName)
Definition AndroidPlatformMisc.cpp:707
static CORE_API bool HasPlatformFeature(const TCHAR *FeatureName)
Definition AndroidPlatformMisc.cpp:831
static CORE_API void SetVersionInfo(FString AndroidVersion, int32 InTargetSDKVersion, FString DeviceMake, FString DeviceModel, FString DeviceBuildNumber, FString OSLanguage, FString ProductName)
Definition AndroidPlatformMisc.cpp:1875
UE_DEPRECATED(4.21, "void FPlatformMisc::GetEnvironmentVariable(Name, Result, Length) is deprecated. Use FString FPlatformMisc::GetEnvironmentVariable(Name) instead.") static CORE_API void GetEnvironmentVariable(const TCHAR *VariableName
static CORE_API bool RestartApplication()
Definition AndroidPlatformMisc.cpp:305
static CORE_API FString GetDefaultLocale()
Definition AndroidPlatformMisc.cpp:1932
static CORE_API bool UseRenderThread()
Definition AndroidPlatformMisc.cpp:905
static CORE_API int32 GetNativeDisplayRefreshRate()
Definition AndroidPlatformMisc.cpp:3039
static CORE_API bool IsExternalMemoryAndroidHardwareBufferExtensionLoaded()
Definition AndroidPlatformMisc.cpp:2427
static CORE_API void ShowConsoleWindow()
Definition AndroidPlatformMisc.cpp:3187
static CORE_API bool SupportsShaderFramebufferFetch()
Definition AndroidOpenGLPlatform.cpp:25
static CORE_API int32 GetAndroidMajorVersion()
Definition AndroidPlatformMisc.cpp:1893
static CORE_API int32 GetDeviceVolume()
Definition AndroidPlatformMisc.cpp:2665
static CORE_API bool IsAllowedRemoteNotifications()
Definition AndroidPlatformMisc.cpp:1696
static CORE_API ReleaseWindowCallbackType GetOnReleaseWindowCallback()
Definition AndroidPlatformMisc.cpp:2859
static CORE_API bool IsDesktopVulkanAvailable()
Definition AndroidPlatformMisc.cpp:2253
static CORE_API void RegisterThreadName(const char *Name, uint32 ThreadId)
Definition AndroidPlatformMisc.cpp:3098
static CORE_API void SetOnReInitWindowCallback(ReInitWindowCallbackType InOnReInitWindowCallback)
Definition AndroidPlatformMisc.cpp:2852
static CORE_API int32 NumberOfCoresIncludingHyperthreads()
Definition AndroidPlatformMisc.cpp:977
static UE_FORCEINLINE_HINT void MemoryBarrier()
Definition AndroidPlatformMisc.h:249
static CORE_API void PrepareMobileHaptics(EMobileHapticsType Type)
Definition AndroidPlatformMisc.cpp:1803
static CORE_API FString GetCPUVendor()
Definition AndroidPlatformMisc.cpp:2881
static CORE_API void UpdateDeviceOrientation()
Definition AndroidPlatformMisc.cpp:668
static CORE_API TArray< int32 > GetSupportedNativeDisplayRefreshRates()
Definition AndroidPlatformMisc.cpp:3017
static CORE_API const char * GetThreadName(uint32 ThreadId)
Definition AndroidPlatformMisc.cpp:3107
static CORE_API void SetMemoryWarningHandler(void(*Handler)(const FGenericMemoryWarningContext &Context))
Definition AndroidPlatformMisc.cpp:3058
static CORE_API FString GetCPUBrand()
Definition AndroidPlatformMisc.cpp:2886
static CORE_API const FString GetOSLanguage()
Definition AndroidPlatformMisc.cpp:1918
static CORE_API FString OSLanguage
Definition AndroidPlatformMisc.h:276
static CORE_API FDelegateHandle AddNetworkListener(FOnNetworkConnectionChangedDelegate &&InNewDelegate)
Definition AndroidPlatformMisc.cpp:3194
static CORE_API bool Expand16BitIndicesTo32BitOnLoad()
Definition AndroidPlatformMisc.cpp:3006
static bool IsLocalPrintThreadSafe()
Definition AndroidPlatformMisc.h:37
static CORE_API EAppReturnType::Type MessageBoxExt(EAppMsgType::Type MsgType, const TCHAR *Text, const TCHAR *Caption)
Definition AndroidPlatformMisc.cpp:739
static CORE_API void TriggerMobileHaptics()
Definition AndroidPlatformMisc.cpp:1807
static CORE_API void GetOSVersions(FString &out_OSVersionLabel, FString &out_OSSubVersionLabel)
Definition AndroidPlatformMisc.cpp:2902
TFunction< void()> ReleaseWindowCallbackType
Definition AndroidPlatformMisc.h:228
static CORE_API void LocalPrint(const TCHAR *Message)
Definition AndroidPlatformMisc.cpp:315
static CORE_API bool DeleteStoredValue(const FString &InStoreId, const FString &InSectionName, const FString &InKeyName)
Definition AndroidPlatformMisc.cpp:880
static CORE_API ReInitWindowCallbackType GetOnReInitWindowCallback()
Definition AndroidPlatformMisc.cpp:2847
static CORE_API FString AndroidVersion
Definition AndroidPlatformMisc.h:270
static CORE_API int GetBatteryLevel()
Definition AndroidPlatformMisc.cpp:2754
static CORE_API void RegisterForRemoteNotifications()
Definition AndroidPlatformMisc.cpp:1682
static CORE_API const FString GetAndroidVersion()
Definition AndroidPlatformMisc.cpp:1888
Definition GenericPlatformCrashContext.h:395
Definition GenericPlatformCrashContext.h:899