Feature Request: Expose Mobile Battery Level to Developers
As a Roblox developer, currently it is very difficult to accurately understand and react to the player’s mobile device battery state while the experience is running. There is no supported way to know whether a player is on low battery, charging, or close to running out of power, which makes it hard to design mobile-friendly experiences that adapt to real device constraints.
Many mobile players leave experiences abruptly due to low battery, overheating, or power-saving modes. From the developer side, this looks identical to a rage quit or a crash, and we have no way to differentiate or respond appropriately in real time.
If this problem is resolved, it would improve my development experience because I would be able to design systems that adapt dynamically to mobile limitations, reduce frustration for mobile players, and make more informed decisions about performance, visuals, and session flow.
Use cases
- Reducing graphics quality, particle effects, or post-processing automatically when the device battery is low.
- Avoiding long cutscenes, forced AFK sections, or critical gameplay moments when the player is about to lose power.
- Saving progress more aggressively or warning the player when battery is critically low.
- Gathering better analytics to understand whether mobile session drops are caused by battery constraints rather than gameplay issues.
- Creating accessibility or comfort features for mobile users, such as optional “low battery mode” behaviors.
Current problems
- Developers must guess or assume why mobile players disconnect.
- There is no reliable signal to distinguish battery-related exits from crashes or intentional leaves.
- Mobile optimization systems must be static or manually toggled by the player instead of being context-aware.
I understand that exposing device information has privacy and platform considerations. However, even a read-only, coarse-grained signal (for example, battery percentage or low/critical state) would be extremely valuable and would not require exposing any personally identifiable information.
As a minor implementation note (not a requirement), this information could potentially live under an existing service such as Stats and be exposed as a read-only value (for example, something conceptually similar to game:GetService("Stats").MobileBattery, game:GetService("Stats").Battery or something else). The exact API design is less important than enabling developers to react to mobile battery constraints at runtime.
Overall, this feature would significantly improve the quality of mobile-focused experiences and help developers build more respectful, adaptive, and reliable gameplay for players on phones and tablets.
Thank you.
GUYS STOP MOCKING DAVID