rive-app / rive-unity

MIT License
104 stars 11 forks source link

Crashing after first frame in scene on iOS #56

Closed abethke closed 5 months ago

abethke commented 6 months ago

I have been doing extensive iterative testing to try to resolve an issue where the iOS app with Rive plugin included is crashing immediately after launching.

I have tested with URP and Built-in RP across Unity versions 2022.3.30f1 and 2023.1.0b16 using Rive versions .69, .87, .121, and .159 and can not get a version of an iOS to publish and run on device. The best I've managed is I can see the Rive animation for a single frame of rendering and then the app crashes. The logs I reviewed did not contain any obvious messages relating to the cause of the crash.

Has anyone gotten this successfully publishing to iOS and if so what Unity version, render pipeline, Rive plugin version, and XCode version were you using?

abethke commented 5 months ago

Updating to version 0.169 stopped the crashing.

Found out you can't use Canvas - Screen Space Overlay as its not supported which is why its not rendering on device.

damzobridge commented 5 months ago

Thanks for helping us debug this, Alex. We'll update the docs to mention the correct canvas settings.

If you absolutely have to use a Rive file in Screen Space - Overlay, one option would be to use some sort of offscreen camera to capture a RiveTexture, and then use the camera's output render texture as a source for the RawImage on the canvas. However, this would result in a performance hit, since you're now using multiple cameras.

abethke commented 5 months ago

What I did was add a second canvas and just ran the Rive stuff off of that on its own layer. It works but is not a perfect solution.