In-Game Emotes Menu

Hey Developers,

We have released a new way for users to express themselves in-game through Emotes!

Players are able to buy Emotes in the Catalog and use these Emotes through the in-game menu and the /e or /emote chat command. Players can equip up to 8 Emotes using the web or mobile Avatar Editor which will appear in the Emotes Menu UI. They can use any of their purchased emotes with the chat command, not just the ones that they have currently equipped.

The Emotes Menu is enabled by default but can easily be disabled by developers if Emotes are not a good fit for your game. To disable the Emotes Menu you can use the StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.EmotesMenu, false) API. This will disable the UI only, to disable loading custom Emotes that users have purchased in the Catalog set the StarterPlayer.UserEmotesEnabled property to false.

Users can open the menu with the new button in the TopBar or by using the radial menu if they are using a gamepad.

Emotes APIs

The Emotes Menu can be opened and closed using GuiService:SetEmotesMenuOpen(), you can check if the menu is open using GuiService:GetEmotesMenuOpen()

-- Open the emotes menu
local GuiService = game:GetService("GuiService")
GuiService:SetEmotesMenuOpen(true)

Developers can customize the Emotes that a user has access to in their game. In a script, this can be done by calling SetEmotes() on a player’s HumanoidDescription object. Once set, specific emotes can be equipped via the SetEquippedEmotes() API.

Here is an example of a script which can be placed in StarterCharacterScripts to give all players a list of specific emotes in your game.

local character = script.Parent
local humanoid = character.Humanoid
local humanoidDescription = humanoid.HumanoidDescription

-- Load custom emotes
local emoteTable = {
	["Salute"] = { 3360689775 },
	["Stadium"] = { 3360686498 },
	["Tilt"] = { 3360692915 },
	["Point"] = { --[[EMOTE ID HERE]] },
	["Cheer"] = { --[[EMOTE ID HERE]] }
}
humanoidDescription:SetEmotes(emoteTable)

-- Equip emotes in a specific order
local equippedEmotes = { "Salute", "Stadium", "Tilt", "Point", "Cheer" }
humanoidDescription:SetEquippedEmotes(equippedEmotes)

You can play emotes in a users HumanoidDescription using the Humanoid:PlayEmote(string name) API.

local Players = game:GetService("Players")
local humanoid = Players.LocalPlayer.Character.Humanoid

humanoid:PlayEmote("Wave")

There will be more information about using this feature in the Developer Hub article that is soon to be released. We will update this post with a link to that article when it’s available.

350 Likes

This leaves a pretty sour taste in my mouth. Enabling this by default in all games (without ANY notice) just takes away another monetization route from developers. I’m sure a lot of players will enjoy the universal fortnite-esque emotes, but it definitely hurts developers.

227 Likes

I’m kind of against this. Why add another feature that’s virtually useless? I don’t think anyone would really use the emotes in normal gameplay. Also, I agree with TheHyb that automatically enabling this is dumb.
It really hurts devs as taking away another monetization route too, as already mentioned

100 Likes

This feature was not necessarily a bad idea, but there are a few things that could be fixed up to make this a bit better:

  • The button in the UI looks nothing like the rest. Everything else is a white outline with a drop shadow, but the new emote icon is filled in and lacks any sort of drop shadow.

  • The images in the catalog look weird and rushed. Silhouettes are unlike anything else in the catalog and are not in the shape of any sort of roblox character.

image

  • “Try on” is broken. It does nothing. And honestly, it should probably be the default for the play button instead of an unused outfit, if it worked (It’d be really cool to see your own character doing the animation instead!)

  • The way this is set up makes it practically a requirement for it to be enabled. If any developer disables it, players will be disappointed because they expect to have the emotes that they purchased for all games to be enabled.

  • & I think for developers, this tweet sums it up pretty well. It would have been great to see some sort of positive impact for that, but it seems to just be another robux drain in the catalog.

I don’t know if this was released quickly to meet some sort of internal deadline, but I don’t think it was quite ready for release yet. I’m looking forward to some improvements here being made so it works a bit better.

183 Likes

I wish this was done with more forewarning and with more ability for developers to benefit. This is taking away money from us at a time where we’re already scant for money from DevEx. No bueno.

edit: to clarify, it’s nice we can customise this menu, but if we were to disable user bought emotes, then tons of people would be upset about it. It’s choosing between making a community happy versus paying your own bills.

52 Likes

Developers could disable emotes in their game if they affect it.

25 Likes

If any developer is relying on selling emotes for money then i feel like they are hurting themselves more than this update

55 Likes

Although you can disable this menu (thankfully) I find this new feature unfitting to Roblox and a blatant attempt at trying to capitalize on trends such as Fortnite dances. On top of this, the icon doesn’t fit at all with the other three icons as it is fully filled in and looks more like a PNG that was slapped on. I myself dislike the addition of this menu.

83 Likes

What about if none of the developers for a game are available for a while? Imagine all the damage that would make and it also overlaps the B button input.

15 Likes

They will, Roblox is expanding to other countries and the encounter of 2 different native is not even uncommon to this day, Expressing yourself with visuals & gestures without the requirement of speaking the same language is actually the best plan possible, atleast as a Social improvement, it’s eventually a major update for Mobile/Tablet devices who are in a better position to just use Emotes rather than typing while playing the game.

22 Likes

At any time an update could be released which affects a developers game. It is the responsibility of a developer to keep track of their games and ensure that they are up to date and lacks errors.

19 Likes

I think it would be best if after the user has the menu open the number keys (1-8) will perform the assigned emote. Currently users can open the menu with the ‘B’ key but have to drag their mouse to select the actual emote.

26 Likes

I really liked this update, since it will allow the players to be more expressive by emoting, but at the same time I feel like making this update enabled by default will certainly break some games

16 Likes

I would propose a button such as right ALT as it’s not a button most people use very often.

17 Likes

I’m glad there’s atleast a way to disable it, but I can’t help but agree that this definitely should not be added on to by default for games. I would much rather it see it being able to be disabled on future new games and enabled on past games by choice.

15 Likes

I haven’t looked much into this, but I really hope Roblox adds in API to detect when an emote is performed.

For instance, in my game, I’m working on an emote system where players can do emotes. It’s a first person shooter, so I want the View Model to go away and have the player’s character arms appear in first person.

With an update like this, I hope that’s an option. Otherwise, this update seems… redundant for my game.

I think this could also cause a lot of conflicts with players, especially if the developer & Roblox have released a similar emote, thus making the player angry they have to purchase the same emote twice, and resulting in a downvote potentially.

All in all, it’s a good update. It needs the OnEmote() function, however.

I just wish it didn’t have to rely on the extremely limited HumanoidDescription object. :frowning:

28 Likes

I’m really mixed on this to be honest.

First, as pointed out by many others, I feel as if the toggle button doesn’t fit in with the UI. Just a minor nitpick anyways.

The big issue with this is that it can be rendered useless pretty fast. As many others had stated, this can damage developer’s who are using similar mechanics to monetize their games. So of course, this may result in them disabling such (a good chunk, actually). This could render emotes useless as there’d be not too many games with emotes enabled for players to use, making their robux a waste (similar to gears, but gears can be shown off in your profile). This is just a prediction really, so I can be wrong.

36 Likes

If you can obtain the emotes a players has, I’ll definitely add them into my game so players who bought the Roblox ones can use them. That’s a good alternative to just completely disabling them.

Then again, not everyone uses the default R15 rig.

9 Likes

6 posts were merged into an existing topic: Off-topic and bump posts

Do not treat the forum like a real-time chat.


It’s still there, but only in the script editor.

9 Likes