At Arm, we believe enabling developers to build performant, energy-efficient experiences on our CPU and GPU hardware requires collaboration across the entire developer ecosystem. That is why we are thrilled to announce our collaboration with Unity on the release of the new Unity Profiler eBook for Unity6.
The eBook is a comprehensive guide to optimizing performance across many platforms and devices.
We worked closely with Unity to ensure that developers targeting Arm-based Android devices have access to platform-specific insights, best coding practices and the tools they need to analyze and fine-tune their applications. Together, we help game creators deliver high-quality, high-performance content. This allows them to take full advantage of Arm’s underlying hardware capabilities.
Arm contributed detailed guidance to the eBook, summarized below, on how to use profiling tools from Unity and Arm to assess and optimize performance on mobile devices powered by Arm CPUs and GPUs. This includes profiling workflows that use tools from both Unity and Arm’s Performance Studio suite.
To improve rendering performance, developers should start by locating frames with high GPU loads. Profiling starts with Unity’s Frame Debugger to trace draw calls from the CPU. Then use native platform profilers, such as Arm Performance Studio, to pinpoint what the GPU is doing under the hood. This step-by-step approach helps expose rendering bottlenecks and inefficiencies early in development.
Arm recommends a robust toolset for developers working on Android:
By combining Unity’s tooling with Arm’s low-level analysis capabilities, developers can build a full picture of where their frame time is going. Whether it is the CPU command stream or GPU shader execution.
To maximize efficiency on Arm GPUs like Mali and Immortalis, we provide actionable tips such as:
These techniques help developers make informed trade-offs between visual fidelity and performance, especially on battery-sensitive mobile platforms.
Download the new Unity Profiling e-Book for Unity6