unreal.PlayerController

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

Bases: unreal.Controller

PlayerControllers are used by human players to control Pawns.

ControlRotation (accessed via GetControlRotation()), determines the aiming orientation of the controlled Pawn.

In networked games, PlayerControllers exist on the server for every player-controlled pawn, and also on the controlling client’s machine. They do NOT exist on a client’s machine for pawns controlled by remote players elsewhere on the network. see: https://docs.unrealengine.com/latest/INT/Gameplay/Framework/Controller/PlayerController/

C++ Source:

  • Module: Engine

  • File: PlayerController.h

Editor Properties: (see get_editor_property/set_editor_property)

  • actor_guid (Guid): [Read-Only] The GUID for this actor.

  • 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).

  • attach_to_pawn (bool): [Read-Write] If true, the controller location will match the possessed Pawn’s location. If false, it will not be updated. Rotation will match ControlRotation in either case. Since a Controller’s location is normally inaccessible, this is intended mainly for purposes of being able to attach an Actor that follows the possessed Pawn location, but that still has the full aim rotation (since a Pawn might update only some components of the rotation).

  • 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_manage_active_camera_target (bool): [Read-Write] True to allow this player controller to manage the camera target for you, typically by using the possessed pawn as the camera target. Set to false if you want to manually control the camera target.

  • 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. see: https://www.unrealengine.com/blog/damage-in-ue4 see: 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

  • cheat_class (type(Class)): [Read-Write] Class of my CheatManager. see: CheatManager for more information about when it will be instantiated.

  • cheat_manager (CheatManager): [Read-Write] Object that manages “cheat” commands.

    By default:
    • Debug and Development builds will force it to be instantiated (

    see: APlayerController::EnableCheats). - Test and Shipping builds will only instantiate it if the authoritative game mode allows cheats ( see: AGameModeBase::AllowCheats). This behavior can be changed either by overriding APlayerController::EnableCheats or AGameModeBase::AllowCheats.

  • click_event_keys (Array(Key)): [Read-Write] List of keys that will cause click events to be forwarded, default to left click

  • current_click_trace_channel (CollisionChannel): [Read-Write] Trace channel currently being used for determining what world object was clicked on.

  • current_mouse_cursor (MouseCursor): [Read-Write] Currently visible mouse cursor

  • 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.

  • default_click_trace_channel (CollisionChannel): [Read-Write] Default trace channel used for determining what world object was clicked on.

  • default_mouse_cursor (MouseCursor): [Read-Write] Type of mouse cursor to show by default

  • default_update_overlaps_method_during_level_streaming (ActorUpdateOverlapsMethod): [Read-Only] Default value taken from config file for this class when ‘UseConfigDefault’ is chosen for ‘UpdateOverlapsMethodDuringLevelStreaming’. This allows a default to be chosen per class in the matching config. For example, for Actor it could be specified in DefaultEngine.ini as:

    [/Script/Engine.Actor] DefaultUpdateOverlapsMethodDuringLevelStreaming = OnlyUpdateMovable

    Another subclass could set their default to something different, such as:

    [/Script/Engine.BlockingVolume] DefaultUpdateOverlapsMethodDuringLevelStreaming = NeverUpdate see: UpdateOverlapsMethodDuringLevelStreaming

  • 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_click_events (bool): [Read-Write] Whether actor/component click events should be generated.

  • enable_mouse_over_events (bool): [Read-Write] Whether actor/component mouse over events should be generated.

  • enable_touch_events (bool): [Read-Write] Whether actor/component touch events should be generated.

  • enable_touch_over_events (bool): [Read-Write] Whether actor/component touch over events should be generated.

  • 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.

  • force_feedback_enabled (bool): [Read-Write] Force Feedback Enabled

  • generate_overlap_events_during_level_streaming (bool): [Read-Write] If true, this actor will generate overlap Begin/End events when spawned as part of level streaming, which includes initial level load. You might enable this is in the case where a streaming level loads around an actor and you want Begin/End overlap events to trigger. see: UpdateOverlapsMethodDuringLevelStreaming

  • hidden (bool): [Read-Write] Allows us to only see this Actor in the Editor, and not in the actual game. see: SetActorHiddenInGame()

  • hit_result_trace_distance (float): [Read-Write] Distance to trace when computing click events

  • 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_pitch_scale (float): [Read-Write] Pitch input speed scaling

  • input_priority (int32): [Read-Write] The priority of this input component when pushed in to the stack.

  • input_roll_scale (float): [Read-Write] Roll input speed scaling

  • input_yaw_scale (float): [Read-Write] Yaw input speed scaling

  • 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

  • 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. note: 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. note: 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. note: 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_instigated_any_damage (InstigatedAnyDamageSignature): [Read-Write] Called when the controller has instigated damage in any way

  • 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_camera_manager (PlayerCameraManager): [Read-Write] Camera manager associated with this Player Controller.

  • player_camera_manager_class (type(Class)): [Read-Write] PlayerCamera class should be set for each game, otherwise Engine.PlayerCameraManager is used

  • player_is_waiting (bool): [Read-Only] True if PlayerController is currently waiting for the match to start or to respawn. Only valid in Spectating state.

  • player_state (PlayerState): [Read-Write] PlayerState containing replicated information about the player using this controller (only exists for players, not NPCs).

  • 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. see: https://docs.unrealengine.com/latest/INT/API/Runtime/Engine/Engine/FTickFunction/ see: 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. see: SetReplicates() see: 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 see: 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

  • should_perform_full_tick_when_paused (bool): [Read-Write] Whether we fully tick when the game is paused, if our tick function is allowed to do so. If false, we do a minimal update during the tick.

  • show_mouse_cursor (bool): [Read-Write] Whether the mouse cursor should be displayed.

  • smooth_target_view_rotation_speed (float): [Read-Write] Interp speed for blending remote view rotation for smoother client updates

  • 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.

  • update_overlaps_method_during_level_streaming (ActorUpdateOverlapsMethod): [Read-Write] Condition for calling UpdateOverlaps() to initialize overlap state when loaded in during level streaming. If set to ‘UseConfigDefault’, the default specified in ini (displayed in ‘DefaultUpdateOverlapsMethodDuringLevelStreaming’) will be used. If overlaps are not initialized, this actor and attached components will not have an initial state of what objects are touching it, and overlap events may only come in once one of those objects update overlaps themselves (for example when moving). However if an object touching it does initialize state, both objects will know about their touching state with each other. This can be a potentially large performance savings during level loading and streaming, and is safe if the object and others initially overlapping it do not need the overlap state because they will not trigger overlap notifications.

    Note that if ‘bGenerateOverlapEventsDuringLevelStreaming’ is true, overlaps are always updated in this case, but that flag determines whether the Begin/End overlap events are triggered. see: bGenerateOverlapEventsDuringLevelStreaming, DefaultUpdateOverlapsMethodDuringLevelStreaming, GetUpdateOverlapsMethodDuringLevelStreaming()

activate_touch_interface(new_touch_interface)None

Activates a new touch interface for this player controller

Parameters

new_touch_interface (TouchInterface) –

add_look_up_input(val)

deprecated: ‘add_look_up_input’ was renamed to ‘add_pitch_input’.

add_pitch_input(val)None

Add Pitch (look up) input. This value is multiplied by InputPitchScale.

Parameters

val (float) – Amount to add to Pitch. This value is multiplied by InputPitchScale.

add_roll_input(val)None

Add Roll input. This value is multiplied by InputRollScale.

Parameters

val (float) – Amount to add to Roll. This value is multiplied by InputRollScale.

add_turn_input(val)

deprecated: ‘add_turn_input’ was renamed to ‘add_yaw_input’.

add_yaw_input(val)None

Add Yaw (turn) input. This value is multiplied by InputYawScale.

Parameters

val (float) – Amount to add to Yaw. This value is multiplied by InputYawScale.

can_restart_player()bool

Returns true if this controller thinks it’s able to restart. Called from GameModeBase::PlayerCanRestart

Returns

Return type

bool

property cheat_class

[Read-Only] Class of my CheatManager. see: CheatManager for more information about when it will be instantiated.

Type

(type(Class))

property cheat_manager

[Read-Only] Object that manages “cheat” commands.

By default:
  • Debug and Development builds will force it to be instantiated (

see: APlayerController::EnableCheats). - Test and Shipping builds will only instantiate it if the authoritative game mode allows cheats ( see: AGameModeBase::AllowCheats). This behavior can be changed either by overriding APlayerController::EnableCheats or AGameModeBase::AllowCheats.

Type

(CheatManager)

clear_audio_listener_attenuation_override()None

Clear Audio Listener Attenuation Override

clear_audio_listener_override()None

Clear any overrides that have been applied to audio listener

property click_event_keys

[Read-Write] List of keys that will cause click events to be forwarded, default to left click

Type

(Array(Key))

client_clear_camera_lens_effects()None

Removes all Camera Lens Effects.

client_play_camera_anim(anim_to_play, scale=1.0, rate=1.0, blend_in_time=0.0, blend_out_time=0.0, loop=False, random_start_time=False, space=CameraShakePlaySpace.CAMERA_LOCAL, custom_play_space=[0.0, 0.0, 0.0])None

Play the indicated CameraAnim on this camera.

Parameters
  • anim_to_play (CameraAnim) – Camera animation to play

  • scale (float) – “Intensity” scalar. This is the scale at which the anim was first played.

  • rate (float) – Multiplier for playback rate. 1.0 = normal.

  • blend_in_time (float) – Time to interpolate in from zero, for smooth starts

  • blend_out_time (float) – Time to interpolate out to zero, for smooth finishes

  • loop (bool) – True if the animation should loop, false otherwise

  • random_start_time (bool) – Whether or not to choose a random time to start playing. Only really makes sense for bLoop = true

  • space (CameraShakePlaySpace) – Animation play area

  • custom_play_space (Rotator) – Matrix used when Space = CAPS_UserDefined

client_play_camera_shake(shake, scale=1.0, play_space=CameraShakePlaySpace.CAMERA_LOCAL, user_play_space_rot=[0.0, 0.0, 0.0])

deprecated: ‘client_play_camera_shake’ was renamed to ‘client_start_camera_shake’.

client_play_camera_shake_from_source(shake, source_component)

deprecated: ‘client_play_camera_shake_from_source’ was renamed to ‘client_start_camera_shake_from_source’.

client_play_force_feedback(force_feedback_effect, tag, looping, ignore_time_dilation, play_while_paused)

deprecated: ‘client_play_force_feedback’ was renamed to ‘k2_client_play_force_feedback’.

client_set_hud(new_hud_class)None

Set the client’s class of HUD and spawns a new instance of it. If there was already a HUD active, it is destroyed.

Parameters

new_hud_class (type(Class)) –

client_spawn_camera_lens_effect(lens_effect_emitter_class)None

Spawn a camera lens effect (e.g. blood).

Parameters

lens_effect_emitter_class (type(Class)) –

client_start_camera_shake(shake, scale=1.0, play_space=CameraShakePlaySpace.CAMERA_LOCAL, user_play_space_rot=[0.0, 0.0, 0.0])None

Play Camera Shake

Parameters
  • shake (type(Class)) – Camera shake animation to play

  • scale (float) – Scalar defining how “intense” to play the anim

  • play_space (CameraShakePlaySpace) – Which coordinate system to play the shake in (used for CameraAnims within the shake).

  • user_play_space_rot (Rotator) – Matrix used when PlaySpace = CAPS_UserDefined

client_start_camera_shake_from_source(shake, source_component)None

Play Camera Shake localized to a given source

Parameters
client_stop_camera_shake(shake, immediately=True)None

Stop camera shake on client.

Parameters
client_stop_camera_shakes_from_source(source_component, immediately=True)None

Stop camera shake on client.

Parameters
client_stop_force_feedback(force_feedback_effect, tag)None

Stops a playing force feedback pattern

Parameters
  • force_feedback_effect (ForceFeedbackEffect) – If set only patterns from that effect will be stopped

  • tag (Name) – If not none only the pattern with this tag will be stopped

property current_click_trace_channel

[Read-Write] Trace channel currently being used for determining what world object was clicked on.

Type

(CollisionChannel)

property current_mouse_cursor

[Read-Write] Currently visible mouse cursor

Type

(MouseCursor)

property default_click_trace_channel

[Read-Only] Default trace channel used for determining what world object was clicked on.

Type

(CollisionChannel)

property default_mouse_cursor

[Read-Only] Type of mouse cursor to show by default

Type

(MouseCursor)

deproject_mouse_position_to_world()(world_location=Vector, world_direction=Vector) or None

Convert current mouse 2D position to World Space 3D position and direction. Returns false if unable to determine value. *

Returns

world_location (Vector):

world_direction (Vector):

Return type

tuple or None

deproject_screen_position_to_world(screen_x, screen_y)(world_location=Vector, world_direction=Vector) or None

Convert 2D screen position to World Space 3D position and direction. Returns false if unable to determine value. *

Parameters
Returns

world_location (Vector):

world_direction (Vector):

Return type

tuple or None

property enable_click_events

[Read-Write] Whether actor/component click events should be generated.

Type

(bool)

property enable_mouse_over_events

[Read-Write] Whether actor/component mouse over events should be generated.

Type

(bool)

property enable_touch_events

[Read-Write] Whether actor/component touch events should be generated.

Type

(bool)

property enable_touch_over_events

[Read-Write] Whether actor/component touch over events should be generated.

Type

(bool)

property force_feedback_enabled

[Read-Write] Force Feedback Enabled

Type

(bool)

get_focal_location()Vector
Returns the location the PlayerController is focused on.

If there is a possessed Pawn, returns the Pawn’s location. If there is a spectator Pawn, returns that Pawn’s location. Otherwise, returns the PlayerController’s spawn location (usually the last known Pawn location after it has died).

Returns

Return type

Vector

get_hit_result_under_cursor(trace_channel, trace_complex)HitResult or None

Get Hit Result Under Cursor deprecated: Use new GetHitResultUnderCursorByChannel or GetHitResultUnderCursorForObject

Parameters
Returns

hit_result (HitResult):

Return type

HitResult or None

get_hit_result_under_cursor_by_channel(trace_channel, trace_complex)HitResult or None

Performs a collision query under the mouse cursor, looking on a trace channel

Parameters
Returns

hit_result (HitResult):

Return type

HitResult or None

get_hit_result_under_cursor_for_objects(object_types, trace_complex)HitResult or None

Performs a collision query under the mouse cursor, looking for object types

Parameters
Returns

hit_result (HitResult):

Return type

HitResult or None

get_hit_result_under_finger(finger_index, trace_channel, trace_complex)HitResult or None

Get Hit Result Under Finger deprecated: Use new GetHitResultUnderFingerByChannel or GetHitResultUnderFingerForObject

Parameters
Returns

hit_result (HitResult):

Return type

HitResult or None

get_hit_result_under_finger_by_channel(finger_index, trace_channel, trace_complex)HitResult or None

Performs a collision query under the finger, looking on a trace channel

Parameters
Returns

hit_result (HitResult):

Return type

HitResult or None

get_hit_result_under_finger_for_objects(finger_index, object_types, trace_complex)HitResult or None

Performs a collision query under the finger, looking for object types

Parameters
Returns

hit_result (HitResult):

Return type

HitResult or None

get_hud()HUD

Gets the HUD currently being used by this player controller

Returns

Return type

HUD

get_input_analog_key_state(key)float

Returns the analog value for the given key/button. If analog isn’t supported, returns 1 for down and 0 for up.

Parameters

key (Key) –

Returns

Return type

float

get_input_analog_stick_state(which_stick) -> (stick_x=float, stick_y=float)

Retrieves the X and Y displacement of the given analog stick.

Parameters

which_stick (ControllerAnalogStick) –

Returns

stick_x (float):

stick_y (float):

Return type

tuple

get_input_key_time_down(key)float

Returns how long the given key/button has been down. Returns 0 if it’s up or it just went down this frame.

Parameters

key (Key) –

Returns

Return type

float

get_input_motion_state() -> (tilt=Vector, rotation_rate=Vector, gravity=Vector, acceleration=Vector)

Retrieves the current motion state of the player’s input device

Returns

tilt (Vector):

rotation_rate (Vector):

gravity (Vector):

acceleration (Vector):

Return type

tuple

get_input_mouse_delta() -> (delta_x=float, delta_y=float)

Retrieves how far the mouse moved this frame.

Returns

delta_x (float):

delta_y (float):

Return type

tuple

get_input_touch_state(finger_index) -> (location_x=float, location_y=float, is_currently_pressed=bool)

Retrieves the X and Y screen coordinates of the specified touch key. Returns false if the touch index is not down

Parameters

finger_index (TouchIndex) –

Returns

location_x (float):

location_y (float):

is_currently_pressed (bool):

Return type

tuple

get_input_vector_key_state(key)Vector

Returns the vector value for the given key/button.

Parameters

key (Key) –

Returns

Return type

Vector

get_mouse_position()(location_x=float, location_y=float) or None

Retrieves the X and Y screen coordinates of the mouse cursor. Returns false if there is no associated mouse device

Returns

location_x (float):

location_y (float):

Return type

tuple or None

get_spectator_pawn()SpectatorPawn

Get the Pawn used when spectating. nullptr when not spectating.

Returns

Return type

SpectatorPawn

get_viewport_size() -> (size_x=int32, size_y=int32)

Helper to get the size of the HUD canvas for this player controller. Returns 0 if there is no HUD

Returns

size_x (int32):

size_y (int32):

Return type

tuple

property hit_result_trace_distance

[Read-Write] Distance to trace when computing click events

Type

(float)

property input_pitch_scale

[Read-Write] Pitch input speed scaling

Type

(float)

property input_roll_scale

[Read-Write] Roll input speed scaling

Type

(float)

property input_yaw_scale

[Read-Write] Yaw input speed scaling

Type

(float)

is_input_key_down(key)bool

Returns true if the given key/button is pressed on the input of the controller (if present)

Parameters

key (Key) –

Returns

Return type

bool

k2_client_play_force_feedback(force_feedback_effect, tag, looping, ignore_time_dilation, play_while_paused)None

Play a force feedback pattern on the player’s controller

Parameters
  • force_feedback_effect (ForceFeedbackEffect) – The force feedback pattern to play

  • tag (Name) – A tag that allows stopping of an effect. If another effect with this Tag is playing, it will be stopped and replaced

  • looping (bool) – Whether the pattern should be played repeatedly or be a single one shot

  • ignore_time_dilation (bool) – Whether the pattern should ignore time dilation

  • play_while_paused (bool) – Whether the pattern should continue to play while the game is paused

property look_right_scale

‘look_right_scale’ was renamed to ‘input_yaw_scale’.

Type

deprecated

property look_up_scale

‘look_up_scale’ was renamed to ‘input_pitch_scale’.

Type

deprecated

play_dynamic_force_feedback(intensity, duration, affects_left_large, affects_left_small, affects_right_large, affects_right_small, action, latent_info)None

Latent action that controls the playing of force feedback Begins playing when Start is called. Calling Update or Stop if the feedback is not active will have no effect. Completed will execute when Stop is called or the duration ends. When Update is called the Intensity, Duration, and affect values will be updated with the current inputs

Parameters
  • intensity (float) – How strong the feedback should be. Valid values are between 0.0 and 1.0

  • duration (float) – How long the feedback should play for. If the value is negative it will play until stopped

  • affects_left_large (bool) – Whether the intensity should be applied to the large left servo

  • affects_left_small (bool) – Whether the intensity should be applied to the small left servo

  • affects_right_large (bool) – Whether the intensity should be applied to the large right servo

  • affects_right_small (bool) – Whether the intensity should be applied to the small right servo

  • action (DynamicForceFeedbackAction) –

  • latent_info (LatentActionInfo) –

play_haptic_effect(haptic_effect, hand, scale=1.0, loop=False)None

Play a haptic feedback curve on the player’s controller

Parameters
property player_camera

‘player_camera’ was renamed to ‘player_camera_manager’.

Type

deprecated

property player_camera_class

‘player_camera_class’ was renamed to ‘player_camera_manager_class’.

Type

deprecated

property player_camera_manager

[Read-Only] Camera manager associated with this Player Controller.

Type

(PlayerCameraManager)

property player_camera_manager_class

[Read-Only] PlayerCamera class should be set for each game, otherwise Engine.PlayerCameraManager is used

Type

(type(Class))

property player_is_waiting

[Read-Only] True if PlayerController is currently waiting for the match to start or to respawn. Only valid in Spectating state.

Type

(bool)

project_world_location_to_screen(world_location, player_viewport_relative=False)Vector2D or None

Convert a World Space 3D position into a 2D Screen Space position.

Parameters
  • world_location (Vector) –

  • player_viewport_relative (bool) –

Returns

true if the world coordinate was successfully projected to the screen.

screen_location (Vector2D):

Return type

Vector2D or None

reset_controller_light_color()None

Resets the light color of the player’s controller to default

set_audio_listener_attenuation_override(attach_to_component, attenuation_location_o_verride)None

Set Audio Listener Attenuation Override

Parameters
set_audio_listener_override(attach_to_component, location, rotation)None

Used to override the default positioning of the audio listener

Parameters
  • attach_to_component (SceneComponent) – Optional component to attach the audio listener to

  • location (Vector) – Depending on whether Component is attached this is either an offset from its location or an absolute position

  • rotation (Rotator) – Depending on whether Component is attached this is either an offset from its rotation or an absolute rotation

set_cinematic_mode(cinematic_mode, hide_player, affects_hud, affects_movement, affects_turning)None

Server/SP only function for changing whether the player is in cinematic mode. Updates values of various state variables, then replicates the call to the client to sync the current cinematic mode.

Parameters
  • cinematic_mode (bool) – specify true if the player is entering cinematic mode; false if the player is leaving cinematic mode.

  • hide_player (bool) – specify true to hide the player’s pawn (only relevant if bInCinematicMode is true)

  • affects_hud (bool) – specify true if we should show/hide the HUD to match the value of bCinematicMode

  • affects_movement (bool) – specify true to disable movement in cinematic mode, enable it when leaving

  • affects_turning (bool) – specify true to disable turning in cinematic mode or enable it when leaving

set_controller_light_color(color)None

Sets the light color of the player’s controller

Parameters

color (Color) – The color for the light to be

set_disable_haptics(new_disabled)None

Allows the player controller to disable all haptic requests from being fired, e.g. in the case of a level loading

Parameters

new_disabled (bool) – If TRUE, the haptics will stop and prevented from being enabled again until set to FALSE

set_haptics_by_value(frequency, amplitude, hand)None

Sets the value of the haptics for the specified hand directly, using frequency and amplitude. NOTE: If a curve is already playing for this hand, it will be cancelled in favour of the specified values.

Parameters
  • frequency (float) – The normalized frequency [0.0, 1.0] to play through the haptics system

  • amplitude (float) – The normalized amplitude [0.0, 1.0] to set the haptic feedback to

  • hand (ControllerHand) – Which hand to play the effect on

set_mouse_cursor_widget(cursor, cursor_widget)None

Sets the Widget for the Mouse Cursor to display

Parameters
  • cursor (MouseCursor) – the cursor to set the widget for

  • cursor_widget (UserWidget) – the widget to set the cursor to

set_mouse_location(x, y)None

Positions the mouse cursor in screen space, in pixels.

Parameters
  • x (int32) –

  • y (int32) –

set_view_target_with_blend(new_view_target, blend_time=0.0, blend_func=ViewTargetBlendFunction.VT_BLEND_LINEAR, blend_exp=0.0, lock_outgoing=False)None

Set the view target blending with variable control

Parameters
  • new_view_target (Actor) – new actor to set as view target

  • blend_time (float) – time taken to blend

  • blend_func (ViewTargetBlendFunction) – Cubic, Linear etc functions for blending

  • blend_exp (float) – Exponent, used by certain blend functions to control the shape of the curve.

  • lock_outgoing (bool) – If true, lock outgoing viewtarget to last frame’s camera position for the remainder of the blend.

set_virtual_joystick_visibility(visible)None

Set the virtual joystick visibility.

Parameters

visible (bool) –

property should_perform_full_tick_when_paused

[Read-Write] Whether we fully tick when the game is paused, if our tick function is allowed to do so. If false, we do a minimal update during the tick.

Type

(bool)

property show_mouse_cursor

[Read-Write] Whether the mouse cursor should be displayed.

Type

(bool)

property smooth_target_view_rotation_speed

[Read-Write] Interp speed for blending remote view rotation for smoother client updates

Type

(float)

stop_haptic_effect(hand)None

Stops a playing haptic feedback curve

Parameters

hand (ControllerHand) – Which hand to stop the effect for

was_input_key_just_pressed(key)bool

Returns true if the given key/button was up last frame and down this frame.

Parameters

key (Key) –

Returns

Return type

bool

was_input_key_just_released(key)bool

Returns true if the given key/button was down last frame and up this frame.

Parameters

key (Key) –

Returns

Return type

bool