API for taking screenshots ingame

As a Roblox developer, it is currently not possible to take a screenshot in-game from within scripts. Roblox already has a built-in screenshot tool, but it can only be utilized through the pause menu.

What I am proposing is that a new function is added to player objects that would show a popup window, similar to the window that appears when a player wants to make a purchase, that would ask if the player wants to take a screenshot. It would be a function of “Player” objects, and could have properties to hide the CoreGui in screenshots, hide ScreenGuis in the screenshot, and a callback function that would fire when the player either rejects or accepts the screenshot request. The callback would be useful for scripts detecting when the player took a screenshot and running extra code. The reason it would ask in a popup window is so that games couldn’t store files on player’s devices without their consent (the Roblox screenshot tool saves to the device, not online).

If Roblox is able to address this issue, it would improve my development experience because it would offer a way for developers to easily create ways for players to take pictures of their avatars, game maps, etc.

Use Cases:

  • My use case is to make a “camera” tool that players could use to take pictures. With the new Depth of Field post-processing effect (Release Notes for 427) that is coming soon, I wanted to create a camera that could “focus” wherever a player clicks/taps.
  • A camera that would let players add effects or “filters”, like on social media, to their avatars.
  • I’m sure there are many other use cases, but these are just a few.
5 Likes