unreal.GameModeBase
¶
- class unreal.GameModeBase(outer: Optional[Object] = None, name: Union[Name, str] = 'None')¶
Bases:
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. see: 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)
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_tick_enabled
(bool): [Read-Write] Async Physics Tick Enabled: Whether to use use the async physics tick with this actor.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_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 performancecontent_bundle_guid
(Guid): [Read-Write] Content Bundle Guid: The GUID for this actor’s content bundle.custom_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_pawn_class
(type(Class)): [Read-Write] Default Pawn Class: The default pawn class used by players.default_player_name
(Text): [Read-Write] Default Player Name: The default player name assigned to players that join with no name specified.default_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.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.game_session_class
(type(Class)): [Read-Write] Game Session Class: Class of GameSession, which handles login approval and online game interfacegame_state_class
(type(Class)): [Read-Write] Game State Class: Class of GameState associated with this GameMode.generate_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()hlod_layer
(HLODLayer): [Read-Write] HLODLayer: The UHLODLayer in which this actor should be included.hud_class
(type(Class)): [Read-Write] HUDClass: HUD class this game uses.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_priority
(int32): [Read-Write] Input Priority: The priority of this input component when pushed in to the stack.instigator
(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_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.options_string
(str): [Read-Write] Options String: Save options string and parse it when neededpauseable
(bool): [Read-Write] Pauseable: Whether the game is pauseable.pivot_offset
(Vector): [Read-Write] Pivot Offset: Local space pivot offset for the actor, only used in the editorplayer_controller_class
(type(Class)): [Read-Write] Player Controller Class: The class of PlayerController to spawn for players logging in.player_state_class
(type(Class)): [Read-Write] Player State Class: 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: 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.replay_spectator_player_controller_class
(type(Class)): [Read-Write] Replay Spectator Player Controller Class: The PlayerController class used when spectating a network replay.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.server_stat_replicator_class
(type(Class)): [Read-Write] Server Stat Replicator Classspawn_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.spectator_class
(type(Class)): [Read-Write] Spectator Class: The pawn class used by the PlayerController for players when spectating.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).start_players_as_spectators
(bool): [Read-Write] Start Players as Spectators: Whether players should immediately spawn when logging in, or stay as spectators until they manually spawntags
(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()
use_seamless_travel
(bool): [Read-Write] Use Seamless Travel: 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:
viewer (PlayerController) –
view_target (PlayerState) –
- Return type:
- 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:
- property default_pawn_class: Class¶
[Read-Write] Default Pawn Class: 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:
- property game_session_class: Class¶
[Read-Write] Game Session Class: Class of GameSession, which handles login approval and online game interface
- property game_state_class: Class¶
[Read-Only] Game State Class: Class of GameState associated with this GameMode.
- get_default_pawn_class_for_controller(controller)¶
Returns default pawn class for given controller
- Parameters:
controller (Controller) –
- Return type:
- get_num_players() int32 ¶
Returns number of active human players, excluding spectators
- Return type:
int32
- get_num_spectators() int32 ¶
Returns number of human players currently spectating
- 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) –
- init_start_spot(start_spot, new_player) None ¶
Called from RestartPlayerAtPlayerStart, can be used to initialize the start spawn actor
- Parameters:
start_spot (Actor) –
new_player (Controller) –
- 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:
- must_spectate(new_player_controller) bool ¶
Returns true if NewPlayerController may only join the server as a spectator.
- Parameters:
new_player_controller (PlayerController) –
- Return type:
- 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:
old_pc (PlayerController) –
new_pc (PlayerController) –
- property options_string: str¶
[Read-Only] Options String: Save options string and parse it when needed
- Type:
(str)
- player_can_restart(player) bool ¶
Returns true if it’s valid to call RestartPlayer. By default will call Player->CanRestartPlayer
- Parameters:
player (PlayerController) –
- Return type:
- property player_controller_class: Class¶
[Read-Only] Player Controller Class: The class of PlayerController to spawn for players logging in.
- property player_state_class: Class¶
[Read-Only] Player State Class: A PlayerState of this class will be associated with every player to replicate relevant player information to all clients.
- property replay_spectator_player_controller_class: Class¶
[Read-Only] Replay Spectator Player Controller Class: 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:
new_player (Controller) –
start_spot (Actor) –
- restart_player_at_transform(new_player, spawn_transform) None ¶
Tries to spawn the player’s pawn at a specific location
- Parameters:
new_player (Controller) –
spawn_transform (Transform) –
Return to main menu, and disconnect any players
- 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
- 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) – Transform at which to spawn pawn
- Returns:
a pawn of the default pawn class
- Return type:
- 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:
- property spectator_class: Class¶
[Read-Only] Spectator Class: The pawn class used by the PlayerController for players when spectating.