diff --git a/docs/platforms/unity/configuration/options/index.mdx b/docs/platforms/unity/configuration/options/index.mdx
index 23b124b910765..4cc744c1b83bc 100644
--- a/docs/platforms/unity/configuration/options/index.mdx
+++ b/docs/platforms/unity/configuration/options/index.mdx
@@ -94,7 +94,7 @@ Grouping in Sentry is different for events with stack traces and without. As a r
-Takes a screenshot of the application when an error happens and includes it as an attachment.
+Attaches a screenshot of the application to events when an error happens. The screenshot is sent together with the event it belongs to.
Learn more about enriching events with screenshots in our Screenshots documentation.
@@ -191,7 +191,17 @@ By the time is executed,
-A callback function that controls screenshot capture behavior. Return `false` to prevent a screenshot from being captured for a specific event. This allows for fine-grained control over when screenshots are included with error reports.
+A callback function that controls screenshot capture behavior. Return `false` to prevent a screenshot from being attached to a specific event. This allows for fine-grained control over when screenshots are included with error reports.
+
+The callback runs on the thread that captured the event, which can be a background thread. Avoid calling Unity APIs that are restricted to the main thread from within it.
+
+
+
+
+
+A callback function that receives the screenshot as a `Texture2D` before it gets compressed, along with the event it belongs to. You can modify the texture and return it, return a different texture, or return `null` to discard the screenshot.
+
+Since it operates on a `Texture2D`, the callback and compressing the screenshot run on the main thread, which stalls your game for the duration. It runs once per screenshot. Events captured while a screenshot is still being taken share it, and the callback receives the first of them that didn't get dropped.
diff --git a/docs/platforms/unity/enriching-events/screenshots/index.mdx b/docs/platforms/unity/enriching-events/screenshots/index.mdx
index d84cbce3b0a78..ab79b5a87509f 100644
--- a/docs/platforms/unity/enriching-events/screenshots/index.mdx
+++ b/docs/platforms/unity/enriching-events/screenshots/index.mdx
@@ -29,6 +29,34 @@ Since the Unity SDK internally consists of multiple SDKs, the mechanism with whi
- C# errors from within your game will be captured through Unity's built-in [ScreenCapture](https://docs.unity3d.com/ScriptReference/ScreenCapture.html). This means that screenshots only contain things visible within your game. Overlays on top of your game will not be visible.
- Native errors get captured by their respective SDK. If you're using a native plugin to display an overlay and an error occurs then that SDK will try to capture a screenshot that contains the overlay.
+### C# errors
+
+The SDK takes the screenshot at the end of the frame the error happened in, so it shows the fully rendered frame. Events captured while a screenshot is still being taken, for example several errors within the same frame, share it. Events captured on background threads get a screenshot as well. Events that get dropped by `BeforeSend` or sampling don't trigger a screenshot.
+
+To keep the cost of an error low, the main thread only schedules the capture on the GPU. Where the device supports it, the screenshot gets read back from the GPU [asynchronously](https://docs.unity3d.com/ScriptReference/Rendering.AsyncGPUReadback.html) and compressed on a background thread.
+
+The screenshot is sent in the same envelope as the event it belongs to. If the event gets dropped, for example because of rate limiting, its screenshot gets dropped along with it.
+
+### Modifying or Discarding Screenshots
+
+ decides whether an event gets a screenshot. To edit a screenshot before it's sent, for example to black out sensitive areas, or to discard it, use :
+
+```csharp
+options.SetBeforeSendScreenshot((screenshot, sentryEvent) =>
+{
+ // Return null to discard the screenshot instead
+ return screenshot;
+});
+```
+
+The callback runs once per screenshot. Events that share a screenshot also share the result.
+
+
+
+Since hands out the screenshot as a `Texture2D`, the callback and compressing the screenshot run on the main thread, which stalls your game.
+
+
+
Screenshots might contain PII of your app. For example, if your game has a registration form and an error happens while the form is being displayed.