UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
DrawDebugHelpers.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3
4
5#pragma once
6
7#include "CoreMinimal.h"
9#include "EngineDefines.h"
10
11class UCanvas;
12
13#ifndef ENABLE_DRAW_DEBUG
14#define ENABLE_DRAW_DEBUG UE_ENABLE_DEBUG_DRAWING
15#endif
16
17#if ENABLE_DRAW_DEBUG
18
22ENGINE_API void DrawDebugLine(const UWorld* InWorld, FVector const& LineStart, FVector const& LineEnd, FColor const& Color, bool bPersistentLines = false, float LifeTime=-1.f, uint8 DepthPriority = 0, float Thickness = 0.f);
24ENGINE_API void DrawDebugPoint(const UWorld* InWorld, FVector const& Position, float Size, FColor const& PointColor, bool bPersistentLines = false, float LifeTime=-1.f, uint8 DepthPriority = 0);
26ENGINE_API void DrawDebugDirectionalArrow(const UWorld* InWorld, FVector const& LineStart, FVector const& LineEnd, float ArrowSize, FColor const& Color, bool bPersistentLines = false, float LifeTime=-1.f, uint8 DepthPriority = 0, float Thickness = 0.f);
28ENGINE_API void DrawDebugBox(const UWorld* InWorld, FVector const& Center, FVector const& Extent, FColor const& Color, bool bPersistentLines = false, float LifeTime=-1.f, uint8 DepthPriority = 0, float Thickness = 0.f);
30ENGINE_API void DrawDebugBox(const UWorld* InWorld, FVector const& Center, FVector const& Extent, const FQuat& Rotation, FColor const& Color, bool bPersistentLines = false, float LifeTime=-1.f, uint8 DepthPriority = 0, float Thickness = 0.f);
32ENGINE_API void DrawDebugCoordinateSystem(const UWorld* InWorld, FVector const& AxisLoc, FRotator const& AxisRot, float Scale, bool bPersistentLines = false, float LifeTime=-1.f, uint8 DepthPriority = 0, float Thickness = 0.f);
34ENGINE_API void DrawDebugCrosshairs(const UWorld* InWorld, FVector const& AxisLoc, FRotator const& AxisRot, float Scale, const FColor& Color = FColor::White, bool bPersistentLines = false, float LifeTime = -1.f, uint8 DepthPriority = 0);
36ENGINE_API void DrawDebugCircle(const UWorld* InWorld, const FMatrix& TransformMatrix, double Radius, int32 Segments, const FColor& Color, bool bPersistentLines = false, float LifeTime=-1.f, uint8 DepthPriority = 0, float Thickness = 0.f, bool bDrawAxis=true);
38ENGINE_API void DrawDebugCircle(const UWorld* InWorld, FVector Center, double Radius, int32 Segments, const FColor& Color, bool bPersistentLines = false, float LifeTime=-1.f, uint8 DepthPriority = 0, float Thickness = 0.f, FVector YAxis=FVector(0.f,1.f,0.f), FVector ZAxis=FVector(0.f,0.f,1.f), bool bDrawAxis=true);
40ENGINE_API void DrawDebugCircleArc(const UWorld* InWorld, const FVector& Center, float Radius, const FVector& Direction, float AngleWidth, int32 Segments, const FColor& Color, bool PersistentLines = false, float LifeTime = -1.f, uint8 DepthPriority = 0, float Thickness = 0.f);
41ENGINE_API void DrawDebugCircleArc(const UWorld* InWorld, const FVector& Center, float Radius, const FQuat& Rotation, float AngleWidth, int32 Segments, const FColor& Color, bool PersistentLines = false, float LifeTime = -1.f, uint8 DepthPriority = 0, float Thickness = 0.f);
43ENGINE_API void DrawDebug2DDonut(const UWorld* InWorld, const FMatrix& TransformMatrix, float InnerRadius, float OuterRadius, int32 Segments, const FColor& Color, bool bPersistentLines = false, float LifeTime=-1.f, uint8 DepthPriority = 0, float Thickness = 0.f);
45ENGINE_API void DrawDebugSphere(const UWorld* InWorld, FVector const& Center, float Radius, int32 Segments, FColor const& Color, bool bPersistentLines = false, float LifeTime=-1.f, uint8 DepthPriority = 0, float Thickness = 0.f);
47ENGINE_API void DrawDebugCylinder(const UWorld* InWorld, FVector const& Start, FVector const& End, float Radius, int32 Segments, FColor const& Color, bool bPersistentLines = false, float LifeTime=-1.f, uint8 DepthPriority = 0, float Thickness = 0.f);
49ENGINE_API void DrawDebugCone(const UWorld* InWorld, FVector const& Origin, FVector const& Direction, float Length, float AngleWidth, float AngleHeight, int32 NumSides, FColor const& Color, bool bPersistentLines=false, float LifeTime=-1.f, uint8 DepthPriority = 0, float Thickness = 0.f);
51ENGINE_API void DrawDebugAltCone(const UWorld* InWorld, FVector const& Origin, FRotator const& Rotation, float Length, float AngleWidth, float AngleHeight, FColor const& DrawColor, bool bPersistentLines=false, float LifeTime=-1.f, uint8 DepthPriority=0, float Thickness = 0.f);
52ENGINE_API void DrawDebugString(const UWorld* InWorld, FVector const& TextLocation, const FString& Text, class AActor* TestBaseActor = NULL, FColor const& TextColor = FColor::White, float Duration = -1.000000, bool bDrawShadow = false, float FontScale = 1.f);
53ENGINE_API void DrawDebugFrustum(const UWorld* InWorld, const FMatrix& FrustumToWorld, FColor const& Color, bool bPersistentLines = false, float LifeTime=-1.f, uint8 DepthPriority = 0, float Thickness = 0.f);
55ENGINE_API void DrawCircle(const UWorld* InWorld, const FVector& Base, const FVector& X, const FVector& Y, const FColor& Color, double Radius, int32 NumSides, bool bPersistentLines = false, float LifeTime = -1.f, uint8 DepthPriority = 0, float Thickness = 0);
57ENGINE_API void DrawDebugCapsule(const UWorld* InWorld, FVector const& Center, float HalfHeight, float Radius, const FQuat& Rotation, FColor const& Color, bool bPersistentLines = false, float LifeTime = -1.f, uint8 DepthPriority = 0, float Thickness = 0);
59ENGINE_API void DrawDebugCamera(const UWorld* InWorld, FVector const& Location, FRotator const& Rotation, float FOVDeg, float Scale=1.f, FColor const& Color=FColor::White, bool bPersistentLines=false, float LifeTime=-1.f, uint8 DepthPriority = 0);
61ENGINE_API void DrawCentripetalCatmullRomSpline(const UWorld* InWorld, TConstArrayView<FVector> Points, FColor const& Color, float Alpha = 0.5f, int32 NumSamplesPerSegment = 8, bool bPersistentLines = false, float LifeTime = -1.f, uint8 DepthPriority = 0, float Thickness = 0.f);
62ENGINE_API void DrawCentripetalCatmullRomSpline(const UWorld* InWorld, TConstArrayView<FVector> Points, TConstArrayView<FColor> Colors, float Alpha = 0.5f, int32 NumSamplesPerSegment = 8, bool bPersistentLines = false, float LifeTime = -1.f, uint8 DepthPriority = 0, float Thickness = 0.f);
63
65
68ENGINE_API void DrawDebugSolidBox(const UWorld* InWorld, FBox const& Box, FColor const& Color, const FTransform& Transform=FTransform::Identity, bool bPersistent=false, float LifeTime=-1.f, uint8 DepthPriority = 0);
70ENGINE_API void DrawDebugSolidBox(const UWorld* InWorld, FVector const& Center, FVector const& Extent, FColor const& Color, bool bPersistent=false, float LifeTime=-1.f, uint8 DepthPriority = 0);
72ENGINE_API void DrawDebugSolidBox(const UWorld* InWorld, FVector const& Center, FVector const& Extent, FQuat const& Rotation, FColor const& Color, bool bPersistent=false, float LifeTime=-1.f, uint8 DepthPriority = 0);
73
74ENGINE_API void DrawDebugMesh(const UWorld* InWorld, TArray<FVector> const& Verts, TArray<int32> const& Indices, FColor const& Color, bool bPersistent=false, float LifeTime=-1.f, uint8 DepthPriority = 0);
75ENGINE_API void DrawDebugSolidPlane(const UWorld* InWorld, FPlane const& P, FVector const& Loc, float Size, FColor const& Color, bool bPersistent=false, float LifeTime=-1, uint8 DepthPriority = 0);
76ENGINE_API void DrawDebugSolidPlane(const UWorld* InWorld, FPlane const& P, FVector const& Loc, FVector2D const& Extents, FColor const& Color, bool bPersistent=false, float LifeTime=-1, uint8 DepthPriority = 0);
77
78/* Draws a 2D Histogram of size 'DrawSize' based FDebugFloatHistory struct, using DrawTransform for the position in the world. */
79ENGINE_API void DrawDebugFloatHistory(UWorld const & WorldRef, FDebugFloatHistory const & FloatHistory, FTransform const & DrawTransform, FVector2D const & DrawSize, FColor const & DrawColor, bool const & bPersistent = false, float const & LifeTime = -1.f, uint8 const & DepthPriority = 0);
80
81/* Draws a 2D Histogram of size 'DrawSize' based FDebugFloatHistory struct, using DrawLocation for the location in the world, rotation will face camera of first player. */
82ENGINE_API void DrawDebugFloatHistory(UWorld const & WorldRef, FDebugFloatHistory const & FloatHistory, FVector const & DrawLocation, FVector2D const & DrawSize, FColor const & DrawColor, bool const & bPersistent = false, float const & LifeTime = -1.f, uint8 const & DepthPriority = 0);
83
93ENGINE_API void DrawDebugCanvas2DLine(UCanvas* Canvas, const FVector& Start, const FVector& End, const FLinearColor& LineColor);
94ENGINE_API void DrawDebugCanvas2DLine(UCanvas* Canvas, const FVector2D& StartPosition, const FVector2D& EndPosition, const FLinearColor& LineColor, const float& LineThickness = 1.f);
95ENGINE_API void DrawDebugCanvas2DCircle(UCanvas* Canvas, const FVector2D& Center, float Radius, int32 NumSides, const FLinearColor& LineColor, const float& LineThickness = 1.f);
96ENGINE_API void DrawDebugCanvas2DBox(UCanvas* Canvas, const FBox2D& Box, const FLinearColor& LineColor, const float& LineThickness = 1.f);
97
98
108ENGINE_API void DrawDebugCanvasLine(UCanvas* Canvas, const FVector& Start, const FVector& End, const FLinearColor& LineColor);
109
121ENGINE_API void DrawDebugCanvasCircle(UCanvas* Canvas, const FVector& Base, const FVector& X, const FVector& Y, FColor Color, float Radius, int32 NumSides);
122
134ENGINE_API void DrawDebugCanvasHalfCircle(UCanvas* Canvas, const FVector& Base, const FVector& X, const FVector& Y, FColor Color, float Radius, int32 NumSides);
135
145ENGINE_API void DrawDebugCanvasWireSphere(UCanvas* Canvas, const FVector& Base, FColor Color, float Radius, int32 NumSides);
146
158
168
178ENGINE_API void DrawDebugCanvasCapsule(UCanvas* Canvas, const FMatrix& Transform, float HalfLength, float Radius, const FColor& LineColor);
179
180#elif !defined(SHIPPING_DRAW_DEBUG_ERROR) || !SHIPPING_DRAW_DEBUG_ERROR
181
182// Empty versions of above functions
183// LWC_TODO: A lot of the floats here should really be FVector::FReals as they will often be calculated using FReals. e.g. Radius, Length etc
184inline void FlushPersistentDebugLines(const UWorld* InWorld) {}
185inline void DrawDebugLine(const UWorld* InWorld, FVector const& LineStart, FVector const& LineEnd, FColor const& Color, bool bPersistentLines = false, float LifeTime = -1.f, uint8 DepthPriority = 0, float Thickness = 0.f) {}
186inline void DrawDebugPoint(const UWorld* InWorld, FVector const& Position, float Size, FColor const& PointColor, bool bPersistentLines = false, float LifeTime = -1.f, uint8 DepthPriority = 0) {}
187inline void DrawDebugDirectionalArrow(const UWorld* InWorld, FVector const& LineStart, FVector const& LineEnd, float ArrowSize, FColor const& Color, bool bPersistentLines = false, float LifeTime = -1.f, uint8 DepthPriority = 0, float Thickness = 0.f) {}
188inline void DrawDebugBox(const UWorld* InWorld, FVector const& Center, FVector const& Extent, FColor const& Color, bool bPersistentLines = false, float LifeTime = -1.f, uint8 DepthPriority = 0, float Thickness = 0.f) {}
189inline void DrawDebugBox(const UWorld* InWorld, FVector const& Center, FVector const& Extent, const FQuat& Rotation, FColor const& Color, bool bPersistentLines = false, float LifeTime = -1.f, uint8 DepthPriority = 0, float Thickness = 0.f) {}
190inline void DrawDebugCoordinateSystem(const UWorld* InWorld, FVector const& AxisLoc, FRotator const& AxisRot, float Scale, bool bPersistentLines = false, float LifeTime = -1.f, uint8 DepthPriority = 0, float Thickness = 0.f) {}
191inline void DrawDebugCrosshairs(const UWorld* InWorld, FVector const& AxisLoc, FRotator const& AxisRot, float Scale, const FColor& Color = FColor::White, bool bPersistentLines = false, float LifeTime = -1.f, uint8 DepthPriority = 0) {}
192inline void DrawDebugCircle(const UWorld* InWorld, const FMatrix& TransformMatrix, double Radius, int32 Segments, const FColor& Color, bool bPersistentLines = false, float LifeTime = -1.f, uint8 DepthPriority = 0, float Thickness = 0.f, bool bDrawAxis = true) {}
193inline void DrawDebugCircle(const UWorld* InWorld, FVector Center, double Radius, int32 Segments, const FColor& Color, bool bPersistentLines = false, float LifeTime = -1.f, uint8 DepthPriority = 0, float Thickness = 0.f, FVector YAxis = FVector(0.f, 1.f, 0.f), FVector ZAxis = FVector(0.f, 0.f, 1.f), bool bDrawAxis = true) {}
194inline void DrawDebugCircleArc(const UWorld* InWorld, FVector const& Center, float Radius, FVector const& Direction, float AngleWidth, int32 Segments, const FColor& Color, bool bPersistentLines = false, float LifeTime = -1.f, uint8 DepthPriority = 0, float Thickness = 0.f) {}
195inline void DrawDebug2DDonut(const UWorld* InWorld, const FMatrix& TransformMatrix, float InnerRadius, float OuterRadius, int32 Segments, const FColor& Color, bool bPersistentLines = false, float LifeTime = -1.f, uint8 DepthPriority = 0, float Thickness = 0.f) {}
196inline void DrawDebugSphere(const UWorld* InWorld, FVector const& Center, float Radius, int32 Segments, FColor const& Color, bool bPersistentLines = false, float LifeTime = -1.f, uint8 DepthPriority = 0, float Thickness = 0.f) {}
197inline void DrawDebugCylinder(const UWorld* InWorld, FVector const& Start, FVector const& End, float Radius, int32 Segments, FColor const& Color, bool bPersistentLines = false, float LifeTime = -1.f, uint8 DepthPriority = 0, float Thickness = 0.f) {}
198inline void DrawDebugCone(const UWorld* InWorld, FVector const& Origin, FVector const& Direction, float Length, float AngleWidth, float AngleHeight, int32 NumSides, FColor const& Color, bool bPersistentLines = false, float LifeTime = -1.f, uint8 DepthPriority = 0, float Thickness = 0.f) {}
199inline void DrawDebugAltCone(const UWorld* InWorld, FVector const& Origin, FRotator const& Rotation, float Length, float AngleWidth, float AngleHeight, FColor const& DrawColor, bool bPersistentLines = false, float LifeTime = -1.f, uint8 DepthPriority = 0, float Thickness = 0.f) {}
200inline void DrawDebugString(const UWorld* InWorld, FVector const& TextLocation, const FString& Text, class AActor* TestBaseActor = NULL, FColor const& TextColor = FColor::White, float Duration = -1.000000, bool bDrawShadow = false, float FontScale = 1.f) {}
201inline void DrawDebugFrustum(const UWorld* InWorld, const FMatrix& FrustumToWorld, FColor const& Color, bool bPersistentLines = false, float LifeTime = -1.f, uint8 DepthPriority = 0, float Thickness = 0.f) {}
202inline void DrawCircle(const UWorld* InWorld, const FVector& Base, const FVector& X, const FVector& Y, const FColor& Color, double Radius, int32 NumSides, bool bPersistentLines = false, float LifeTime = -1.f, uint8 DepthPriority = 0, float Thickness = 0) {}
203inline void DrawDebugCapsule(const UWorld* InWorld, FVector const& Center, float HalfHeight, float Radius, const FQuat& Rotation, FColor const& Color, bool bPersistentLines = false, float LifeTime = -1.f, uint8 DepthPriority = 0, float Thickness = 0) {}
204inline void DrawDebugCamera(const UWorld* InWorld, FVector const& Location, FRotator const& Rotation, float FOVDeg, float Scale = 1.f, FColor const& Color = FColor::White, bool bPersistentLines = false, float LifeTime = -1.f, uint8 DepthPriority = 0) {}
205inline void DrawCentripetalCatmullRomSpline(const UWorld* InWorld, TConstArrayView<FVector> Points, FColor const& Color, float Alpha = 0.5f, int32 NumSamplesPerSegment = 8, bool bPersistentLines = false, float LifeTime = -1.f, uint8 DepthPriority = 0, float Thickness = 0.f) {}
206inline void DrawCentripetalCatmullRomSpline(const UWorld* InWorld, TConstArrayView<FVector> Points, TConstArrayView<FColor> Colors, float Alpha = 0.5f, int32 NumSamplesPerSegment = 8, bool bPersistentLines = false, float LifeTime = -1.f, uint8 DepthPriority = 0, float Thickness = 0.f) {}
207inline void FlushDebugStrings(const UWorld* InWorld) {}
208inline void DrawDebugSolidBox(const UWorld* InWorld, FBox const& Box, FColor const& Color, const FTransform& Transform = FTransform::Identity, bool bPersistent = false, float LifeTime = -1.f, uint8 DepthPriority = 0) {}
209inline void DrawDebugSolidBox(const UWorld* InWorld, FVector const& Center, FVector const& Extent, FColor const& Color, bool bPersistent = false, float LifeTime = -1.f, uint8 DepthPriority = 0) {}
210inline void DrawDebugSolidBox(const UWorld* InWorld, FVector const& Center, FVector const& Extent, FQuat const& Rotation, FColor const& Color, bool bPersistent = false, float LifeTime = -1.f, uint8 DepthPriority = 0) {}
211inline void DrawDebugMesh(const UWorld* InWorld, TArray<FVector> const& Verts, TArray<int32> const& Indices, FColor const& Color, bool bPersistent = false, float LifeTime = -1.f, uint8 DepthPriority = 0) {}
212inline void DrawDebugSolidPlane(const UWorld* InWorld, FPlane const& P, FVector const& Loc, float Size, FColor const& Color, bool bPersistent = false, float LifeTime = -1, uint8 DepthPriority = 0) {}
213inline void DrawDebugSolidPlane(const UWorld* InWorld, FPlane const& P, FVector const& Loc, FVector2D const& Extents, FColor const& Color, bool bPersistent = false, float LifeTime = -1, uint8 DepthPriority = 0) {}
214inline void DrawDebugFloatHistory(UWorld const & WorldRef, FDebugFloatHistory const & FloatHistory, FTransform const & DrawTransform, FVector2D const & DrawSize, FColor const & DrawColor, bool const & bPersistent = false, float const & LifeTime = -1.f, uint8 const & DepthPriority = 0) {}
215inline void DrawDebugFloatHistory(UWorld const & WorldRef, FDebugFloatHistory const & FloatHistory, FVector const & DrawLocation, FVector2D const & DrawSize, FColor const & DrawColor, bool const & bPersistent = false, float const & LifeTime = -1.f, uint8 const & DepthPriority = 0) {}
216inline void DrawDebugCanvas2DLine(UCanvas* Canvas, const FVector& Start, const FVector& End, const FLinearColor& LineColor) {}
217inline void DrawDebugCanvas2DLine(UCanvas* Canvas, const FVector2D& StartPosition, const FVector2D& EndPosition, const FLinearColor& LineColor, const float& LineThickness = 1.f) {}
218inline void DrawDebugCanvas2DCircle(UCanvas* Canvas, const FVector2D& Center, float Radius, int32 NumSides, const FLinearColor& LineColor, const float& LineThickness = 1.f) {}
219inline void DrawDebugCanvas2DBox(UCanvas* Canvas, const FBox2D& Box, const FLinearColor& LineColor, const float& LineThickness = 1.f) {}
220inline void DrawDebugCanvasLine(UCanvas* Canvas, const FVector& Start, const FVector& End, const FLinearColor& LineColor) {}
221inline void DrawDebugCanvasCircle(UCanvas* Canvas, const FVector& Base, const FVector& X, const FVector& Y, FColor Color, float Radius, int32 NumSides) {}
222inline void DrawDebugCanvasHalfCircle(UCanvas* Canvas, const FVector& Base, const FVector& X, const FVector& Y, FColor Color, float Radius, int32 NumSides) {}
223inline void DrawDebugCanvasWireSphere(UCanvas* Canvas, const FVector& Base, FColor Color, float Radius, int32 NumSides) {}
224inline void DrawDebugCanvasWireCone(UCanvas* Canvas, const FTransform& Transform, float ConeRadius, float ConeAngle, int32 ConeSides, FColor Color) {}
225inline void DrawDebugCanvasWireBox(UCanvas* Canvas, const FMatrix& Transform, const FBox& Box, FColor Color) {}
226inline void DrawDebugCanvasCapsule(UCanvas* Canvas, const FMatrix& Transform, float HalfLength, float Radius, const FColor& LineColor) {}
227
228#else
229
230// Remove 'no-op' debug draw commands, users need to make sure they are not calling these functions in Shipping/Test builds or it will generate a compile error
231
232#endif // ENABLE_DRAW_DEBUG
#define NULL
Definition oodle2base.h:134
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
ENGINE_API void DrawDebugCanvasHalfCircle(UCanvas *Canvas, const FVector &Base, const FVector &X, const FVector &Y, FColor Color, float Radius, int32 NumSides)
ENGINE_API void DrawDebugCanvasLine(UCanvas *Canvas, const FVector &Start, const FVector &End, const FLinearColor &LineColor)
ENGINE_API void DrawDebugMesh(const UWorld *InWorld, TArray< FVector > const &Verts, TArray< int32 > const &Indices, FColor const &Color, bool bPersistent=false, float LifeTime=-1.f, uint8 DepthPriority=0)
ENGINE_API void DrawCentripetalCatmullRomSpline(const UWorld *InWorld, TConstArrayView< FVector > Points, FColor const &Color, float Alpha=0.5f, int32 NumSamplesPerSegment=8, bool bPersistentLines=false, float LifeTime=-1.f, uint8 DepthPriority=0, float Thickness=0.f)
ENGINE_API void DrawDebugCoordinateSystem(const UWorld *InWorld, FVector const &AxisLoc, FRotator const &AxisRot, float Scale, bool bPersistentLines=false, float LifeTime=-1.f, uint8 DepthPriority=0, float Thickness=0.f)
ENGINE_API void DrawDebugCanvas2DBox(UCanvas *Canvas, const FBox2D &Box, const FLinearColor &LineColor, const float &LineThickness=1.f)
ENGINE_API void DrawDebugCanvasWireBox(UCanvas *Canvas, const FMatrix &Transform, const FBox &Box, FColor Color)
ENGINE_API void DrawDebugCanvasCircle(UCanvas *Canvas, const FVector &Base, const FVector &X, const FVector &Y, FColor Color, float Radius, int32 NumSides)
ENGINE_API void DrawDebugSolidPlane(const UWorld *InWorld, FPlane const &P, FVector const &Loc, float Size, FColor const &Color, bool bPersistent=false, float LifeTime=-1, uint8 DepthPriority=0)
ENGINE_API void DrawDebugBox(const UWorld *InWorld, FVector const &Center, FVector const &Extent, FColor const &Color, bool bPersistentLines=false, float LifeTime=-1.f, uint8 DepthPriority=0, float Thickness=0.f)
ENGINE_API void DrawDebugFrustum(const UWorld *InWorld, const FMatrix &FrustumToWorld, FColor const &Color, bool bPersistentLines=false, float LifeTime=-1.f, uint8 DepthPriority=0, float Thickness=0.f)
ENGINE_API void DrawDebugFloatHistory(UWorld const &WorldRef, FDebugFloatHistory const &FloatHistory, FTransform const &DrawTransform, FVector2D const &DrawSize, FColor const &DrawColor, bool const &bPersistent=false, float const &LifeTime=-1.f, uint8 const &DepthPriority=0)
ENGINE_API void DrawDebugCanvas2DLine(UCanvas *Canvas, const FVector &Start, const FVector &End, const FLinearColor &LineColor)
ENGINE_API void DrawDebugCone(const UWorld *InWorld, FVector const &Origin, FVector const &Direction, float Length, float AngleWidth, float AngleHeight, int32 NumSides, FColor const &Color, bool bPersistentLines=false, float LifeTime=-1.f, uint8 DepthPriority=0, float Thickness=0.f)
ENGINE_API void DrawDebugCanvasWireCone(UCanvas *Canvas, const FTransform &Transform, float ConeRadius, float ConeAngle, int32 ConeSides, FColor Color)
ENGINE_API void DrawDebugCapsule(const UWorld *InWorld, FVector const &Center, float HalfHeight, float Radius, const FQuat &Rotation, FColor const &Color, bool bPersistentLines=false, float LifeTime=-1.f, uint8 DepthPriority=0, float Thickness=0)
ENGINE_API void FlushDebugStrings(const UWorld *InWorld)
ENGINE_API void DrawDebugCircleArc(const UWorld *InWorld, const FVector &Center, float Radius, const FVector &Direction, float AngleWidth, int32 Segments, const FColor &Color, bool PersistentLines=false, float LifeTime=-1.f, uint8 DepthPriority=0, float Thickness=0.f)
ENGINE_API void DrawDebugCircle(const UWorld *InWorld, const FMatrix &TransformMatrix, double Radius, int32 Segments, const FColor &Color, bool bPersistentLines=false, float LifeTime=-1.f, uint8 DepthPriority=0, float Thickness=0.f, bool bDrawAxis=true)
ENGINE_API void DrawDebugString(const UWorld *InWorld, FVector const &TextLocation, const FString &Text, class AActor *TestBaseActor=NULL, FColor const &TextColor=FColor::White, float Duration=-1.000000, bool bDrawShadow=false, float FontScale=1.f)
ENGINE_API void DrawDebug2DDonut(const UWorld *InWorld, const FMatrix &TransformMatrix, float InnerRadius, float OuterRadius, int32 Segments, const FColor &Color, bool bPersistentLines=false, float LifeTime=-1.f, uint8 DepthPriority=0, float Thickness=0.f)
ENGINE_API void DrawDebugCrosshairs(const UWorld *InWorld, FVector const &AxisLoc, FRotator const &AxisRot, float Scale, const FColor &Color=FColor::White, bool bPersistentLines=false, float LifeTime=-1.f, uint8 DepthPriority=0)
ENGINE_API void DrawDebugSolidBox(const UWorld *InWorld, FBox const &Box, FColor const &Color, const FTransform &Transform=FTransform::Identity, bool bPersistent=false, float LifeTime=-1.f, uint8 DepthPriority=0)
ENGINE_API void DrawCircle(const UWorld *InWorld, const FVector &Base, const FVector &X, const FVector &Y, const FColor &Color, double Radius, int32 NumSides, bool bPersistentLines=false, float LifeTime=-1.f, uint8 DepthPriority=0, float Thickness=0)
ENGINE_API void DrawDebugLine(const UWorld *InWorld, FVector const &LineStart, FVector const &LineEnd, FColor const &Color, bool bPersistentLines=false, float LifeTime=-1.f, uint8 DepthPriority=0, float Thickness=0.f)
ENGINE_API void DrawDebugPoint(const UWorld *InWorld, FVector const &Position, float Size, FColor const &PointColor, bool bPersistentLines=false, float LifeTime=-1.f, uint8 DepthPriority=0)
ENGINE_API void DrawDebugCanvasCapsule(UCanvas *Canvas, const FMatrix &Transform, float HalfLength, float Radius, const FColor &LineColor)
ENGINE_API void DrawDebugAltCone(const UWorld *InWorld, FVector const &Origin, FRotator const &Rotation, float Length, float AngleWidth, float AngleHeight, FColor const &DrawColor, bool bPersistentLines=false, float LifeTime=-1.f, uint8 DepthPriority=0, float Thickness=0.f)
ENGINE_API void DrawDebugDirectionalArrow(const UWorld *InWorld, FVector const &LineStart, FVector const &LineEnd, float ArrowSize, FColor const &Color, bool bPersistentLines=false, float LifeTime=-1.f, uint8 DepthPriority=0, float Thickness=0.f)
ENGINE_API void DrawDebugCanvasWireSphere(UCanvas *Canvas, const FVector &Base, FColor Color, float Radius, int32 NumSides)
ENGINE_API void DrawDebugCylinder(const UWorld *InWorld, FVector const &Start, FVector const &End, float Radius, int32 Segments, FColor const &Color, bool bPersistentLines=false, float LifeTime=-1.f, uint8 DepthPriority=0, float Thickness=0.f)
ENGINE_API void FlushPersistentDebugLines(const UWorld *InWorld)
ENGINE_API void DrawDebugSphere(const UWorld *InWorld, FVector const &Center, float Radius, int32 Segments, FColor const &Color, bool bPersistentLines=false, float LifeTime=-1.f, uint8 DepthPriority=0, float Thickness=0.f)
ENGINE_API void DrawDebugCamera(const UWorld *InWorld, FVector const &Location, FRotator const &Rotation, float FOVDeg, float Scale=1.f, FColor const &Color=FColor::White, bool bPersistentLines=false, float LifeTime=-1.f, uint8 DepthPriority=0)
ENGINE_API void DrawDebugCanvas2DCircle(UCanvas *Canvas, const FVector2D &Center, float Radius, int32 NumSides, const FLinearColor &LineColor, const float &LineThickness=1.f)
#define X(Name, Desc)
Definition FormatStringSan.h:47
#define FVector
Definition IOSSystemIncludes.h:8
uint32 Size
Definition VulkanMemory.cpp:4034
uint8_t uint8
Definition binka_ue_file_header.h:8
Definition Actor.h:257
Definition Array.h:670
Definition Canvas.h:159
FCanvas * Canvas
Definition Canvas.h:221
Definition World.h:918
Definition Color.h:486
static CORE_API const FColor White
Definition Color.h:749
Definition EngineTypes.h:3929
Definition Color.h:48
static CORE_API const TTransform< double > Identity
Definition TransformNonVectorized.h:58