Description
When creating multiple instances of RiveView in an iOS app, a system-level Metal Performance HUD appears unexpectedly on physical devices (e.g., iPhone 14 Pro). This occurs even in Release builds with all debugging flags disabled. The overlay includes FPS, CPU/GPU usage, and chip information.
The issue occurs as soon as a second RiveView is initialized and added to the view hierarchy. It is not dependent on playing animations or triggering inputs.
Provide a Repro
A minimal Xcode project has been created to reproduce the issue:
🔗 GitHub Repository: link to repo with test project
The issue reproduces by default when launching the app. Two RiveView instances are added to the view, which causes the Metal debug overlay to appear on a physical device.
Source .riv/.rev file
with or without rive file it dosent matter
Expected behavior
No system-level overlay should appear in release builds. The use of multiple RiveView instances should not trigger any Metal debug tools.
Screenshots

Device & Versions (please complete the following information)
- Device: iPhone 14 Pro
- iOS version: iOS 18.3.2
- Rive iOS SDK: 6.5.3
- Xcode: 16.3
Additional context
- Fully read Rive SDK documentation
- Tested on multiple versions of the SDK (including 6.5.3 and earlier)
- Tested with different
StateMachine setups and simple artboards
- Tried both Debug and Release configurations
- Set
ENABLE_NS_ASSERTIONS = NO, SWIFT_OPTIMIZATION_LEVEL = -Owholemodule
- Modified
preferredFramesPerSecond values
- Created a separate sandbox project for isolation
📌 Important: The issue only reproduces when two or more RiveView instances are added. It does not appear with a single view.
As a workaround, we are currently switching to Lottie for this specific case.
Description
When creating multiple instances of
RiveViewin an iOS app, a system-level Metal Performance HUD appears unexpectedly on physical devices (e.g., iPhone 14 Pro). This occurs even in Release builds with all debugging flags disabled. The overlay includes FPS, CPU/GPU usage, and chip information.The issue occurs as soon as a second
RiveViewis initialized and added to the view hierarchy. It is not dependent on playing animations or triggering inputs.Provide a Repro
A minimal Xcode project has been created to reproduce the issue:
🔗 GitHub Repository: link to repo with test project
The issue reproduces by default when launching the app. Two
RiveViewinstances are added to the view, which causes the Metal debug overlay to appear on a physical device.Source
.riv/.revfilewith or without rive file it dosent matter
Expected behavior
No system-level overlay should appear in release builds. The use of multiple
RiveViewinstances should not trigger any Metal debug tools.Screenshots
Device & Versions (please complete the following information)
Additional context
StateMachinesetups and simple artboardsENABLE_NS_ASSERTIONS = NO,SWIFT_OPTIMIZATION_LEVEL = -OwholemodulepreferredFramesPerSecondvalues📌 Important: The issue only reproduces when two or more
RiveViewinstances are added. It does not appear with a single view.As a workaround, we are currently switching to Lottie for this specific case.