Skip to main content

What Problem Does This Solve?

Different devices have vastly different hardware capabilities. A high-end gaming PC can handle 4K60 recording, but a mid-range Android phone might struggle with 1080p30. Your default quality options might be too aggressive for some devices or too conservative for others. QualityOptionOverride lets you define device-specific quality presets that automatically apply when the SDK detects specific hardware.

When to Use QualityOptionOverride

Use this when:
  • You have performance data showing certain devices need different settings
  • Supporting a wide range of hardware (flagship phones to budget tablets)
  • Users report performance issues on specific device models
  • You want to maximize quality on high-end devices without breaking low-end ones
Skip this if you’re targeting a single platform or device type.

Quick Example

When the SDK detects a Galaxy A52, it uses these settings instead of your base configuration.

How It Works

  1. You define a DeviceModel identifier (device name/model string)
  2. Create a list of QualityOption instances tailored for that device
  3. At runtime, the SDK checks the device model
  4. If a match is found, it uses the override options instead of base config
The override completely replaces the base quality options for that device—it doesn’t merge them.

Common Patterns

Override for low-end mobile devices

Boost quality on flagship devices


Finding Device Model Strings

Device model strings must match exactly. On Android, this is typically Build.MODEL. On iOS, it’s the device identifier like “iPhone15,2”.
Log the device model at runtime to ensure you’re using the correct string:

API Reference

Fields

Usage in Config

Overrides are typically added to a LckQualityConfig asset:

Best Practices

Test on actual devices — Emulators don’t reflect real performance
Monitor crash analytics — Device-specific overrides often surface hidden issues
Start conservative — Easier to increase quality later than debug performance problems
Exact model matching — Typos in device model strings mean the override won’t apply