UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
IOSPlatform.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3/*================================================================================
4 IOSPlatform.h: Setup for the iOS platform
5==================================================================================*/
6
7#pragma once
8
10#include "Availability.h"
11
16{
17 typedef size_t SIZE_T;
18 typedef decltype(NULL) TYPE_OF_NULL;
19 typedef char16_t WIDECHAR;
20 typedef WIDECHAR TCHAR;
21};
22
24
25// Base defines, must define these for the platform, there are no defaults
26#define PLATFORM_DESKTOP 0
27
28// Base defines, defaults are commented out
29#define PLATFORM_TCHAR_IS_CHAR16 1
30#define PLATFORM_MAX_FILEPATH_LENGTH_DEPRECATED IOS_MAX_PATH
31#define PLATFORM_BUILTIN_VERTEX_HALF_FLOAT 0
32#define PLATFORM_SUPPORTS_MULTIPLE_NATIVE_WINDOWS 0
33#define PLATFORM_ALLOW_NULL_RHI 1
34#define PLATFORM_ENABLE_VECTORINTRINSICS_NEON 1
35#define PLATFORM_SUPPORTS_EARLY_MOVIE_PLAYBACK 1 // movies will start before engine is initalized
36#define PLATFORM_USE_FULL_TASK_GRAPH 0 // @todo platplug: not platplug, but should investigate soon anyway
37
38#define PLATFORM_NUM_AUDIODECOMPRESSION_PRECACHE_BUFFERS 0
39#if PLATFORM_TVOS
40# define PLATFORM_USES_GLES 0
41# define PLATFORM_HAS_TOUCH_MAIN_SCREEN 0
42# define PLATFORM_SUPPORTS_OPUS_CODEC 0
43# define PLATFORM_SUPPORTS_VORBIS_CODEC 0
44#else
45# define PLATFORM_USES_GLES 1
46# define PLATFORM_HAS_TOUCH_MAIN_SCREEN 1
47#endif
48#define PLATFORM_UI_HAS_MOBILE_SCROLLBARS 1
49#define PLATFORM_UI_NEEDS_TOOLTIPS 0
50#define PLATFORM_UI_NEEDS_FOCUS_OUTLINES 0
51
52#define PLATFORM_NEEDS_RHIRESOURCELIST 0
53#define PLATFORM_SUPPORTS_GEOMETRY_SHADERS 0
54#define PLATFORM_SUPPORTS_BINDLESS_RENDERING 0
55
56#define PLATFORM_RETURN_ADDRESS_FOR_CALLSTACKTRACING PLATFORM_RETURN_ADDRESS
57
58#define PLATFORM_GLOBAL_LOG_CATEGORY LogIOS
59
60//mallocpoison not safe with aligned ansi allocator. returns the larger unaligned size during Free() which causes writes off the end of the allocation.
61#define UE_USE_MALLOC_FILL_BYTES 0
62
63#define IOS_MAX_PATH 1024
64
65#if UE_BUILD_DEBUG || UE_DISABLE_FORCE_INLINE
66# define FORCEINLINE inline /* Don't force code to be inline */
67#else
68# define FORCEINLINE inline __attribute__ ((always_inline)) /* Force code to be inline */
69#endif
70
71// Strings.
72#define LINE_TERMINATOR TEXT("\n")
73#define LINE_TERMINATOR_ANSI "\n"
74
75static_assert(__IPHONE_OS_VERSION_MAX_ALLOWED >= 13000, "Unreal requires Xcode 11 or later to build");
#define NULL
Definition oodle2base.h:134
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
FIOSPlatformTypes FPlatformTypes
Definition IOSPlatform.h:23
Definition GenericPlatform.h:33
Definition IOSPlatform.h:16
size_t SIZE_T
Definition IOSPlatform.h:17
char16_t WIDECHAR
Definition IOSPlatform.h:19
WIDECHAR TCHAR
Definition IOSPlatform.h:20
decltype(NULL) TYPE_OF_NULL
Definition IOSPlatform.h:18