Hello everyone,
I am using Cesium for Unity together with a custom offline recorder system in Unity.
My recorder works roughly like this:
cam.targetTexture = rt;
cam.Render();
RenderTexture.active = rt;
tex.ReadPixels(…);
I then export the captured frames as PNGs and encode them into MP4 using ffmpeg.
The issue is that the normal Cesium ion credits / attribution UI that appears in the Game View is NOT included in the recorded frames.
Important observations:
-
The credits are visible in the Unity Game View.
-
They remain visible even if the Main Camera is disabled.
-
They do not appear to be rendered through a normal Canvas.
-
FindObjectsByType<UIDocument>()returns none. -
Resources.FindObjectsOfTypeAll<CesiumCreditSystem>()does find internal Cesium credit objects. -
It seems the credits are rendered through an internal UI Toolkit panel / overlay system that is outside the camera render pipeline.
Because of this, Camera.Render() output does not contain the credits.
I would like to ask:
-
Is there an officially supported way to render the Cesium ion credits into a RenderTexture / offscreen camera capture workflow?
-
Is there a recommended approach for offline rendering / frame-by-frame video export while remaining compliant with attribution requirements?
-
Is there an official Cesium ion logo asset or recommended compact attribution layout for rendered videos?
Currently I am considering manually recreating the credit overlay UI, but I would prefer to use the official system if possible.
Thank you.