Hi everyone,
As we build upon our existing Developer Modules, we have some exciting updates for you. These modules are designed to let you easily add powerful social features to your experiences!
New Modules
Today, we’re releasing the surface art, scavenger hunt, and social interaction modules. Each of these has been used in different ways across the Roblox Community Space, Twenty One Pilots and Lil Nas X concerts, and more experiences.
Now, you can let your players become a part of building your experiences, allow your players to learn more about your space, all the while having subtle but impactful realistic avatars.
We’ve uncopylocked the Roblox Community Space so you can see how these modules can come together to form a cohesive experience.
How do I use them?
All these modules are published in Roblox’s models library. You can find the direct links to each module above or search for them in the Library. From these pages, add them to your inventory in order to conveniently find them in the “My Inventory” section of Studio’s Toolbox panel.
Then in Studio, you can one-click insert or drag and drop them into your 3D Workspace. Run the experience and the Dev Module will distribute itself to various services and start itself up.
Each Dev Module is designed to work out of the box, so the moment you press play it will just work. If this isn’t your style, as the developer you have full control over the Dev Module and how it works. Advanced users can configure each module in many different ways. Please refer to their documentation to know more!
Documentation & Resources
This page will always be updated with the latest information. You can learn more about each module below–
- Surface Art: Literally leave your mark in an experience.
- Scavenger Hunt: Encourage players to explore your space.
- Social Interaction: Add a touch of realism to your avatars.
Previous Module Updates
Previously, we released the friends locator, in-experience profile, spawn with friends, emote bar, and photobooth modules. We heard your feedback, and have made each of these much more customizable, easier to parse through, and fixed any outstanding bugs. Furthermore, we’ve added gamepad support where possible and enabled localization across the board. Expand each for a breakdown:
Friends Locator: use a custom GUI!
Added
- Override the default UI with your own GUI built in Studio
- New configuration option to turn off the Dev Module completely
Fixed
- Wrap API calls with pcall to prevent excessive error logs
In-Experience Profile: more configuration options & localization!
Added
- ProfileCards now support rounded corners, borders, text scaling and truncation, as well as the option to remove the personal indicator prompt and blurry background.
- Localization tables to better support translation of the ProfileCard phrases into other languages.
Changed
- The ProfileCard on mobile devices now shifts into different views to prevent the keyboard from blocking the text input area.
Fixed
- You can no longer select the status text box and see the blinking text cursor when not in editing mode.
- You can no longer interact with or view ProfileCards while on console or using a gamepad controller.
- Input on certain UIs found on top of a character no longer causes the profile card of that character to appear. However, experiences with Voice Chat UI and the ProfileCard DevModule may observe that the card still appears when VC UI accepts input when it appears over a character; this is a known issue that we are still working to resolve.
Emote Bar: updated emotes, increased customizability, gamepad support!
Added
- The position of the Emote Bar can now be customized via the emoteBarPosLandscape and emoteBarPosPortrait configuration settings
- Added the lockEmote API function. This function allows the developer to set an emote in the EmoteBar or EmoteWheel to be locked for a specific player
- Added gamepad support. By default, press Y to open the EmoteBar, use the right/left bumpers to navigate, and left stick/dpad to navigate between emotes.
Changed
- The emotes provided with the Emote Bar have changed. They are now the 7 free emotes in the Roblox Catalog (Hello, Applaud, Point, Stadium, Tilt, Shrug, and Salute). In addition, if the players own any emotes from the Little Nas X, 21 Pilots, or Royal Blood concerts they will be added to that player’s Emote Bar. This can be disabled by setting useDefaultEmotes = false in the configureServer function.
- The number of emotes shown per page now dynamically changes based on the size of the device. emotesPerPage is now maxEmotesPerPage to reflect this change. The emote bar will show at least one emote per page and at most maxEmotesPerPage per page.
- The Emote Bar now positions itself above mobile touch controls when there is not enough room to show the Emote Bar between the touch controls
- The server scripts now perform more rigorous verification of data coming from RemoteEvents originating from a client
Fixed
- EmoteBar.setGuiVisibility(false) now hides the EmoteWheel until EmoteBar.setGuiVisibility(true) is called
- The EmoteBar no longer overflows on small screens
- The EmoteBar will no longer navigate back to the first page of emotes when moving after having changed the emote page via swiping the Emote Bar on touch devices.
- Local configuration changed made by configureClient will no longer be overwritten by the Server
- The Emote Bar no longer gets tripped up when starting the experience in Portrait mode
- Test files are no longer shipped with the Emote Bar
Photobooth: increased customizability, gamepad support!
Added
- There are more customization options for the countdown. See the documentation for countdownBeepSound, countdownFlashSound, countdownFont, countdownTextColor, countdownTextSize, and countdownSeconds for more information
- Background selectors can now be navigated using a gamepad
Removed
- countdownAudio has been removed in favor of countdownBeepSound and countdownFlashSound
Changed
- Background selectors now look better on larger screens
- The time between countdown numbers is now 1 second (it was 0.43 seconds previously)
- It is now obvious which keys/gamepad inputs/touch inputs can be used to open the PhotoBooth (we now use a ProximityPrompt instead of a custom solution)
- The cameraBackground and cameraIcon configuration options will not longer do anything now that a ProximityPrompt is used
Fixed
- Background selectors now properly exit from the hover state when the mouse is moved away from them
- Background selectors can no longer be clicked after they have faded out
- The in PhotoBooth UI no longer fades out while hovering over a background selector
- The setBackgrounds function will now always change the backgrounds that can be selected
- The caption in the PhotoBooth is no longer cutoff on small screens
- The PhotoBooth now responds better to orientation changes
- Test files are no longer shipped with the PhotoBooth
Using the updates
To use the updates, simply insert the new Dev Module into your experience and delete the old one. Since Dev Modules are configured through scripts that you write, all of your configuration will be preserved between updates.
What’s next?
We’re focused on enabling a wider variety of powerful and immersive experiences on Roblox. What would you like to see next?
If you’re using developer modules in your experiences and would like to help design upcoming modules, fill out this form to request access to a private DevForum category with us! You can also submit feedback here.
A big shout out to the team making this possible: @complexlint, @TheGreaterWhale, @AngelEthereal, @ghost_naps, @Chocopain, @SolarCrane, @AZKOolKAt, @wiggletsunami, @poppyphizzy, @IgnisRBX