EasyPerformanceMonitor is an in-game performance monitoring tool designed for Unity3d. With real-time monitoring of essential metrics such as FPS, CPU usage, GPU usage, memory usage and more, EasyPerformanceMonitor empowers you to optimize your application and game performance.
KEY FACTS In-Game Monitoring: In-game overlay that keeps you updated. Simple to Use: No complicated setup or technical knowledge required - just plug and play. Compatibility: Integrate with all Unity3d supported target platforms. Custom Data Extension: Extend your monitoring capabilities by integrating custom data.
INTEGRATION
Integrating the EasyPerformanceMonitor into any application or game, regardless of the target platform, is easy. Simply add the EasyPerformanceMonitor prefab to your initial scene, and you’re all set. We made sure the integration process remains straightforward, allowing you to focus on your core development.
PLATFORMS
All platforms Unity3d supports. Includes Mono and IL2CPP.
DOCUMENTATION
EasyLocalization is packed with plenty of manuals, scripting API reference docs, and demos, enabling you to dive straight into monitoring and optimizing!
Improvement: Separated performance data providing and rendering. This allows to subscribe to the performance data for custom interpretation. [Thanks Drew]
When upgrading: You might need to remove and readd the ‘Performance Monitor’ prefab to your scene if you run into issues.
Improvement: Added a new renderer property ‘PercentForMeanCalculation’ to set the percentage of last rendered values (default 60%) used to calculate the mean value. [Thanks again krakentanz]
Fix: The persistent singleton Monitor could produce an error: Some objects were not cleaned up when closing the scene. (Did you spawn new GameObjects from OnDestroy?)
With the release of 1.2.1, the code is ready for production. Since the feedback went so well last time, I’d be glad to hear some more about the production-ready monitor:
I am happy to announce version 2.0. It is a complete refactoring of the existing code and design thanks to your feedback and ideas Slashbot64.
Release of 2.0:
This version is a complete rework of the performance monitoring allowing a more appealing and optimized design. Please remove your old version before installing version 2.0 and above.
Improvement: Using of shader instead of vertices rendering through the OnGui methods. [Thanks Slashbot64]
Improvement: There is now an “bigger” monitor and a “compact” one, optimized for mobile usage.
Support: The machines current download and upload rate can now be tracked and monitored too.
QoL: Graph data can now be “rated” allowing different colors on reaching fixed thresholds.
QoL: Data fetching and rendering are now clearer separated allowing a more easy customization.
Improvement: You can now click through both monitors.
Improvement: The compact monitor now resized with the height of the device, instead of the width (better for mobile solutions).
Feature: A system/device information monitor window - The system info window presents real-time details about the current system, including device specifications, operating system details, processor information, graphics card details, and other pertinent data.
Feature: A log monitor window keeping you updated on Unity log messages - The log monitor showcases all Unity logs visible in the editor, offering real-time visibility into logs while the application is running or during the build process.
Breaking Change: Refactored the observer pattern between data providers and renderer, to allow a higher customization. If you wrote custom provider or renderer you need to refactor them.
Feature: Added a minimalistic monitor in two variants showing even more information on a smaller space.
QoL: The text renderer now has a new property ‘Render Pattern’, which allows you to easily set how the provided data and its unit are rendered.
Hello! This is a great plugin that will surely save our team a bunch of time, but unfortunately I’m unable to get it to work fully outside of the editor. When built to Windows or Quest, the GPU timing is always 0, and the CPU usage is always 100%. These screenshots were taken from “Demo_A_Scene - VR” with plugin version 2.3 in a URP project. I’ve added an additional screenshot of how the GPU graph looks in “Demo_B_Scene - VR”. Any help is appreciated.
Ah, of course, I should have mentioned that. I’m using 2021.3.24f1, and tried both development and release (with the dev-build toggle off on the Performance Monitor script)