Skip to content

Debug Overlay #368

@kotsan777

Description

@kotsan777

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

Image

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions