Embed Screenshot to Unity Profiler protocol.
- 2019.4 or newer.
- the platforms that supports System.supportsAsyncGPUReadback (Mobile vulkan or metal....)
Support sync readback from 1.1.0 , however it's very slow....
via OpenUPM (requires openupm-cli).
openupm add com.utj.screenshot2profiler
1.Initialize.
Place the "ScreenShotProfiler.prefab" to the scene.
(You can customize the settings at Inspector.)
or callling this method to Initialize.
UTJ.SS2Profiler.ScreenShotToProfiler.Instance.Initialize();
or
UTJ.SS2Profiler.ScreenShotToProfiler.Instance.Initialize(w,h);
( w,h means recording texture size).
2.call "Tools -> ProfilerScreenshot" from Menu.
And then window will be displayed.
This is a sample that use RenderTexture instead of ScreenCapture.
RenderTexture captureRenderTexture;
ScreenShotToProfiler.Instance.captureBehaviour = (target) => {
CommandBuffer commandBuffer = new CommandBuffer();
commandBuffer.name = "ScreenCapture";
commandBuffer.Blit(captureRenderTexture, target);
Graphics.ExecuteCommandBuffer(commandBuffer);
};
version 1.3.0 Add custom ProfilerModule for Unity 2021.2 or lator. version 1.2.1 fix release build error version 1.2.0 fix NullError when there is no data in Profiler. add Texture compress option. add RenderTexture capture instead of Screenshot. add "ScreenshotToUnityProfiler.prefab" version 1.1.0 add sync readback option for gles.