The new 'Capture Screenshot' feature temporarily hides SurfaceGuis

Unsure entirely if it’s a bug or intended, but I think it may have slid under the radar. The capture feature hides all UI elements to take a pure screenshot without elements on screen blocking the viewport, however it appears the SurfaceGui UI object is also included in this hiding behaviour. This means any display boards in the world will not render, such as scoreboards, dynamic signposts (think like the signs above player stalls in Pls Donate!).

Regular view:

This is extra obtrusive to my game, as a core effect requires the use of a SurfaceGui placed in front of the camera to function, and when it’s disabled the effect breaks and everything renders incorrectly. And I’d love to be able to use this social feature in the final product.

During screenshot:

Please disable the hiding of world-space UI objects! Or even better, provide a checkbox for ‘HiddenInCapture’ or something!

10 Likes

As a workaround, you should be able to disable ScreenshotHud.HidePlayerGuiForCaptures and manually hide any ScreenGuis that you wish to be invisible before the capture and re-enable them afterwards using the events under CaptureService to determine when to do so. This seems to be intended behaviour, but an additional property should be provided to cover this common use case.

4 Likes

I think setting ScreenshotHud.HidePlayerGuiForCaptures to false and manually disabling the ScreenGuis in PlayerGui may work for this use case currently, in the future we will be looking into how to improve the API to make this easier and allow for more flexibility for developers to choose what is hidden in Captures.

1 Like