In addition to the default
articles/Lua Chat System|chat and opt-in
articles/Avatar Context Menu|Avatar Context Menu, Roblox players can express what they’re feeling through emotes.
Depending on the platform, the emote menu can be opened as follows:
|PC / Mobile||Click/tap the button from the top menu bar.|
|Console||Access it from the radial menu.|
Controlling the Emotes Menu
Customizing the Menu
The emotes menu can be customized by loading and “equipping” emotes from the catalog. In a script, this can be done by calling
HumanoidDescription/SetEmotes|SetEmotes() on a player’s
HumanoidDescription object. Once set, specific emotes can be equipped via the
Consider the following example which may be placed in a
- The key names such as
emoteTableare customizable and will appear in the center of emotes menu as players browse its options.
- The order of key names in the
equippedEmotestable define the order in which menu emotes will appear, in clockwise order from slot 1 (top of the wheel).
- The emotes menu contains 8 slots. If you don't have 8 custom emotes to load, consider repeating some keys to populate the
equippedEmotestable with 8 total entries; this will ensure there are no empty slots in the menu.
Opening/Closing the Menu
To forcibly open or close the emotes menu, call
GuiService/SetEmotesMenuOpen|GuiService:SetEmotesMenuOpen() with a boolean value of
GuiService/GetEmotesMenuOpen|GuiService:GetEmotesMenuOpen(). This will return a boolean indicating the menu's current state.
Disabling the Menu
The emotes menu can be disabled via the
StarterGui/SetCoreGuiEnabled|StarterGui:SetCoreGuiEnabled() API. Note, however, that disabling the menu will not prevent emotes from being performed with an
articles/Lua Chat System|admin command.
Disabling User Emotes
In addition to disabling the menu, you can disable loading of user-owned emotes by turning off the UserEmotesEnabled option within StarterPlayer → Character. Note that this property can only be set in Studio and cannot be set by scripts at runtime, although it can be read by scripts.
To explicitly play an emote that a character has in its
HumanoidDescription, call the
Humanoid/PlayEmote|Humanoid:PlayEmote() API, passing the string name of the emote. This call will return
true to indicate that the emote was played successfully, or