DocumentationAzkar Screen StatsTroubleshooting And Testing

Troubleshooting

Troubleshooting And Testing

Resolve build-scope, camera, availability, layout, input, and composition issues; expose package tests and prepare useful support reports.

  • Visibility and camera
  • Unavailable values and layout
  • Rendering and input
  • Tests, support, and license

Use this page when the overlay is missing, attached to the wrong camera, reporting unavailable values, not fitting the viewport, ignoring input, or appearing differently after camera composition.

Nothing Appears

Check that:

  • Build Scope allows the current Editor or player.
  • Visible On Start is enabled or Show() has been called.
  • The component and its GameObject are active and enabled.
  • Target Camera is an active, enabled Game camera, or the field is empty with another eligible Game camera loaded.
  • The selected camera has a non-empty culling mask and a valid pixel viewport.
  • The inspector does not report a missing package shader.

When Build Scope disallows a player, requested visibility does not override that policy and the component does not initialize rendering resources.

An Assigned Camera Becomes Unavailable

An assigned Target Camera is authoritative. Re-enable it, assign a different active Game camera, or clear Target Camera to opt into automatic selection. The overlay intentionally does not jump to a fallback while an explicit assignment exists.

The Overlay Uses The Wrong Camera

Assign Target Camera directly. Automatic resolution is intended for simple scenes; explicit ownership is safer for split-screen, camera stacks, minimaps, cinematic cameras, and runtime-created cameras.

A Value Shows --

-- means the value is not currently available. Depending on the row, causes include:

  • The source is unsupported by the platform, graphics API, render pipeline, or build.
  • Frame Timing Stats is disabled for a target that requires it.
  • The first frame has not produced a measurement.
  • A profiler recorder window contains no valid sample.
  • P99 and 1% low have fewer than 100 real observations.
  • A custom stat was explicitly marked unavailable or received a non-finite value.

General frame duration remains separate from CPU and GPU timing. The overlay does not invent a fallback CPU value.

Text Or Graph Does Not Fit

  • Select Compact or Standard.
  • Disable Device Details or another unneeded section.
  • Reduce Text Scale, graph width, or margins.
  • Enable Auto-Fit Small Views.
  • Use the optional text backdrop when contrast, rather than size, is the problem.

Auto-fit can reduce text scale but does not resize the configured graph. Split-screen cameras use their own pixel viewport, not the full display. ContentFits and TextWasTruncated expose the current state to project code.

The Graph Clips Or Looks Too Sensitive

Increase Graph Ceiling (ms) if tall samples clip at the graph top. Set Target FPS to the actual budget you want to inspect. Target FPS changes only the marker, budget thresholds, and miss interpretation; it does not alter application frame rate.

Lower Graph Updates / Second if geometry refresh is more frequent than needed. This does not reduce the rate at which real frame observations enter history while Graph or Budget is enabled.

Input Does Not Toggle The Overlay

Legacy Toggle Key defaults to None and has no polling effect unless the legacy Input Manager is compiled. Connect a project-owned Input Action, button, debug menu, or console command to Show(), Hide(), or Toggle().

If a legacy key is configured, confirm the legacy Input Manager is available in the consuming project.

Post-Processing Changes The Overlay

The overlay is camera-scoped and disables depth testing, but it is not guaranteed to execute after every camera stack, post-processing effect, custom renderer feature, or full-screen pass.

Adjust the project's camera and renderer-feature order, or feed supported snapshot values into a project-owned final UI when final-pass composition is required. Validate XR, render textures, dynamic resolution, custom projections, and manually rendered cameras in the real project.

Duplicate Overlays

Keep one overlay unless multiple camera-scoped overlays and their measurement/rendering cost are intentional. The bootstrap sample reuses configured or discovered overlays, including inactive objects, and never deletes pre-existing duplicates.

Package Tests

The package includes Edit Mode and graphics-enabled Play Mode tests under:

Tests/Editor
Tests/Runtime

With Unity Test Framework installed, add the package to the consuming project's testables list:

{
  "testables": [
    "com.azkarindustries.azkarscreenstats"
  ]
}

An earlier package tree produced a retained Unity 2021.3.45f2 floor result with 80/80 Edit Mode tests, 27/27 graphics Play Mode tests, ordinary sample import and compilation, 8/8 separately staged sample behavior tests, 44/44 checks from the retained Publishing Tools 0.2.1 validator, and 27/27 Development Test Player tests.

Those results are pre-release implementation evidence, not verification of the final 1.0.0 artifact or current release approval. Package tests do not establish support for every pipeline, graphics API, camera composition, or target device. See Performance And Platform Notes for the complete retained matrix and limitations.

Support Reports

Use the support page or the support channel supplied with the distribution through which you obtained the package. Include:

  • Package version and exact Unity version.
  • Render pipeline, target platform, and graphics API.
  • Editor, Development, or non-Development build type.
  • Relevant camera and renderer-feature setup.
  • The metric, visual behavior, or error involved.
  • A minimal reproduction, screenshot, and clean Editor or Player log where practical.

Remove confidential project or device information before sharing logs or captures.

License And Third-Party Content

Copyright © 2026 Azkar Industries LLC. All rights reserved.

Unity Asset Store customers are licensed under the Unity Asset Store End User License Agreement, unless a separate license is provided for another distribution channel. Local installation instructions alone do not grant usage rights.

Version 1.0.0 bundles no third-party source code or binary dependencies and requires no third-party attribution notices.