Developer Modules: Instant Social Features

Pretty excited about the voice chat featured just worried about the wrong people getting behind the mic

3 Likes

I am so happy that Roblox has provided the code for these modules, but I have some feedback for them to make it even better.

Emote Bar:

Are all these module scripts really necessary? I’m having trouble navigating through the emote bar because of all these different module scripts.

Also pretty surprised to see wait() in the Pulse script (wait() is development smell). In this case, wait() can simply be removed since there is another delay in the script.

image

7 Likes

Roblox always overcomplicate their scripts by trying to make them more simple lol.

6 Likes

As a non-scripter, thank you! I am trying to make a social RP game and this is exactly what I needed :]

7 Likes

Very interesting! I cant wait to see these in many different games soon!

3 Likes

Pretty cool. I could see these being used in roleplay games. Not something id use in my game but still pretty cool non the less. I do have a question though, Will we be able to customize these? (changing appearances and adding to them). Id assume the answer is yes but id like to check anyways.

3 Likes

So many updates? This is really cool. Since when have you guys been planning these?

2 Likes


Emotes start happening very fast when you keep pressing keys.

1 Like

Really loving how customizable this emote bar is, it works great with custom icons. :sweat_smile:
EmoteBar

13 Likes

can the emote bar work with tools?

2 Likes

Umm. This is not a feature. It is a set of free models released by Roblox people can implement to their own games.

I don’t think this really affects the old Roblox dying. These are free models released by Roblox and honestly just add more nice feature. I too don’t like the new corporate agenda at Roblox and like old Roblox better. But these free models I think are only a positive and I would rather be much more concerned about rhtro.

Nothing. These are free models made by Roblox. You can insert them to your games by just adding the free model.

Because it is made by Roblox and thus is not made by the community.

Yes. It does. /e dance and the emote menu already work. Why woudln’t this work either?

4 Likes

When I was testhing I encountered this error

HTTP unknown error (HttpError: Timedout, curlCode:28, curlMsg:Operation timed out after 60000 milliseconds with 0 out of 0 bytes received)  -  Client - FriendsBillboards:93
  16:19:43.297  Stack Begin  -  Studio
  16:19:43.297  Script 'ReplicatedStorage.FriendsLocator.Components.FriendsBillboards', Line 93 - function _shouldDisplay  -  Studio - FriendsBillboards:93
  16:19:43.297  Script 'ReplicatedStorage.FriendsLocator.Components.FriendsBillboards', Line 100 - function _updateFriendList  -  Studio - FriendsBillboards:100
  16:19:43.297  Script 'ReplicatedStorage.FriendsLocator.Components.FriendsBillboards', Line 75 - function didMount  -  Studio - FriendsBillboards:75
  16:19:43.297  Script 'ReplicatedStorage.DevModulePackages.Roact_1.4.0.Component', Line 351 - function __mount  -  Studio - Component:351
  16:19:43.297  Script 'ReplicatedStorage.DevModulePackages.Roact_1.4.0.createReconciler', Line 367 - function mountVirtualNode  -  Studio - createReconciler:367
  16:19:43.297  Script 'ReplicatedStorage.DevModulePackages.Roact_1.4.0.createReconciler', Line 95 - function updateChildren  -  Studio - createReconciler:95
  16:19:43.298  Script 'ReplicatedStorage.DevModulePackages.Roact_1.4.0.createReconciler', Line 122 - function updateVirtualNodeWithRenderResult  -  Studio - createReconciler:122
  16:19:43.298  Script 'ReplicatedStorage.DevModulePackages.Roact_1.4.0.Component', Line 347 - function __mount  -  Studio - Component:347
  16:19:43.298  Script 'ReplicatedStorage.DevModulePackages.Roact_1.4.0.createReconciler', Line 367 - function mountVirtualNode  -  Studio - createReconciler:367
  16:19:43.298  Script 'ReplicatedStorage.DevModulePackages.Roact_1.4.0.createReconciler', Line 95 - function updateChildren  -  Studio - createReconciler:95
  16:19:43.298  Script 'ReplicatedStorage.DevModulePackages.Roact_1.4.0.createReconciler', Line 122 - function updateVirtualNodeWithRenderResult  -  Studio - createReconciler:122
  16:19:43.298  Script 'ReplicatedStorage.DevModulePackages.Roact_1.4.0.createReconciler', Line 312 - function mountFunctionVirtualNode  -  Studio - createReconciler:312
  16:19:43.298  Script 'ReplicatedStorage.DevModulePackages.Roact_1.4.0.createReconciler', Line 365 - function mountVirtualNode  -  Studio - createReconciler:365
  16:19:43.298  Script 'ReplicatedStorage.DevModulePackages.Roact_1.4.0.createReconciler', Line 95 - function updateChildren  -  Studio - createReconciler:95
  16:19:43.298  Script 'ReplicatedStorage.DevModulePackages.Roact_1.4.0.createReconciler', Line 114 - function updateVirtualNodeWithChildren  -  Studio - createReconciler:114
  16:19:43.299  Script 'ReplicatedStorage.DevModulePackages.Roact_1.4.0.createReconciler', Line 330 - function mountFragmentVirtualNode  -  Studio - createReconciler:330
  16:19:43.299  Script 'ReplicatedStorage.DevModulePackages.Roact_1.4.0.createReconciler', Line 371 - function mountVirtualNode  -  Studio - createReconciler:371
  16:19:43.299  Script 'ReplicatedStorage.DevModulePackages.Roact_1.4.0.createReconciler', Line 95 - function updateChildren  -  Studio - createReconciler:95
  16:19:43.299  Script 'ReplicatedStorage.DevModulePackages.Roact_1.4.0.createReconciler', Line 122 - function updateVirtualNodeWithRenderResult  -  Studio - createReconciler:122
  16:19:43.299  Script 'ReplicatedStorage.DevModulePackages.Roact_1.4.0.Component', Line 347 - function __mount  -  Studio - Component:347
  16:19:43.299  Script 'ReplicatedStorage.DevModulePackages.Roact_1.4.0.createReconciler', Line 367 - function mountVirtualNode  -  Studio - createReconciler:367
  16:19:43.299  Script 'ReplicatedStorage.DevModulePackages.Roact_1.4.0.createReconciler', Line 95 - function updateChildren  -  Studio - createReconciler:95
  16:19:43.299  Script 'ReplicatedStorage.DevModulePackages.Roact_1.4.0.createReconciler', Line 122 - function updateVirtualNodeWithRenderResult  -  Studio - createReconciler:122
  16:19:43.299  Script 'ReplicatedStorage.DevModulePackages.Roact_1.4.0.Component', Line 347 - function __mount  -  Studio - Component:347
  16:19:43.299  Script 'ReplicatedStorage.DevModulePackages.Roact_1.4.0.createReconciler', Line 367 - function mountVirtualNode  -  Studio - createReconciler:367
  16:19:43.299  Script 'ReplicatedStorage.DevModulePackages.Roact_1.4.0.createReconciler', Line 403 - function mountVirtualTree  -  Studio - createReconciler:403
  16:19:43.300  Script 'Players.ALE111_boiPNG.PlayerScripts.MountGui', Line 15  -  Studio - MountGui:15
2 Likes

These are very great but
umm… whats the point of the photo booth? I mean its cool but like does it have any benefits besides taking a screenshot with a custom background? I guess it it good for GFX? But does it have any other benefits?

2 Likes

the tool Instance that is what i mean by

2 Likes

I would definitely assume so. I could imagine that some people would want a different style for their games!

2 Likes

That is part of the behavior: users can select the speed the the emotes animate based on how quickly they click the emote icon or hotkeys. There should be a way to disable this functionality in the code if it does not fit your experience’s playstyle.

3 Likes

Amazing features, cant wait to see games using this as a big potential to get new players!

1 Like

Believe it or not, this actually makes the script easier to edit for the developers who know them inside-out. Meanwhile, us:
image
If it makes your life easier, .spec files are “psuedo-code” that describes what the non-.spec script does. You can delete them if you don’t need them

1 Like

A lot of what it comes down to is robustness:

When developers are writing personal code for their games, they make a lot of internal assumptions specific to how they know that their game works, which let the code that they write be a lot simpler.

Roblox has no such luxury with code like this. Stuff that we write has to be robust and continue to work even when the game it is running in has extremely unlikely or unexpected circumstances thrown at it. A lot of the infrastructure you see as those piles of modules is systems that we’ve built to make writing that robust code easier.

8 Likes

Hello, thanks for trying out the friends locator Dev Module! Can I confirm if this is still reproducible?

We’ve seen this happen in rare situations with large servers. In any case, we will be patching this to make sure it doesn’t crash!

2 Likes