Last month, I posted about a beta release for a chat update on iPhones. The update included some cool improvements like a fresh new chat UI and faster loading times. Today, we’re excited to unveil the most amazing part about this release: this new chat app was written in Lua!
Every chat bubble, every user avatar, every tween was written entirely using the same tools that Roblox developers all know and have access to. For Roblox, this is a huge breakthrough in demonstrating the capabilities of our platform – a smooth, seamless 2D experience supported by a 3D game engine.
We have rolled out this new Lua chat app for all iPhone users today, and we invite you all to ask about how features were built or leave feedback on the chat itself (e.g. suggestions, bug reports). To use the most updated version of Lua chat, please update your Roblox app from the app store. We will be gradually rolling out this new update, but all users should be able to see Lua chat by the end of the week.
Next, we will be working to launch Lua chat for iPads, as well as Android phones and tablets, so don’t worry if you don’t have an iPhone. Stay tuned!
Was this like a research and development project internally for the new constraints? This seems pretty legit.
So if we were to remove the UI, would it just be an empty skybox?
Intuitively it would make sense if they only had a partial hierarchy present (only a UI?) and that there is no 3D view behind that at all, but who knows?
But this is really cool, is there a special date you plan to release or notify us about android? I prefer that over iphones and would love to know if there’s a specific date.
Actually, the framerate throttles when there isn’t activity so it will be able to support 3D elements as well. The framerate optimization pretty much keeps it viable as a chat app (read: battery life) while still having the ability to run a 3D engine. So yeah, a skybox is behind the UI. A lot of potential and exciting use cases here.
So it ends up being a lot more capable than your average chat app.
This project helped us iron out tons of bugs with nested UIListLayouts, and the interactions between UIListLayouts, ScrollingFrames, and other GUI elements.
If you remove the UI, I think you’ll see whatever skybox the avatar editor uses. They exist in the same data model, which makes switching between the two a lot quicker.
We did have to do a bit of work to implement render throttling and a few other optimizations so that battery life would be reasonable – building mobile chat is very much unlike most Roblox games!
Battery life! How can we take advantage of the optimizations made?
I see you can now copy and paste into the dialog, however the following things are missing. Are these features coming anytime soon?
Highlighting
Copying text from other users
Are there any new plans to merge this into games? If you can easily overlay/render datamodels on top of each other it would be possible for us to get integrated onsite/mobile/game chat. I.E. I don’t have to stop talking to my friends while playing Roblox!
Most of the optimizations we’ve made have been rolling out gradually as we’ve made them over the past few months.
We have an optimization in chat right now that throttles rendering all the way down to 1 FPS when there’s no activity, but I don’t think it’s a very useful thing to do for most Roblox games. I’d still like to find a way to apply it to the GUI parts of games – if we do that, hopefully no one will notice except for better performance!