Overriding Emote Settings at Runtime

This page outlines how to override emote settings at runtime. In some cases this is done using Live Config, in other cases this is done by calling functions that are exposed to blueprint.

Stable - Can be used with minimal support by referencing documentation and examples

Turning all Emotes on and off

Emotes are on by default.

You can turn emotes off a per-client basis by calling OverrideEmotesEnable on said client.

Turning individual Emotes on and off

The default Emote selection is defined by the Emote Selection Asset (J_EmoteSelectionAsset) that you've set in the roles table.

You can turn emotes off on a per-client basis by calling OverrideEmoteSelectionSlotAtIndex on the client.

You return emotes to their default, on a per-client basis, by calling ClearEmoteSelectionOverrideAtIndex per emote on said client.

The emotes available to roles and even individual clients can be changed by overriding them with a different Emote Primary Asset (UJ_EmotePrimaryAsset) using OverrideEmoteSelectionSetFromAsset.

The impact of changing roles on emotes

When a player changes role, their emote selection will change to that of the new role.

The default behaviour is that any existing overrides are retained when changing roles, e.g.

  1. Player starts in Default role.

  2. Emote slot 1 is overridden to ThumbsUp emote.

  3. Player changes to a role with a different emote set.

  4. Emote slot 1 is still set to ThumbsUp emote, but all other emote slots will change to the new role's settings.

This behaviour can be changed to Clear All Overrides on Role Changed by changing the follow live config value:

  • game.json Emote.ClearEmoteSelectionOverridesOnRoleChanged (bool)

Functions exposed to BP

Emote Selection can be changed at runtime by calling the following functions on the JM_PlayerEmoteComponent:

  • OverrideEmotesEnabled

  • OverrideEmoteSelectionSlotAtIndex

  • OverrideEmoteSelectionSetFromAsset

  • OverrideProfileAsEmote

  • OverridePickMeEmote

Overrides can be cleared with the following functions:

  • ClearEmotesEnabledOverride

  • ClearAllEmoteSelectionOverrides

  • ClearEmoteSelectionOverrideAtIndex

  • ClearProfileAsEmoteOverride

  • ClearPickMeEmoteOverride

Debugging

Console commands are available for all of the above functions to test functionality:

  • M2.Emotes.OverrideEmotesEnabled [bool Enabled] - Overrides Emotes enabled

  • M2.Emotes.OverrideEmoteSelectionSlotAtIndex [Index Emote Name] - Overrides an emote slot at Index with the given Emote Primary Asset name e.g. M2.Emotes.OverrideEmoteSelectionSlotAtIndex 5 PDA_Emote_Icon_ThumbsUp

  • M2.Emotes.OverrideEmoteSelectionSetFromAsset [Emote Selection Asset Name] - Overrides all emotes with the given Emote selection asset name e.g. DA_EmoteSelection_Default

  • M2.Emotes.OverrideProfileAsEmote [Emote Name] - Overrides the Profile As Emote slot with the given Emote Primary Asset name e.g. PDA_Emote_Icon_ThumbsUp

  • M2.Emotes.OverridePickMeEmote [Emote Name] - Overrides the Pick Me Emote slot with the given Emote Primary Asset name e.g. PDA_Emote_Icon_ThumbsUp

  • M2.Emotes.ClearAllEmoteSelectionOverrides - Clears all emote selection overrides

  • M2.Emotes.ClearEmoteSelectionOverrideAtIndex [Index] - Clears emote selection override in slot with the given Index

  • M2.Emotes.ClearProfileAsEmoteOverride - Clears the Profile As Emote override

  • M2.Emotes.ClearPickMeEmoteOverride - Clears the Pick Me Emote override

Last updated