๐Ÿ‘Emotes

Emotes are enabled by default and are accessed by players pressing B and clicking an icon.

Implementation

The main implementationof emotes is in JM_PlayerEmoteComponent

Other key classes include:

  • Emote Selection - The set of emotes that appear in the Emote Wheel UI (WBP_EmoteSelector) are configured via the Roles table using the Emote Selection property.

  • Emote Selection can be overridden at runtime via Blueprint on the JM_PlayerEmoteComponent

Creating new emotes

Emotes are configured by creating a Primary Data Asset of the type J_EmotePrimaryAsset.

These emotes can then be added to the default selection set on the role component or set as overrides at runtime.

Configuration

Enabling/Disabling Emotes for a role

Emotes can be disabled per game role in your project's roles data table by:

  1. In your editor, enable Emotes Enabled in the Role Configuration Overrides section of the Role Configuration section of the roles data table to expose it.

  2. Change the Emotes Enabled setting to true or false to enable or disable emotes for this role

Configuring Default Emote Selection

You can configure which emotes are available in your experience in your project's roles data table by:

  1. In your editor, enable Emote Selection in the Role Configuration Overrides section of the Role Configuration section of the roles data table to expose it.

  2. Assign a J_EmoteSelectionData asset to the Emote Selection setting.

By default these emotes are available:

FieldDescription

Profile as Emote

Emote used to show the Player's profile picture

Pick Me Emote

This emote is used in place of the Player's profile picture when Profile as Emote is disabled via the live config flag Profile.ProfileAsEmoteEnabled

Emotes

This is an array containing all other emotes. To use the default WBP_EmoteSelector UI, this must be 7 elements long.

Changing settings at runtime

Blueprint functions

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

Live Config Settings

All emote settings live in game.json

KeyDefault ValueDescription

Emotes.Enabled

true

Project wide setting to enable/disable emotes

Emotes.EmoteWheelEnabled

true

Project wide setting to enable/disable the emote wheel UI

Emotes.ClearEmoteSelectionOverridesOnRoleChanged

false

Setting to optionally clear all override settings on role changes. See Overriding Emote Settings at Runtime

Emotes.MaxObjectPoolSize

20

Max number of Emote objects to pool.

Emotes.MaxSoundDistance

5000.0

Max distance for emote sounds to be heard

Debugging in Editor

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