unreal.HUD

class unreal.HUD(outer=None, name='None')

Bases: unreal.Actor

Base class of the heads-up display. This has a canvas and a debug canvas on which primitives can be drawn. It also contains a list of simple hit boxes that can be used for simple item click detection. A method of rendering debug text is also included. Provides some simple methods for rendering text, textures, rectangles and materials which can also be accessed from blueprints. UCanvas: FHUDHitBox: FDebugTextInfo:

C++ Source:

  • Module: Engine
  • File: HUD.h

Editor Properties: (see get_editor_property/set_editor_property)

  • allow_tick_before_begin_play (bool): [Read-Write] Whether we allow this Actor to tick before it receives the BeginPlay event. Normally we don’t tick actors until after BeginPlay; this setting allows this behavior to be overridden. This Actor must be able to tick for this setting to be relevant.
  • always_relevant (bool): [Read-Write] Always relevant for network (overrides bOnlyRelevantToOwner).
  • auto_destroy_when_finished (bool): [Read-Write] If true then destroy self when “finished”, meaning all relevant components report that they are done and no timelines or timers are in flight.
  • auto_receive_input (AutoReceiveInput): [Read-Write] Automatically registers this actor to receive input from a player.
  • block_input (bool): [Read-Write] If true, all input on the stack below this actor will not be considered
  • can_be_damaged (bool): [Read-Write] Whether this actor can take damage. Must be true for damage events (e.g. ReceiveDamage()) to be called. https://www.unrealengine.com/blog/damage-in-ue4: TakeDamage(), ReceiveDamage():
  • can_be_in_cluster (bool): [Read-Write] If true, this actor can be put inside of a GC Cluster to improve Garbage Collection performance
  • custom_time_dilation (float): [Read-Write] Allow each actor to run at a different time speed. The DeltaTime for a frame is multiplied by the global TimeDilation (in WorldSettings) and this CustomTimeDilation for this actor’s tick.
  • enable_auto_lod_generation (bool): [Read-Write] If true, and if World setting has bEnableHierarchicalLOD equal to true, then it will generate LODActor from groups of clustered Actor
  • enable_debug_text_shadow (bool): [Read-Write] Put shadow on debug strings
  • find_camera_component_when_view_target (bool): [Read-Write] If true, this actor should search for an owned camera component to view through when used as a view target.
  • generate_overlap_events_during_level_streaming (bool): [Read-Write] If true, this actor will generate overlap events when spawned as part of level streaming. You might enable this is in the case where a streaming level loads around an actor and you want overlaps to trigger.
  • hidden (bool): [Read-Write] Allows us to only see this Actor in the Editor, and not in the actual game. SetActorHiddenInGame():
  • ignores_origin_shifting (bool): [Read-Write] Whether this actor should not be affected by world origin shifting.
  • initial_life_span (float): [Read-Write] How long this Actor lives before dying, 0=forever. Note this is the INITIAL value and should not be modified once play has begun.
  • input_priority (int32): [Read-Write] The priority of this input component when pushed in to the stack.
  • instigator (Pawn): [Read-Write] Pawn responsible for damage and other gameplay events caused by this actor.
  • is_editor_only_actor (bool): [Read-Write] Whether this actor is editor-only. Use with care, as if this actor is referenced by anything else that reference will be NULL in cooked builds
  • lost_focus_paused (bool): [Read-Write] Tells whether the game was paused due to lost focus
  • min_net_update_frequency (float): [Read-Write] Used to determine what rate to throttle down to when replicated properties are changing infrequently
  • net_cull_distance_squared (float): [Read-Write] Square of the max distance from the client’s viewpoint that this actor is relevant and will be replicated.
  • net_dormancy (NetDormancy): [Read-Write] Dormancy setting for actor to take itself off of the replication list without being destroyed on clients.
  • net_load_on_client (bool): [Read-Write] This actor will be loaded on network clients during map load
  • net_priority (float): [Read-Write] Priority for this actor when checking for replication in a low bandwidth or saturated situation, higher priority means it is more likely to replicate
  • net_update_frequency (float): [Read-Write] How often (per second) this actor will be considered for replication, used to determine NetUpdateTime
  • net_use_owner_relevancy (bool): [Read-Write] If actor has valid Owner, call Owner’s IsNetRelevantFor and GetNetPriority
  • on_actor_begin_overlap (ActorBeginOverlapSignature): [Read-Write] Called when another actor begins to overlap this actor, for example a player walking into a trigger. For events when objects have a blocking collision, for example a player hitting a wall, see ‘Hit’ events. Components on both this and the other Actor must have bGenerateOverlapEvents set to true to generate overlap events.:
  • on_actor_end_overlap (ActorEndOverlapSignature): [Read-Write] Called when another actor stops overlapping this actor. Components on both this and the other Actor must have bGenerateOverlapEvents set to true to generate overlap events.:
  • on_actor_hit (ActorHitSignature): [Read-Write] Called when this Actor hits (or is hit by) something solid. This could happen due to things like Character movement, using Set Location with ‘sweep’ enabled, or physics simulation. For events when objects overlap (e.g. walking into a trigger) see the ‘Overlap’ event. For collisions during physics simulation to generate hit events, ‘Simulation Generates Hit Events’ must be enabled.:
  • on_begin_cursor_over (ActorBeginCursorOverSignature): [Read-Write] Called when the mouse cursor is moved over this actor if mouse over events are enabled in the player controller.
  • on_clicked (ActorOnClickedSignature): [Read-Write] Called when the left mouse button is clicked while the mouse is over this actor and click events are enabled in the player controller.
  • on_destroyed (ActorDestroyedSignature): [Read-Write] Event triggered when the actor has been explicitly destroyed.
  • on_end_cursor_over (ActorEndCursorOverSignature): [Read-Write] Called when the mouse cursor is moved off this actor if mouse over events are enabled in the player controller.
  • on_end_play (ActorEndPlaySignature): [Read-Write] Event triggered when the actor is being deleted or removed from a level.
  • on_input_touch_begin (ActorOnInputTouchBeginSignature): [Read-Write] Called when a touch input is received over this actor when touch events are enabled in the player controller.
  • on_input_touch_end (ActorOnInputTouchEndSignature): [Read-Write] Called when a touch input is received over this component when touch events are enabled in the player controller.
  • on_input_touch_enter (ActorBeginTouchOverSignature): [Read-Write] Called when a finger is moved over this actor when touch over events are enabled in the player controller.
  • on_input_touch_leave (ActorEndTouchOverSignature): [Read-Write] Called when a finger is moved off this actor when touch over events are enabled in the player controller.
  • on_released (ActorOnReleasedSignature): [Read-Write] Called when the left mouse button is released while the mouse is over this actor and click events are enabled in the player controller.
  • on_take_any_damage (TakeAnyDamageSignature): [Read-Write] Called when the actor is damaged in any way.
  • on_take_point_damage (TakePointDamageSignature): [Read-Write] Called when the actor is damaged by point damage.
  • on_take_radial_damage (TakeRadialDamageSignature): [Read-Write] Called when the actor is damaged by radial damage.
  • only_relevant_to_owner (bool): [Read-Write] If true, this actor is only relevant to its owner. If this flag is changed during play, all non-owner channels would need to be explicitly closed.
  • optimize_bp_component_data (bool): [Read-Write] Whether to cook additional data to speed up spawn events at runtime for any Blueprint classes based on this Actor. This option may slightly increase memory usage in a cooked build.
  • pivot_offset (Vector): [Read-Write] Local space pivot offset for the actor, only used in the editor
  • player_owner (PlayerController): [Read-Write] PlayerController which owns this HUD.
  • primary_actor_tick (ActorTickFunction): [Read-Write] Primary Actor tick function, which calls TickActor(). Tick functions can be configured to control whether ticking is enabled, at what time during a frame the update occurs, and to set up tick dependencies. https://docs.unrealengine.com/latest/INT/API/Runtime/Engine/Engine/FTickFunction/: AddTickPrerequisiteActor(), AddTickPrerequisiteComponent():
  • relevant_for_level_bounds (bool): [Read-Write] If true, this actor’s component’s bounds will be included in the level’s bounding box unless the Actor’s class has overridden IsLevelBoundsRelevant
  • replay_rewindable (bool): [Read-Write] If true, this actor will only be destroyed during scrubbing if the replay is set to a time before the actor existed. Otherwise, RewindForReplay will be called if we detect the actor needs to be reset. Note, this Actor must not be destroyed by gamecode, and RollbackViaDeletion may not be used.
  • replicate_movement (bool): [Read-Write] If true, replicate movement/location related properties. Actor must also be set to replicate. SetReplicates(): https://docs.unrealengine.com/latest/INT/Gameplay/Networking/Replication/:
  • replicated_movement (RepMovement): [Read-Write] Used for replication of our RootComponent’s position and velocity
  • replicates (bool): [Read-Write] If true, this actor will replicate to remote machines SetReplicates():
  • root_component (SceneComponent): [Read-Write] The component that defines the transform (location, rotation, scale) of this Actor in the world, all other components must be attached to this one somehow
  • show_debug_info (bool): [Read-Write] If true, current ViewTarget shows debug information using its DisplayDebug().
  • show_hit_box_debug_info (bool): [Read-Write] If true, show hitbox debugging info.
  • show_hud (bool): [Read-Write] Whether or not the HUD should be drawn.
  • show_overlays (bool): [Read-Write] If true, render actor overlays.
  • spawn_collision_handling_method (SpawnActorCollisionHandlingMethod): [Read-Write] Controls how to handle spawning this actor in a situation where it’s colliding with something else. “Default” means AlwaysSpawn here.
  • sprite_scale (float): [Read-Write] The scale to apply to any billboard components in editor builds (happens in any WITH_EDITOR build, including non-cooked games).
  • tags (Array(Name)): [Read-Write] Array of tags that can be used for grouping and categorizing.
add_hit_box(position, size, name, consumes_input, priority=0) → None

Add a hitbox to the hud

Parameters:
  • position (Vector2D) – Coordinates of the top left of the hit box.
  • size (Vector2D) – Size of the hit box.
  • name (Name) –
  • consumes_input (bool) – Whether click processing should continue if this hit box is clicked.
  • priority (int32) – The priority of the box used for layering. Larger values are considered first. Equal values are considered in the order they were added.
deproject(screen_x, screen_y) -> (world_position=Vector, world_direction=Vector)

Transforms a 2D screen location into a 3D location and direction

Parameters:
Returns:

world_position (Vector):

world_direction (Vector):

Return type:

tuple

draw_line(start_screen_x, start_screen_y, end_screen_x, end_screen_y, line_color, line_thickness=0.000000) → None

Draws a 2D line on the HUD.

Parameters:
  • start_screen_x (float) – Screen-space X coordinate of start of the line.
  • start_screen_y (float) – Screen-space Y coordinate of start of the line.
  • end_screen_x (float) – Screen-space X coordinate of end of the line.
  • end_screen_y (float) – Screen-space Y coordinate of end of the line.
  • line_color (LinearColor) – Color to draw line
  • line_thickness (float) – Thickness of the line to draw
draw_material(material, screen_x, screen_y, screen_w, screen_h, material_u, material_v, material_u_width, material_v_height, scale=1.000000, scale_position=False, rotation=0.000000, rot_pivot=[0.000000, 0.000000]) → None

Draws a material-textured quad on the HUD.

Parameters:
  • material (MaterialInterface) – Material to use
  • screen_x (float) – Screen-space X coordinate of upper left corner of the quad.
  • screen_y (float) – Screen-space Y coordinate of upper left corner of the quad.
  • screen_w (float) – Screen-space width of the quad (in pixels).
  • screen_h (float) – Screen-space height of the quad (in pixels).
  • material_u (float) – Texture-space U coordinate of upper left corner of the quad
  • material_v (float) – Texture-space V coordinate of upper left corner of the quad.
  • material_u_width (float) – Texture-space width of the quad (in normalized UV distance).
  • material_v_height (float) – Texture-space height of the quad (in normalized UV distance).
  • scale (float) – Amount to scale the entire texture (horizontally and vertically)
  • scale_position (bool) – Whether the “Scale” parameter should also scale the position of this draw call.
  • rotation (float) – Amount to rotate this quad
  • rot_pivot (Vector2D) – Location (as proportion of quad, 0-1) to rotate about
draw_material_simple(material, screen_x, screen_y, screen_w, screen_h, scale=1.000000, scale_position=False) → None

Draws a material-textured quad on the HUD. Assumes UVs such that the entire material is shown.

Parameters:
  • material (MaterialInterface) – Material to use
  • screen_x (float) – Screen-space X coordinate of upper left corner of the quad.
  • screen_y (float) – Screen-space Y coordinate of upper left corner of the quad.
  • screen_w (float) – Screen-space width of the quad (in pixels).
  • screen_h (float) – Screen-space height of the quad (in pixels).
  • scale (float) – Amount to scale the entire texture (horizontally and vertically)
  • scale_position (bool) – Whether the “Scale” parameter should also scale the position of this draw call.
draw_material_triangle(material, v0_pos, v1_pos, v2_pos, v0_uv, v1_uv, v2_uv, v0_color=[0.000000, 0.000000, 0.000000, 0.000000], v1_color=[0.000000, 0.000000, 0.000000, 0.000000], v2_color=[0.000000, 0.000000, 0.000000, 0.000000]) → None

Draw Material Triangle

Parameters:
draw_rect(rect_color, screen_x, screen_y, screen_w, screen_h) → None

Draws a colored untextured quad on the HUD.

Parameters:
  • rect_color (LinearColor) – Color of the rect. Can be translucent.
  • screen_x (float) – Screen-space X coordinate of upper left corner of the quad.
  • screen_y (float) – Screen-space Y coordinate of upper left corner of the quad.
  • screen_w (float) – Screen-space width of the quad (in pixels).
  • screen_h (float) – Screen-space height of the quad (in pixels).
draw_text(text, text_color, screen_x, screen_y, font=None, scale=1.000000, scale_position=False) → None

Draws a string on the HUD.

Parameters:
  • text (str) – String to draw
  • text_color (LinearColor) – Color to draw string
  • screen_x (float) – Screen-space X coordinate of upper left corner of the string.
  • screen_y (float) – Screen-space Y coordinate of upper left corner of the string.
  • font (Font) – Font to draw text. If NULL, default font is chosen.
  • scale (float) – Scale multiplier to control size of the text.
  • scale_position (bool) – Whether the “Scale” parameter should also scale the position of this draw call.
draw_texture(texture, screen_x, screen_y, screen_w, screen_h, texture_u, texture_v, texture_u_width, texture_v_height, tint_color=[0.000000, 0.000000, 0.000000, 0.000000], blend_mode=BlendMode.BLEND_TRANSLUCENT, scale=1.000000, scale_position=False, rotation=0.000000, rot_pivot=[0.000000, 0.000000]) → None

Draws a textured quad on the HUD.

Parameters:
  • texture (Texture) – Texture to draw.
  • screen_x (float) – Screen-space X coordinate of upper left corner of the quad.
  • screen_y (float) – Screen-space Y coordinate of upper left corner of the quad.
  • screen_w (float) – Screen-space width of the quad (in pixels).
  • screen_h (float) – Screen-space height of the quad (in pixels).
  • texture_u (float) – Texture-space U coordinate of upper left corner of the quad
  • texture_v (float) – Texture-space V coordinate of upper left corner of the quad.
  • texture_u_width (float) – Texture-space width of the quad (in normalized UV distance).
  • texture_v_height (float) – Texture-space height of the quad (in normalized UV distance).
  • tint_color (LinearColor) – Vertex color for the quad.
  • blend_mode (BlendMode) – Controls how to blend this quad with the scene. Translucent by default.
  • scale (float) – Amount to scale the entire texture (horizontally and vertically)
  • scale_position (bool) – Whether the “Scale” parameter should also scale the position of this draw call.
  • rotation (float) – Amount to rotate this quad
  • rot_pivot (Vector2D) – Location (as proportion of quad, 0-1) to rotate about
draw_texture_simple(texture, screen_x, screen_y, scale=1.000000, scale_position=False) → None

Draws a textured quad on the HUD. Assumes 1:1 texel density.

Parameters:
  • texture (Texture) – Texture to draw.
  • screen_x (float) – Screen-space X coordinate of upper left corner of the quad.
  • screen_y (float) – Screen-space Y coordinate of upper left corner of the quad.
  • scale (float) – Scale multiplier to control size of the text.
  • scale_position (bool) – Whether the “Scale” parameter should also scale the position of this draw call.
enable_debug_text_shadow

(bool) – [Read-Write] Put shadow on debug strings

get_actors_in_selection_rectangle(class_filter, first_point, second_point, include_non_colliding_components=True, actor_must_be_fully_enclosed=False) -> Array(Actor)

Returns the array of actors inside a selection rectangle, with a class filter.

Sample usage:

TArray<AStaticMeshActor*> ActorsInSelectionRect;
Canvas->GetActorsInSelectionRectangle<AStaticMeshActor>(FirstPoint,SecondPoint,ActorsInSelectionRect);
Parameters:
  • class_filter (type(Class)) –
  • first_point (Vector2D) – The first point, or anchor of the marquee box. Where the dragging of the marquee started in screen space.
  • second_point (Vector2D) – The second point, where the mouse cursor currently is / the other point of the box selection, in screen space.
  • include_non_colliding_components (bool) – Whether to include even non-colliding components of the actor when determining its bounds
  • actor_must_be_fully_enclosed (bool) – The Selection rule: whether the selection box can partially intersect Actor, or must fully enclose the Actor.
Returns:

OutActors The actors that are within the selection box according to selection rule

out_actors (Array(Actor)):

Return type:

Array(Actor)

get_owning_pawn() → Pawn

Returns the Pawn for this HUD’s player.

Returns:
Return type:Pawn
get_owning_player_controller() → PlayerController

Returns the PlayerController for this HUD’s player.

Returns:
Return type:PlayerController
get_text_size(text, font=None, scale=1.000000) -> (out_width=float, out_height=float)

Returns the width and height of a string.

Parameters:
  • text (str) – String to draw
  • font (Font) – Font to draw text. If NULL, default font is chosen.
  • scale (float) – Scale multiplier to control size of the text.
Returns:

out_width (float): Returns the width in pixels of the string.

out_height (float): Returns the height in pixels of the string.

Return type:

tuple

lost_focus_paused

(bool) – [Read-Only] Tells whether the game was paused due to lost focus

player_owner

(PlayerController) – [Read-Only] PlayerController which owns this HUD.

project(location) → Vector

Transforms a 3D world-space vector into 2D screen coordinates

Parameters:location (Vector) –
Returns:
Return type:Vector
receive_draw_hud(size_x, size_y) → None

Hook to allow blueprints to do custom HUD drawing. bSuppressNativeHUD to control HUD drawing in base class. Note: the canvas resource used for drawing is only valid during this event, it will not be valid if drawing functions are called later (e.g. after a Delay node).:

Parameters:
  • size_x (int32) –
  • size_y (int32) –
receive_hit_box_begin_cursor_over(box_name) → None

Called when a hit box is moused over.

Parameters:box_name (Name) –
receive_hit_box_click(box_name) → None

Called when a hit box is clicked on. Provides the name associated with that box.

Parameters:box_name (Name) –
receive_hit_box_end_cursor_over(box_name) → None

Called when a hit box no longer has the mouse over it.

Parameters:box_name (Name) –
receive_hit_box_release(box_name) → None

Called when a hit box is unclicked. Provides the name associated with that box.

Parameters:box_name (Name) –
show_debug_info

(bool) – [Read-Write] If true, current ViewTarget shows debug information using its DisplayDebug().

show_hit_box_debug_info

(bool) – [Read-Write] If true, show hitbox debugging info.

show_hud

(bool) – [Read-Write] Whether or not the HUD should be drawn.

show_overlays

(bool) – [Read-Write] If true, render actor overlays.