unreal.GameModeBase

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

Bases: unreal.Info

The GameModeBase defines the game being played. It governs the game rules, scoring, what actors are allowed to exist in this game type, and who may enter the game.

It is only instanced on the server and will never exist on the client.

A GameModeBase actor is instantiated when the level is initialized for gameplay in C++ UGameEngine::LoadMap().

The class of this GameMode actor is determined by (in order) either the URL ?game=xxx, the GameMode Override value set in the World Settings, or the DefaultGameMode entry set in the game’s Project Settings. https://docs.unrealengine.com/latest/INT/Gameplay/Framework/GameMode/index.html:

C++ Source:

  • Module: Engine
  • File: GameModeBase.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.
  • default_pawn_class (type(Class)): [Read-Write] The default pawn class used by players.
  • default_player_name (Text): [Read-Write] The default player name assigned to players that join with no name specified.
  • 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
  • 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.
  • game_session_class (type(Class)): [Read-Write] Class of GameSession, which handles login approval and online game interface
  • game_state_class (type(Class)): [Read-Write] Class of GameState associated with this GameMode.
  • 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():
  • hud_class (type(Class)): [Read-Write] HUD class this game uses.
  • 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
  • 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.
  • options_string (str): [Read-Write] Save options string and parse it when needed
  • pauseable (bool): [Read-Write] Whether the game is pauseable.
  • pivot_offset (Vector): [Read-Write] Local space pivot offset for the actor, only used in the editor
  • player_controller_class (type(Class)): [Read-Write] The class of PlayerController to spawn for players logging in.
  • player_state_class (type(Class)): [Read-Write] A PlayerState of this class will be associated with every player to replicate relevant player information to all clients.
  • 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.
  • replay_spectator_player_controller_class (type(Class)): [Read-Write] The PlayerController class used when spectating a network replay.
  • 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
  • server_stat_replicator_class (type(Class)): [Read-Write] Server Stat Replicator Class
  • 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.
  • spectator_class (type(Class)): [Read-Write] The pawn class used by the PlayerController for players when spectating.
  • 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).
  • start_players_as_spectators (bool): [Read-Write] Whether players should immediately spawn when logging in, or stay as spectators until they manually spawn
  • tags (Array(Name)): [Read-Write] Array of tags that can be used for grouping and categorizing.
  • use_seamless_travel (bool): [Read-Write] Whether the game perform map travels using SeamlessTravel() which loads in the background and doesn’t disconnect clients
can_spectate(viewer, view_target) → bool

Return whether Viewer is allowed to spectate from the point of view of ViewTarget.

Parameters:
Returns:

Return type:

bool

change_name(controller, new_name, name_change) → None

Sets the name for a controller

Parameters:
  • controller (Controller) – The controller of the player to change the name of
  • new_name (str) – The name to set the player to
  • name_change (bool) – Whether the name is changing or if this is the first time it has been set
choose_player_start(player) → Actor

Return the ‘best’ player start for this player to spawn from Default implementation looks for a random unoccupied spot

Parameters:player (Controller) – is the controller for whom we are choosing a playerstart
Returns:AActor chosen as player start (usually a PlayerStart)
Return type:Actor
default_pawn_class

(type(Class)) – [Read-Write] The default pawn class used by players.

find_player_start(player, incoming_name) → Actor

Return the specific player start actor that should be used for the next spawn This will either use a previously saved startactor, or calls ChoosePlayerStart

Parameters:
  • player (Controller) – The AController for whom we are choosing a Player Start
  • incoming_name (str) – Specifies the tag of a Player Start to use
Returns:

Actor chosen as player start (usually a PlayerStart)

Return type:

Actor

game_session_class

(type(Class)) – [Read-Write] Class of GameSession, which handles login approval and online game interface

game_state_class

(type(Class)) – [Read-Only] Class of GameState associated with this GameMode.

get_default_pawn_class_for_controller(controller) -> type(Class)

Returns default pawn class for given controller

Parameters:controller (Controller) –
Returns:
Return type:type(Class)
get_num_players() → int32

Returns number of active human players, excluding spectators

Returns:
Return type:int32
get_num_spectators() → int32

Returns number of human players currently spectating

Returns:
Return type:int32
handle_starting_new_player(new_player) → None

Signals that a player is ready to enter the game, which may start it up

Parameters:new_player (PlayerController) –
has_match_started() → bool

Returns true if the match start callbacks have been called

Returns:
Return type:bool
hud_class

(type(Class)) – [Read-Write] HUD class this game uses.

init_start_spot(start_spot, new_player) → None

Called from RestartPlayerAtPlayerStart, can be used to initialize the start spawn actor

Parameters:
initialize_hud_for_player(new_player) → None

Initialize the AHUD object for a player. Games can override this to do something different

Parameters:new_player (PlayerController) –
k2_find_player_start(player, incoming_name="") → Actor

Return the specific player start actor that should be used for the next spawn This will either use a previously saved startactor, or calls ChoosePlayerStart

Parameters:
  • player (Controller) – The AController for whom we are choosing a Player Start
  • incoming_name (str) – Specifies the tag of a Player Start to use
Returns:

Actor chosen as player start (usually a PlayerStart)

Return type:

Actor

must_spectate(new_player_controller) → bool

Returns true if NewPlayerController may only join the server as a spectator.

Parameters:new_player_controller (PlayerController) –
Returns:
Return type:bool
on_change_name(other, new_name, name_change) → None

Overridable event for GameMode blueprint to respond to a change name call

Parameters:
  • other (Controller) –
  • new_name (str) – The name to set the player to
  • name_change (bool) – Whether the name is changing or if this is the first time it has been set
on_logout(exiting_controller) → None

Implementable event when a Controller with a PlayerState leaves the game.

Parameters:exiting_controller (Controller) –
on_post_login(new_player) → None

Notification that a player has successfully logged in, and has been given a player controller

Parameters:new_player (PlayerController) –
on_restart_player(new_player) → None

Implementable event called at the end of RestartPlayer

Parameters:new_player (Controller) –
on_swap_player_controllers(old_pc, new_pc) → None

Called when a PlayerController is swapped to a new one during seamless travel

Parameters:
options_string

(str) – [Read-Only] Save options string and parse it when needed

pauseable

(bool) – [Read-Write] Whether the game is pauseable.

player_can_restart(player) → bool

Returns true if it’s valid to call RestartPlayer. By default will call Player->CanRestartPlayer

Parameters:player (PlayerController) –
Returns:
Return type:bool
player_controller_class

(type(Class)) – [Read-Only] The class of PlayerController to spawn for players logging in.

player_state_class

(type(Class)) – [Read-Only] A PlayerState of this class will be associated with every player to replicate relevant player information to all clients.

replay_spectator_player_controller_class

(type(Class)) – [Read-Only] The PlayerController class used when spectating a network replay.

reset_level() → None

Overridable function called when resetting level. This is used to reset the game state while staying in the same map Default implementation calls Reset() on all actors except GameMode and Controllers

restart_player(new_player) → None

Tries to spawn the player’s pawn, at the location returned by FindPlayerStart

Parameters:new_player (Controller) –
restart_player_at_player_start(new_player, start_spot) → None

Tries to spawn the player’s pawn at the specified actor’s location

Parameters:
restart_player_at_transform(new_player, spawn_transform) → None

Tries to spawn the player’s pawn at a specific location

Parameters:
return_to_main_menu_host() → None

Return to main menu, and disconnect any players

server_stat_replicator_class

(type(Class)) – [Read-Only] Server Stat Replicator Class

should_reset(actor_to_reset) → bool

Overridable function to determine whether an Actor should have Reset called when the game has Reset called on it. Default implementation returns true

Parameters:actor_to_reset (Actor) – The actor to make a determination for
Returns:true if ActorToReset should have Reset() called on it while restarting the game, false if the GameMode will manually reset it or if the actor does not need to be reset
Return type:bool
spawn_default_pawn_at_transform(new_player, spawn_transform) → Pawn

Called during RestartPlayer to actually spawn the player’s pawn, when using a transform

Parameters:
  • new_player (Controller) – Controller for whom this pawn is spawned
  • spawn_transform (Transform) –
Returns:

a pawn of the default pawn class

Return type:

Pawn

spawn_default_pawn_for(new_player, start_spot) → Pawn

Called during RestartPlayer to actually spawn the player’s pawn, when using a start spot

Parameters:
  • new_player (Controller) – Controller for whom this pawn is spawned
  • start_spot (Actor) – Actor at which to spawn pawn
Returns:

a pawn of the default pawn class

Return type:

Pawn

spectator_class

(type(Class)) – [Read-Only] The pawn class used by the PlayerController for players when spectating.

start_play() → None

Transitions to calls BeginPlay on actors.

start_players_as_spectators

(bool) – [Read-Only] Whether players should immediately spawn when logging in, or stay as spectators until they manually spawn

use_seamless_travel

(bool) – [Read-Write] Whether the game perform map travels using SeamlessTravel() which loads in the background and doesn’t disconnect clients