unreal.PlayerController
¶
- class unreal.PlayerController(outer: Optional[Object] = None, name: Union[Name, str] = 'None')¶
Bases:
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-Write] Actor Guid: The GUID for this actor.- Note: Don’t use VisibleAnywhere here to avoid getting the CPF_Edit flag and get this property reset when resetting to defaults.
See FActorDetails::AddActorCategory and EditorUtilities::CopySingleProperty for details.
allow_tick_before_begin_play
(bool): [Read-Write] Allow Tick Before Begin Play: 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: Always relevant for network (overrides bOnlyRelevantToOwner).async_physics_data_class
(type(Class)): [Read-Write] Async Physics Data Class: The type of async physics data object to useasync_physics_tick_enabled
(bool): [Read-Write] Async Physics Tick Enabled: Whether to use use the async physics tick with this actor.attach_to_pawn
(bool): [Read-Write] Attach to Pawn: 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] Auto Destroy when Finished: 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] Auto Manage Active Camera Target: 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] Auto Receive Input: Automatically registers this actor to receive input from a player.block_input
(bool): [Read-Write] Block Input: If true, all input on the stack below this actor will not be consideredcall_pre_replication
(bool): [Read-Write] Call Pre Replicationcall_pre_replication_for_replay
(bool): [Read-Write] Call Pre Replication for Replaycan_be_damaged
(bool): [Read-Write] Can be Damaged: 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] Can be in Cluster: If true, this actor can be put inside of a GC Cluster to improve Garbage Collection performancecheat_class
(type(Class)): [Read-Write] Cheat Class: Class of my CheatManager. see: CheatManager for more information about when it will be instantiated.cheat_manager
(CheatManager): [Read-Write] Cheat Manager: Object that manages “cheat” commands.- By default:
In Shipping configurations, the manager is always disabled because UE_WITH_CHEAT_MANAGER is 0
When playing in the editor, cheats are always enabled
In other cases, cheats are enabled by default in single player games but can be forced on with the EnableCheats console command
This behavior can be changed either by overriding APlayerController::EnableCheats or AGameModeBase::AllowCheats.
click_event_keys
(Array[Key]): [Read-Write] Click Event Keys: List of keys that will cause click events to be forwarded, default to left clickcontent_bundle_guid
(Guid): [Read-Write] Content Bundle Guid: The GUID for this actor’s content bundle.current_click_trace_channel
(CollisionChannel): [Read-Write] Current Click Trace Channel: Trace channel currently being used for determining what world object was clicked on.current_mouse_cursor
(MouseCursor): [Read-Write] Current Mouse Cursor: Currently visible mouse cursorcustom_time_dilation
(float): [Read-Write] Custom Time Dilation: 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.data_layer_assets
(Array[DataLayerAsset]): [Read-Write] Data Layer Assetsdata_layers
(Array[ActorDataLayer]): [Read-Only] Data Layers: DataLayers the actor belongs to.default_click_trace_channel
(CollisionChannel): [Read-Write] Default Click Trace Channel: Default trace channel used for determining what world object was clicked on.default_mouse_cursor
(MouseCursor): [Read-Write] Default Mouse Cursor: Type of mouse cursor to show by defaultdefault_update_overlaps_method_during_level_streaming
(ActorUpdateOverlapsMethod): [Read-Only] Default Update Overlaps Method During Level Streaming: 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] Enable Auto LODGeneration: Whether this actor should be considered or not during HLOD generation.enable_click_events
(bool): [Read-Write] Enable Click Events: Whether actor/component click events should be generated.enable_motion_controls
(bool): [Read-Write] Enable Motion Controls: Whether or not to consider input from motion sources (tilt, acceleration, etc)enable_mouse_over_events
(bool): [Read-Write] Enable Mouse Over Events: Whether actor/component mouse over events should be generated.enable_streaming_source
(bool): [Read-Write] Enable Streaming Source: Whether the PlayerController should be used as a World Partiton streaming source.enable_touch_events
(bool): [Read-Write] Enable Touch Events: Whether actor/component touch events should be generated.enable_touch_over_events
(bool): [Read-Write] Enable Touch Over Events: Whether actor/component touch over events should be generated.find_camera_component_when_view_target
(bool): [Read-Write] Find Camera Component when View Target: 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 Enabledgenerate_overlap_events_during_level_streaming
(bool): [Read-Write] Generate Overlap Events During Level Streaming: 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: UpdateOverlapsMethodDuringLevelStreaminghidden
(bool): [Read-Write] Hidden: 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] Hit Result Trace Distance: Distance to trace when computing click eventshlod_layer
(HLODLayer): [Read-Write] HLODLayer: The UHLODLayer in which this actor should be included.ignores_origin_shifting
(bool): [Read-Write] Ignores Origin Shifting: Whether this actor should not be affected by world origin shifting.initial_life_span
(float): [Read-Write] Initial Life Span: 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] Input Pitch Scale: Pitch input speed scaling deprecated: Use the Enhanced Input plugin Scalar Modifier instead. See UInputSettings::bEnableLegacyInputScales to enable legacy behaviorinput_priority
(int32): [Read-Write] Input Priority: The priority of this input component when pushed in to the stack.input_roll_scale
(float): [Read-Write] Input Roll Scale: Roll input speed scaling deprecated: Use the Enhanced Input plugin Scalar Modifier instead. See UInputSettings::bEnableLegacyInputScales to enable legacy behaviorinput_yaw_scale
(float): [Read-Write] Input Yaw Scale: Yaw input speed scaling deprecated: Use the Enhanced Input plugin Scalar Modifier instead. See UInputSettings::bEnableLegacyInputScales to enable legacy behaviorinstigator
(Pawn): [Read-Write] Instigator: Pawn responsible for damage and other gameplay events caused by this actor.is_editor_only_actor
(bool): [Read-Write] Is Editor Only Actor: 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 buildsis_spatially_loaded
(bool): [Read-Write] Is Spatially Loaded: Determine if this actor is spatially loaded when placed in a partitioned world.If true, this actor will be loaded when in the range of any streaming sources and if (1) in no data layers, or (2) one or more of its data layers are enabled. If false, this actor will be loaded if (1) in no data layers, or (2) one or more of its data layers are enabled.
layers
(Array[Name]): [Read-Write] Layers: Layers the actor belongs to. This is outside of the editoronly data to allow hiding of LD-specified layers at runtime for profiling.min_net_update_frequency
(float): [Read-Write] Min Net Update Frequency: Used to determine what rate to throttle down to when replicated properties are changing infrequentlynet_cull_distance_squared
(float): [Read-Write] Net Cull Distance Squared: Square of the max distance from the client’s viewpoint that this actor is relevant and will be replicated.net_dormancy
(NetDormancy): [Read-Write] Net Dormancy: Dormancy setting for actor to take itself off of the replication list without being destroyed on clients.net_load_on_client
(bool): [Read-Write] Net Load on Client: This actor will be loaded on network clients during map loadnet_priority
(float): [Read-Write] Net Priority: Priority for this actor when checking for replication in a low bandwidth or saturated situation, higher priority means it is more likely to replicatenet_update_frequency
(float): [Read-Write] Net Update Frequency: How often (per second) this actor will be considered for replication, used to determine NetUpdateTimenet_use_owner_relevancy
(bool): [Read-Write] Net Use Owner Relevancy: If actor has valid Owner, call Owner’s IsNetRelevantFor and GetNetPriorityon_actor_begin_overlap
(ActorBeginOverlapSignature): [Read-Write] On Actor Begin Overlap: 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] On Actor End Overlap: 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] On Actor Hit: 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] On Begin Cursor Over: 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] On Clicked: 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] On Destroyed: Event triggered when the actor has been explicitly destroyed.on_end_cursor_over
(ActorEndCursorOverSignature): [Read-Write] On End Cursor Over: 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] On End Play: Event triggered when the actor is being deleted or removed from a level.on_input_touch_begin
(ActorOnInputTouchBeginSignature): [Read-Write] On Input Touch Begin: 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] On Input Touch End: 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] On Input Touch Enter: 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] On Input Touch Leave: 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] On Instigated Any Damage: Called when the controller has instigated damage in any wayon_possessed_pawn_changed
(OnPossessedPawnChanged): [Read-Write] On Possessed Pawn Changed: Called on both authorities and clients when the possessed pawn changes (either OldPawn or NewPawn might be nullptr)on_released
(ActorOnReleasedSignature): [Read-Write] On Released: 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] On Take Any Damage: Called when the actor is damaged in any way.on_take_point_damage
(TakePointDamageSignature): [Read-Write] On Take Point Damage: Called when the actor is damaged by point damage.on_take_radial_damage
(TakeRadialDamageSignature): [Read-Write] On Take Radial Damage: Called when the actor is damaged by radial damage.only_relevant_to_owner
(bool): [Read-Write] Only Relevant to Owner: 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] Optimize BPComponent Data: 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.override_player_input_class
(type(Class)): [Read-Write] Override Player Input Class: If set, then this UPlayerInput class will be used instead of the Input Settings’ DefaultPlayerInputClasspivot_offset
(Vector): [Read-Write] Pivot Offset: Local space pivot offset for the actor, only used in the editorplayer_camera_manager
(PlayerCameraManager): [Read-Write] Player Camera Manager: Camera manager associated with this Player Controller.player_camera_manager_class
(type(Class)): [Read-Write] Player Camera Manager Class: PlayerCamera class should be set for each game, otherwise Engine.PlayerCameraManager is usedplayer_is_waiting
(bool): [Read-Only] Player Is Waiting: True if PlayerController is currently waiting for the match to start or to respawn. Only valid in Spectating state.player_state
(PlayerState): [Read-Write] Player State: 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: 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/API/Runtime/Engine/Engine/FTickFunction see: AddTickPrerequisiteActor(), AddTickPrerequisiteComponent()relevant_for_level_bounds
(bool): [Read-Write] Relevant for Level Bounds: If true, this actor’s component’s bounds will be included in the level’s bounding box unless the Actor’s class has overridden IsLevelBoundsRelevantremote_role
(NetRole): [Read-Only] Remote Role: Describes how much control the remote machine has over the actor.replay_rewindable
(bool): [Read-Write] Replay Rewindable: 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] Replicate Movement: If true, replicate movement/location related properties. Actor must also be set to replicate. see: SetReplicates() see: https://docs.unrealengine.com/InteractiveExperiences/Networking/Actorsreplicate_using_registered_sub_object_list
(bool): [Read-Write] Replicate Using Registered Sub Object List: When true the replication system will only replicate the registered subobjects and the replicated actor components list When false the replication system will instead call the virtual ReplicateSubobjects() function where the subobjects and actor components need to be manually replicated.replicated_movement
(RepMovement): [Read-Write] Replicated Movement: Used for replication of our RootComponent’s position and velocityreplicates
(bool): [Read-Write] Replicates: If true, this actor will replicate to remote machines see: SetReplicates()role
(NetRole): [Read-Only] Role: Describes how much control the local machine has over the actor.root_component
(SceneComponent): [Read-Write] Root Component: The component that defines the transform (location, rotation, scale) of this Actor in the world, all other components must be attached to this one somehowruntime_grid
(Name): [Read-Write] Runtime Grid: Determine in which partition grid this actor will be placed in the partition (if the world is partitioned). If None, the decision will be left to the partition.should_perform_full_tick_when_paused
(bool): [Read-Write] Should Perform Full Tick when Paused: 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] Show Mouse Cursor: Whether the mouse cursor should be displayed.smooth_target_view_rotation_speed
(float): [Read-Write] Smooth Target View Rotation Speed: Interp speed for blending remote view rotation for smoother client updatesspawn_collision_handling_method
(SpawnActorCollisionHandlingMethod): [Read-Write] Spawn Collision Handling Method: 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] Sprite Scale: The scale to apply to any billboard components in editor builds (happens in any WITH_EDITOR build, including non-cooked games).streaming_source_debug_color
(Color): [Read-Write] Streaming Source Debug Color: Color used for debugging.streaming_source_priority
(StreamingSourcePriority): [Read-Write] Streaming Source Priority: PlayerController streaming source priority.streaming_source_shapes
(Array[StreamingSourceShape]): [Read-Write] Streaming Source Shapes: Optional aggregated shape list used to build a custom shape for the streaming source. When empty, fallbacks sphere shape with a radius equal to grid’s loading range.streaming_source_should_activate
(bool): [Read-Write] Streaming Source Should Activate: Whether the PlayerController streaming source should activate cells after loading.streaming_source_should_block_on_slow_streaming
(bool): [Read-Write] Streaming Source Should Block on Slow Streaming: Whether the PlayerController streaming source should block on slow streaming.tags
(Array[Name]): [Read-Write] Tags: Array of tags that can be used for grouping and categorizing.update_overlaps_method_during_level_streaming
(ActorUpdateOverlapsMethod): [Read-Write] Update Overlaps Method During Level Streaming: 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: float) None ¶
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_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
- Return type:
- property cheat_class: Class¶
[Read-Only] Cheat Class: Class of my CheatManager. see: CheatManager for more information about when it will be instantiated.
- property cheat_manager: CheatManager¶
[Read-Only] Cheat Manager: Object that manages “cheat” commands.
- By default:
In Shipping configurations, the manager is always disabled because UE_WITH_CHEAT_MANAGER is 0
When playing in the editor, cheats are always enabled
In other cases, cheats are enabled by default in single player games but can be forced on with the EnableCheats console command
This behavior can be changed either by overriding APlayerController::EnableCheats or AGameModeBase::AllowCheats.
- Type:
- property click_event_keys: Array[Key]¶
[Read-Write] Click Event Keys: List of keys that will cause click events to be forwarded, default to left click
- client_play_camera_shake(shake: Class, scale: float = 1.0, play_space: CameraShakePlaySpace = Ellipsis, user_play_space_rot: Rotator = Ellipsis) None ¶
deprecated: ‘client_play_camera_shake’ was renamed to ‘client_start_camera_shake’.
- client_play_camera_shake_from_source(shake: Class, source_component: CameraShakeSourceComponent) None ¶
deprecated: ‘client_play_camera_shake_from_source’ was renamed to ‘client_start_camera_shake_from_source’.
- client_play_force_feedback(force_feedback_effect: ForceFeedbackEffect, tag: Name, looping: bool, ignore_time_dilation: bool, play_while_paused: bool) None ¶
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.
- client_spawn_generic_camera_lens_effect(lens_effect_emitter_class) None ¶
Spawn a camera lens effect (e.g. blood).
- client_start_camera_shake(shake, scale=1.000000, play_space=CameraShakePlaySpace.CAMERA_LOCAL, user_play_space_rot=[0.000000, 0.000000, 0.000000]) None ¶
Play Camera Shake
- Parameters:
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:
source_component (CameraShakeSourceComponent) – The source from which the camera shakes originates
- client_stop_camera_shakes_from_source(source_component, immediately=True) None ¶
Stop camera shake on client.
- Parameters:
source_component (CameraShakeSourceComponent) –
immediately (bool) –
- 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: CollisionChannel¶
[Read-Write] Current Click Trace Channel: Trace channel currently being used for determining what world object was clicked on.
- Type:
- property current_mouse_cursor: MouseCursor¶
[Read-Write] Current Mouse Cursor: Currently visible mouse cursor
- Type:
- property default_click_trace_channel: CollisionChannel¶
[Read-Only] Default Click Trace Channel: Default trace channel used for determining what world object was clicked on.
- Type:
- property default_mouse_cursor: MouseCursor¶
[Read-Only] Default Mouse Cursor: Type of mouse cursor to show by default
- Type:
- 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. *
- property enable_click_events: bool¶
[Read-Write] Enable Click Events: Whether actor/component click events should be generated.
- Type:
(bool)
- property enable_motion_controls: bool¶
[Read-Write] Enable Motion Controls: Whether or not to consider input from motion sources (tilt, acceleration, etc)
- Type:
(bool)
- property enable_mouse_over_events: bool¶
[Read-Write] Enable Mouse Over Events: Whether actor/component mouse over events should be generated.
- Type:
(bool)
- property enable_streaming_source: bool¶
[Read-Write] Enable Streaming Source: Whether the PlayerController should be used as a World Partiton streaming source.
- Type:
(bool)
- property enable_touch_events: bool¶
[Read-Write] Enable Touch Events: Whether actor/component touch events should be generated.
- Type:
(bool)
- property enable_touch_over_events: bool¶
[Read-Write] Enable Touch Over Events: Whether actor/component touch over events should be generated.
- Type:
(bool)
- get_async_physics_data_to_consume() AsyncPhysicsData ¶
Get the async physics data to execute logic off of. This data should not be modified and will NOT make its way back. Must be used during async tick
- Return type:
- get_async_physics_data_to_write() AsyncPhysicsData ¶
Get the async physics data to write to. This data will make its way to the async physics tick on client and server. Should not be used during async tick
- Return type:
- 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).
- Return type:
- get_hit_result_under_cursor(trace_channel=CollisionChannel.ECC_VISIBILITY, trace_complex=True) HitResult or None ¶
Get Hit Result Under Cursor deprecated: Use new GetHitResultUnderCursorByChannel or GetHitResultUnderCursorForObject
- Parameters:
trace_channel (CollisionChannel) –
trace_complex (bool) –
- Returns:
hit_result (HitResult):
- Return type:
HitResult or None
- get_hit_result_under_cursor_by_channel(trace_channel, trace_complex=True) HitResult or None ¶
Performs a collision query under the mouse cursor, looking on a trace channel
- Parameters:
trace_channel (TraceTypeQuery) –
trace_complex (bool) –
- Returns:
hit_result (HitResult):
- Return type:
HitResult or None
- get_hit_result_under_cursor_for_objects(object_types, trace_complex=True) HitResult or None ¶
Performs a collision query under the mouse cursor, looking for object types
- Parameters:
object_types (Array[ObjectTypeQuery]) –
trace_complex (bool) –
- Returns:
hit_result (HitResult):
- Return type:
HitResult or None
- get_hit_result_under_finger(finger_index, trace_channel=CollisionChannel.ECC_VISIBILITY, trace_complex=True) HitResult or None ¶
Get Hit Result Under Finger deprecated: Use new GetHitResultUnderFingerByChannel or GetHitResultUnderFingerForObject
- Parameters:
finger_index (TouchIndex) –
trace_channel (CollisionChannel) –
trace_complex (bool) –
- Returns:
hit_result (HitResult):
- Return type:
HitResult or None
- get_hit_result_under_finger_by_channel(finger_index, trace_channel, trace_complex=True) HitResult or None ¶
Performs a collision query under the finger, looking on a trace channel
- Parameters:
finger_index (TouchIndex) –
trace_channel (TraceTypeQuery) –
trace_complex (bool) –
- Returns:
hit_result (HitResult):
- Return type:
HitResult or None
- get_hit_result_under_finger_for_objects(finger_index, object_types, trace_complex=True) HitResult or None ¶
Performs a collision query under the finger, looking for object types
- Parameters:
finger_index (TouchIndex) –
object_types (Array[ObjectTypeQuery]) –
trace_complex (bool) –
- Returns:
hit_result (HitResult):
- Return type:
HitResult or None
- 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.
- 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.
- 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_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_platform_user_id() PlatformUserId ¶
Returns the platform user that is assigned to this Player Controller’s Local Player. If there is no local player, then this will return PLATFORMUSERID_NONE
- Return type:
- get_spectator_pawn() SpectatorPawn ¶
Get the Pawn used when spectating. nullptr when not spectating.
- Return type:
- get_streaming_source_location_and_rotation() -> (out_location=Vector, out_rotation=Rotator)¶
Gets the streaming source location and rotation. Default implementation returns APlayerController::GetPlayerViewPoint but can be overriden in child classes.
- Returns:
out_location (Vector):
out_rotation (Rotator):
- Return type:
tuple
- get_streaming_source_priority() StreamingSourcePriority ¶
Gets the streaming source priority. Default implementation returns StreamingSourcePriority but can be overriden in child classes.
- Returns:
the streaming source priority.
- Return type:
- get_streaming_source_shapes() Array[StreamingSourceShape] ¶
Gets the streaming source priority. Default implementation returns StreamingSourceShapes but can be overriden in child classes.
- Returns:
out_shapes (Array[StreamingSourceShape]):
- Return type:
- 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: float¶
[Read-Write] Hit Result Trace Distance: Distance to trace when computing click events
- Type:
(float)
- property input_pitch_scale: float¶
[Read-Write] Input Pitch Scale: Pitch input speed scaling deprecated: Use the Enhanced Input plugin Scalar Modifier instead. See UInputSettings::bEnableLegacyInputScales to enable legacy behavior
- Type:
(float)
- property input_roll_scale: float¶
[Read-Write] Input Roll Scale: Roll input speed scaling deprecated: Use the Enhanced Input plugin Scalar Modifier instead. See UInputSettings::bEnableLegacyInputScales to enable legacy behavior
- Type:
(float)
- property input_yaw_scale: float¶
[Read-Write] Input Yaw Scale: Yaw input speed scaling deprecated: Use the Enhanced Input plugin Scalar Modifier instead. See UInputSettings::bEnableLegacyInputScales to enable legacy behavior
- 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)
- is_streaming_source_enabled() bool ¶
Whether the PlayerController should be used as a World Partiton streaming source. Default implementation returns bEnableStreamingSource but can be overriden in child classes.
- Returns:
true if it should.
- Return type:
- 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: float¶
‘look_right_scale’ was renamed to ‘input_yaw_scale’.
- Type:
deprecated
- play_dynamic_force_feedback(intensity, duration=-1.000000, affects_left_large=True, affects_left_small=True, affects_right_large=True, affects_right_small=True, 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.000000, loop=False) None ¶
Play a haptic feedback curve on the player’s controller
- Parameters:
haptic_effect (HapticFeedbackEffect_Base) – The haptic effect to play
hand (ControllerHand) – Which hand to play the effect on
scale (float) – Scale between 0.0 and 1.0 on the intensity of playback
loop (bool) –
- property player_camera: PlayerCameraManager¶
‘player_camera’ was renamed to ‘player_camera_manager’.
- Type:
deprecated
- property player_camera_class: Class¶
‘player_camera_class’ was renamed to ‘player_camera_manager_class’.
- Type:
deprecated
- property player_camera_manager: PlayerCameraManager¶
[Read-Only] Player Camera Manager: Camera manager associated with this Player Controller.
- Type:
- property player_camera_manager_class: Class¶
[Read-Only] Player Camera Manager Class: PlayerCamera class should be set for each game, otherwise Engine.PlayerCameraManager is used
- property player_is_waiting: bool¶
[Read-Only] Player Is Waiting: 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.
- set_audio_listener_attenuation_override(attach_to_component, attenuation_location_o_verride) None ¶
Set Audio Listener Attenuation Override
- Parameters:
attach_to_component (SceneComponent) –
attenuation_location_o_verride (Vector) –
- 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=True, affects_hud=True, 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_deprecated_input_pitch_scale(new_value) None ¶
Set Deprecated Input Pitch Scale
- Parameters:
new_value (float) –
- set_deprecated_input_roll_scale(new_value) None ¶
Set Deprecated Input Roll Scale
- Parameters:
new_value (float) –
- set_deprecated_input_yaw_scale(new_value) None ¶
Set Deprecated Input Yaw Scale
- Parameters:
new_value (float) –
- 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.000000, blend_func=ViewTargetBlendFunction.VT_BLEND_LINEAR, blend_exp=0.000000, 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: bool¶
[Read-Write] Should Perform Full Tick when Paused: 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: bool¶
[Read-Write] Show Mouse Cursor: Whether the mouse cursor should be displayed.
- Type:
(bool)
- property smooth_target_view_rotation_speed: float¶
[Read-Write] Smooth Target View Rotation Speed: 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
- property streaming_source_debug_color: Color¶
[Read-Write] Streaming Source Debug Color: Color used for debugging.
- Type:
(Color)
- property streaming_source_priority: StreamingSourcePriority¶
[Read-Write] Streaming Source Priority: PlayerController streaming source priority.
- Type:
- property streaming_source_shapes: Array[StreamingSourceShape]¶
[Read-Write] Streaming Source Shapes: Optional aggregated shape list used to build a custom shape for the streaming source. When empty, fallbacks sphere shape with a radius equal to grid’s loading range.
- Type:
- streaming_source_should_activate() bool ¶
Whether the PlayerController streaming source should activate cells after loading. Default implementation returns bStreamingSourceShouldActivate but can be overriden in child classes.
- Returns:
true if it should.
- Return type:
- streaming_source_should_block_on_slow_streaming() bool ¶
Whether the PlayerController streaming source should block on slow streaming. Default implementation returns bStreamingSourceShouldBlockOnSlowStreaming but can be overriden in child classes.
- Returns:
true if it should.
- Return type: