Emotes
Due for Simplification, please speak to support for further info.
31/10/2024: Our Emotes system is a layer built on top of other functionality that enables anim montages to be played in Foreground and Crowd rendering levels. We are planning to simplify this approach and better expose the underlying API.
Support for the Emote system will decrease as we are treating it as an example of functionality rather than a feature in itself.
As part of the simplification, we will be removing Super Emotes from the platform.
MSquared will not be addressing cosmetic issues (such as those in the Emote wheel itself) going forward, but will be ensuring the emotes themselves still function correctly.
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 (DEPRECATED) 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 (DEPRECATED) roles data table by:
In your editor, enable
Emotes Enabledin theRole Configuration Overridessection of theRole Configurationsection of the roles data table to expose it.Change the
Emotes Enabledsetting totrueorfalseto 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 (DEPRECATED) Roles data table by:
In your editor, enable
Emote Selectionin the Role Configuration Overrides section of theRole Configurationsection of the roles data table to expose it.Assign a
J_EmoteSelectionDataasset to the Emote Selection setting.

By default these emotes are available:
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:
OverrideEmotesEnabledOverrideEmoteSelectionSlotAtIndexOverrideEmoteSelectionSetFromAssetOverrideProfileAsEmoteOverridePickMeEmote
Overrides can be cleared with the following functions:
ClearEmotesEnabledOverrideClearAllEmoteSelectionOverridesClearEmoteSelectionOverrideAtIndexClearProfileAsEmoteOverrideClearPickMeEmoteOverride
Live Config Settings
All emote settings live in game.json
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.
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 enabledM2.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_ThumbsUpM2.Emotes.OverrideEmoteSelectionSetFromAsset [Emote Selection Asset Name]- Overrides all emotes with the given Emote selection asset name e.g.DA_EmoteSelection_DefaultM2.Emotes.OverrideProfileAsEmote [Emote Name]- Overrides the Profile As Emote slot with the given Emote Primary Asset name e.g.PDA_Emote_Icon_ThumbsUpM2.Emotes.OverridePickMeEmote [Emote Name]- Overrides the Pick Me Emote slot with the given Emote Primary Asset name e.g.PDA_Emote_Icon_ThumbsUpM2.Emotes.ClearAllEmoteSelectionOverrides- Clears all emote selection overridesM2.Emotes.ClearEmoteSelectionOverrideAtIndex [Index]- Clears emote selection override in slot with the given IndexM2.Emotes.ClearProfileAsEmoteOverride- Clears the Profile As Emote overrideM2.Emotes.ClearPickMeEmoteOverride- Clears the Pick Me Emote override
Last updated
Was this helpful?

