Instance Method


Tells the delegate to export an image attached to a scene.


iOS, Mac Catalyst, tvOS
optional func write(_ image: UIImage, withSceneDocumentURL documentURL: URL, originalImageURL: URL?) -> URL?
optional func write(_ image: NSImage, withSceneDocumentURL documentURL: URL, originalImageURL: URL?) -> URL?



An image attached to the scene being exported.


The URL the scene is being exported to.


The URL the image was originally loaded from, or nil if the image was not previously loaded from a URL.

Return Value

The URL your app exported the image to, or nil if your app did not write the image to a URL.


If you implement this method, Scene Kit calls it for each image (for example, a texture) attached to the scene. Your app can then save the image data in a location and format of your choice, returning a URL for the exported image file.

If you do not provide a delegate when exporting a scene, or if your delegate returns nil from this method, Scene Kit exports the image in a default format to a default location.