UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
LinuxPlatformProperties.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3/*================================================================================
4 LinuxPlatformProperties.h - Basic static properties of a platform
5 These are shared between:
6 the runtime platform - via FPlatformProperties
7 the target platforms - via ITargetPlatform
8==================================================================================*/
9
10#pragma once
11
12#include "CoreTypes.h"
14
15
19template<bool HAS_EDITOR_DATA, bool IS_DEDICATED_SERVER, bool IS_CLIENT_ONLY, bool IS_ARM64>
22{
23 static constexpr UE_FORCEINLINE_HINT bool HasEditorOnlyData()
24 {
25 return HAS_EDITOR_DATA;
26 }
27
28 static constexpr UE_FORCEINLINE_HINT const char* IniPlatformName()
29 {
30 return IS_ARM64 ? "LinuxArm64" : "Linux";
31 }
32
34 {
35 return TEXT("/Script/LinuxTargetPlatform.LinuxTargetSettings");
36 }
37
38 static constexpr UE_FORCEINLINE_HINT bool IsGameOnly()
39 {
40 return UE_GAME;
41 }
42
43 static constexpr UE_FORCEINLINE_HINT bool IsServerOnly()
44 {
46 }
47
48 static constexpr UE_FORCEINLINE_HINT bool IsClientOnly()
49 {
50 return IS_CLIENT_ONLY;
51 }
52
53 static constexpr UE_FORCEINLINE_HINT bool IsArm64()
54 {
55 return IS_ARM64;
56 }
57
58 static constexpr inline const char* PlatformName()
59 {
61 {
62 return IS_ARM64 ? "LinuxArm64Server" : "LinuxServer";
63 }
64
66 {
67 return "LinuxEditor";
68 }
69
71 {
72 return IS_ARM64 ? "LinuxArm64Client" : "LinuxClient";
73 }
74
75 return IS_ARM64 ? "LinuxArm64" : "Linux";
76 }
77
79 {
80 return !HAS_EDITOR_DATA;
81 }
82
84 {
86 }
87
89 {
90 return true;
91 }
92
93 static constexpr inline bool SupportsAutoSDK()
94 {
95// linux cross-compiling / cross-building from windows supports AutoSDK. But hosted linux doesn't yet.
96#if PLATFORM_WINDOWS
97 return true;
98#else
99 return false;
100#endif
101 }
102
104 {
105 return true;
106 }
107
109 {
110 return false;
111 }
112
114 {
115 return !IS_DEDICATED_SERVER;
116 }
117
119 {
120 return true;
121 }
122
124 {
125 return true;
126 }
127
128 static constexpr UE_FORCEINLINE_HINT bool SupportsQuit()
129 {
130 return true;
131 }
132
133 static constexpr inline float GetVariantPriority()
134 {
136 {
137 return 0.0f;
138 }
139
140 if (HAS_EDITOR_DATA)
141 {
142 return 0.0f;
143 }
144
145 if (IS_CLIENT_ONLY)
146 {
147 return 0.0f;
148 }
149
150 return 1.0f;
151 }
152
154 {
155 return true;
156 }
157
159 {
160 return !IsServerOnly();
161 }
162
164 {
165 return 4096;
166 }
167};
168
169#ifdef PROPERTY_HEADER_SHOULD_DEFINE_TYPE
171#endif
#define UE_GAME
Definition Build.h:23
#define TEXT(x)
Definition Platform.h:1272
FPlatformTypes::TCHAR TCHAR
Either ANSICHAR or WIDECHAR, depending on whether the platform supports wide characters or the requir...
Definition Platform.h:1135
FPlatformTypes::int64 int64
A 64-bit signed integer.
Definition Platform.h:1127
#define UE_FORCEINLINE_HINT
Definition Platform.h:723
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition GenericPlatformProperties.h:17
Definition LinuxPlatformProperties.h:22
static constexpr UE_FORCEINLINE_HINT bool SupportsMultipleGameInstances()
Definition LinuxPlatformProperties.h:103
static constexpr UE_FORCEINLINE_HINT int64 GetMemoryMappingAlignment()
Definition LinuxPlatformProperties.h:163
static constexpr UE_FORCEINLINE_HINT bool IsArm64()
Definition LinuxPlatformProperties.h:53
static constexpr UE_FORCEINLINE_HINT bool RequiresUserCredentials()
Definition LinuxPlatformProperties.h:88
static constexpr UE_FORCEINLINE_HINT bool AllowsFramerateSmoothing()
Definition LinuxPlatformProperties.h:118
static constexpr UE_FORCEINLINE_HINT bool HasFixedResolution()
Definition LinuxPlatformProperties.h:108
static constexpr UE_FORCEINLINE_HINT bool HasSecurePackageFormat()
Definition LinuxPlatformProperties.h:83
static constexpr UE_FORCEINLINE_HINT bool IsServerOnly()
Definition LinuxPlatformProperties.h:43
static constexpr UE_FORCEINLINE_HINT bool IsClientOnly()
Definition LinuxPlatformProperties.h:48
static constexpr const char * PlatformName()
Definition LinuxPlatformProperties.h:58
static constexpr UE_FORCEINLINE_HINT bool SupportsQuit()
Definition LinuxPlatformProperties.h:128
static constexpr UE_FORCEINLINE_HINT const char * IniPlatformName()
Definition LinuxPlatformProperties.h:28
static constexpr UE_FORCEINLINE_HINT bool SupportsAudioStreaming()
Definition LinuxPlatformProperties.h:158
static constexpr UE_FORCEINLINE_HINT bool HasEditorOnlyData()
Definition LinuxPlatformProperties.h:23
static constexpr UE_FORCEINLINE_HINT const TCHAR * GetRuntimeSettingsClassName()
Definition LinuxPlatformProperties.h:33
static constexpr UE_FORCEINLINE_HINT bool RequiresCookedData()
Definition LinuxPlatformProperties.h:78
static constexpr UE_FORCEINLINE_HINT bool SupportsWindowedMode()
Definition LinuxPlatformProperties.h:113
static constexpr float GetVariantPriority()
Definition LinuxPlatformProperties.h:133
static constexpr UE_FORCEINLINE_HINT bool IsGameOnly()
Definition LinuxPlatformProperties.h:38
static constexpr UE_FORCEINLINE_HINT bool AllowsCallStackDumpDuringAssert()
Definition LinuxPlatformProperties.h:153
static constexpr bool SupportsAutoSDK()
Definition LinuxPlatformProperties.h:93
static constexpr UE_FORCEINLINE_HINT bool SupportsRayTracing()
Definition LinuxPlatformProperties.h:123