👍Emotes
Last updated
Last updated
Due for Simplification, please see Docs.
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.
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
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.
Emotes can be disabled per game role in your project's roles data table by:
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.
Change the Emotes Enabled
setting to true
or false
to enable or disable emotes for this role
You can configure which emotes are available in your experience in your project's roles data table by:
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.
Assign a J_EmoteSelectionData
asset 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.
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
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
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