UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
Config.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4#include "HAL/Platform.h"
5
12#if !defined(UE_TRACE_ENABLED)
13# if !UE_BUILD_SHIPPING && !IS_PROGRAM
14# if PLATFORM_WINDOWS || PLATFORM_UNIX || PLATFORM_APPLE || PLATFORM_ANDROID
15# define UE_TRACE_ENABLED 1
16# endif
17# endif
18#endif
19
20#if !defined(UE_TRACE_ENABLED)
21# define UE_TRACE_ENABLED 0
22#endif
23
32#if !defined(UE_TRACE_ENABLED_SHIPPING_EXPERIMENTAL)
33# define UE_TRACE_ENABLED_SHIPPING_EXPERIMENTAL 0
34#endif
35
36
40#if !defined(UE_TRACE_MINIMAL_ENABLED)
41# define UE_TRACE_MINIMAL_ENABLED UE_TRACE_ENABLED
42#endif
43
47#if UE_TRACE_ENABLED || UE_TRACE_MINIMAL_ENABLED
48# define TRACE_PRIVATE_MINIMAL_ENABLED 1
49#else
50# define TRACE_PRIVATE_MINIMAL_ENABLED 0
51#endif
52
53#if UE_TRACE_ENABLED
54# define TRACE_PRIVATE_FULL_ENABLED 1
55#else
56# define TRACE_PRIVATE_FULL_ENABLED 0
57#endif
58
63static_assert(TRACE_PRIVATE_FULL_ENABLED == 0 || TRACE_PRIVATE_MINIMAL_ENABLED != 0, "Minimal is a subset of full tracing."); //-V547
64#if UE_BUILD_SHIPPING && !IS_PROGRAM && !defined(UE_TRACE_FULL_SHIPPING_ENABLED_UNSUPPORTED)
65static_assert(!TRACE_PRIVATE_FULL_ENABLED, "Full tracing in shipping is not supported.");
66static_assert(UE_TRACE_MINIMAL_ENABLED == 0 || UE_TRACE_ENABLED_SHIPPING_EXPERIMENTAL, "Minimal trace in shipping is currently experimental");
67#endif
68
69
73#if TRACE_PRIVATE_MINIMAL_ENABLED
74# define TRACE_PRIVATE_PROTOCOL_7
75#endif
76
81#if !defined(UE_TRACE_ALLOW_TCP_CONTROL)
82# define TRACE_PRIVATE_ALLOW_TCP_CONTROL TRACE_PRIVATE_FULL_ENABLED
83#else
84# define TRACE_PRIVATE_ALLOW_TCP_CONTROL UE_TRACE_ALLOW_TCP_CONTROL
85#endif
86
90#if !defined(UE_TRACE_ALLOW_TCP_TRACING)
91# define TRACE_PRIVATE_ALLOW_TCP TRACE_PRIVATE_FULL_ENABLED
92#else
93# define TRACE_PRIVATE_ALLOW_TCP UE_TRACE_ALLOW_TCP_TRACING
94#endif
95
99#if !defined(UE_TRACE_ALLOW_FILE_TRACING)
100# define TRACE_PRIVATE_ALLOW_FILE TRACE_PRIVATE_FULL_ENABLED
101#else
102# define TRACE_PRIVATE_ALLOW_FILE UE_TRACE_ALLOW_FILE_TRACING
103#endif
104
108#if !defined(UE_TRACE_ALLOW_IMPORTANT_EVENTS)
109//@todo Disable by default for shipping trace when we have fixed the built in events
110//# define TRACE_PRIVATE_ALLOW_IMPORTANTS TRACE_PRIVATE_FULL_ENABLED
111# define TRACE_PRIVATE_ALLOW_IMPORTANTS 1
112#else
113# define TRACE_PRIVATE_ALLOW_IMPORTANTS UE_TRACE_ALLOW_IMPORTANT_EVENTS
114#endif
115
120#if !defined(UE_TRACE_BLOCK_POOL_MAXSIZE)
121# define UE_TRACE_BLOCK_POOL_MAXSIZE 79 << 20
122#endif // !defined(UE_TRACE_BLOCK_POOL_MAXSIZE)
123
127#if !defined(UE_TRACE_BLOCK_SIZE)
128# define UE_TRACE_BLOCK_SIZE (4 << 10)
129#endif // UE_TRACE_BLOCK_SIZE
130
134#if !defined(UE_TRACE_WRITER_SLEEP_MS)
135# define UE_TRACE_WRITER_SLEEP_MS (17)
136#endif // UE_TRACE_BLOCK_SIZE
137
142#ifndef UE_TRACE_PACKET_VERIFICATION
143# define UE_TRACE_PACKET_VERIFICATION 0
144#endif
#define UE_TRACE_MINIMAL_ENABLED
Definition Config.h:41
#define UE_TRACE_ENABLED_SHIPPING_EXPERIMENTAL
Definition Config.h:33
#define TRACE_PRIVATE_FULL_ENABLED
Definition Config.h:56
#define TRACE_PRIVATE_MINIMAL_ENABLED
Definition Config.h:50