Testing games on real hardware is too difficult

I can confirm it is a total pain to develop for mobile right now.

I’ve made systems where users drag, pinch, and pan various UI around. I had to publish my testing place and join it over 4,000 times. I can’t imagine how much time I’ve wasted on this because I didn’t have a good way to quickly test my changes on my phone.

Edit: I’m not joking. And I realized it’s been a while since I checked. I work on a primarily mobile-first experience so I constantly need to hop on my iPad, iPhone, and Android phones to test how things feel from a UI & a UX perspective.

Here is the place I use to test this. I’ve only been using the place for 2 years and I’m already approaching 13 thousand publishes.

18 Likes

If I’m remembering correctly, we even used to have this feature in the past for mobile, where in Studio you would be given a code and you would go on your phone and type it in to test from your mobile device.

I never understood why this feature was removed and not improved upon, probably due to a change in focus towards the device manager, but there is just no replacing the actual hardware.

12 Likes

I don’t remember such a feature but that would be really helpful! Especially since we have Team Create now (changes are immediately synced to the servers), pressing a button to Team Test on your phone would make playtesting much more efficient.

Considering we have more players on mobile than on PC, more focus on mobile compatibility tools sounds like a no-brainer to me

5 Likes

Yes! There was the Roblox Developer app for iOS (sadly it never made its way to Android) that allowed you to enter the “dev code” shown in studio to connect and would let you use your own real hardware to test your experiences.

I would love to see this return in some form or another, even if it was integrated into the Roblox app itself.

13 Likes

Yeah it was a feature removed in late 2016, very very useful at the time!

6 Likes

AHHH so glad somebody else remembers it too! That is exactly it, I had completely forgotten the name of it, thank you!

It absolutely needs to come back in a more universal form. Like OP mentioned, testing on console (PS4/Xbox) and in VR is an absolute nightmare, mobile is also just as difficult like @ScriptOn mentioned without a proper means of testing gestures.

They were also intending on bringing it back in the past:

but not for sure what their plans are now

6 Likes

While I do agree with the spirit of this, I can see some issues if you emulate this in Studio. For starters, the PC you develop on is going to be light-years more powerful than the mobile devices running the same game. If anyone has ever done Android or iOS App development, you know exactly what I’m talking about when trying to benchmark how something behaves on mobile when it comes to clicks, drags, pinch, etc. The emulators for those phone types are very good, but also not exact when it comes to speed and response. Roblox would have the same issue. If Google and Apple haven’t solved that issue after all of these years, I don’t see Roblox doing this either and be fast enough to keep up with all the different mobile devices out there.

The idea though to have a special dev mode just for a mobile device, I have to agree would be much more feasible that the current setup used. Right now, the best way to develop for a mobile is to create a special test mode command that switches your experience to some mobile mode manually with debug output that you have to create on your own, etc. Unfortunately, you have to create all this yourself and the coding challenge will certainly burn you through a couple of days of getting this setup. :face_exhaling:

Right now, you can set Team Developing mode for users that only have “play test” abilities. That should be enough to have a way for the same users to enter some special code in a vanilla Roblox client to be about to join a Team Test session. Sure, they won’t get all the technical output, but the developers will be more interested in this than the users just connecting and trying things out via the Client. :wink:

7 Likes

I think you misunderstood what the post is suggesting.

No where does the OP suggest that Roblox provides a way to emulate the devices themselves, it is suggesting that we are given a way to use other devices for in-studio play sessions rather than having to simulate their experiences (Roblox’s existing implementation) or publish and play outside of studio (what you’ve suggested basically).

So to add some counterpoint to what you mentioned, it wouldn’t be limited to just mobile, ideally we’d be able to do this on every device platform Roblox is available on.

8 Likes

As Cali said, I think you misunderstood. One of the use cases I listed was benchmarking UI running on real hardware, not emulation. The whole point of this post is that emulation is not good enough for our (quite extreme) needs, and it needs to be easier to test games on real hardware.

6 Likes

I understand just fine. :wink:
Whenever this is brought up here, someone or staff always suggest emulation solutions. Just preemptively stating my opinion ahead of time. That’s why in the same post I agree with the OP. :grinning:

5 Likes

Thanks for the feedback, Brooke!
As we spoke today, testing and debugging on device is quite challenging technically, but we will investigate and keep you posted.

Good news is we plan to enable Emulator input for touch screen, VR and console gamepad. Hopefully H2 2024.

6 Likes

I’m looking forward to it! As always, thank you for the transparency. It means a lot!

1 Like

i wanna just say something, the fact about like, mac books that can have all ‘Mouse’, ‘Keyboard’, ‘Touch’ ect, is so much more difficult too detect for since, Mobile can have a keyboard and, mess up the detections, if not known for, and, the 1 thing i’m wondering about, you guys legit have 1 function that tells you the Platform but, never explain, why you just dont expose it

because there is no strong reason to expose this identifier to the developer, all the information you need to build interfaces that work and look appropriate for every possible platform, form factor, and display size is already there. The only real argument for having this function is for analytics and even that isn’t so strong because of Roblox’s own analytics.

For user inputs rely on UserInputTypes, same with interface icons that tell the user what input to use to perform an action. For actual interface layout switching use aspect ratios and size characteristics to determine what interface may be better suited for the display being used.

This is responsive design, switching a layout based on a platform is NOT.

2 Likes

they can just add like: UserInputService.IsMobile; or UserInputService.IsComputer; it whould be alot more useful, than, like: UserInputService.TouchEnabled

No, it wouldn’t. Roblox already exposes the capabilities of the platform via the input type and properties like TouchEnabled. You don’t need the actual underlying platform.

well, i’m gonna deal with mobile then, idc, its too difficult finding out, where too place my UI since, it keeps beeing weird, that Mobile is smaller, messes it up


idc, ok, dont juge me, i’m not gonna support this like, atall, and, my reason still stands, you can dis-agree but, idc

You can just use Camera.ViewportSize to get the size of the screen and adjust UI accordingly?

1 Like

Hackers can just: Workspace.CurrentCamera:Destroy(); or the Camera may bug out too, not work like, atall, so, i use my own Method