Hotspot

A versatile, open-source package designed for Unity, providing key functionalities for conducting performance analysis related to rendering.

Project Overview

Introducing the Hotspot Package, a powerful toolset for game programmers to analyze rendering performance and identify bottlenecks. In the world of 3D applications and games, particularly in the realm of virtual reality (VR), optimizing performance is crucial. The Hotspot Package aims to highlight areas that may hinder performance, enabling developers to make targeted improvements and achieve faster results. With its comprehensive metrics and optimization insights, this package is a valuable asset for maximizing efficiency in game development.

My Role

During my internship at Rhinox, I actively contributed to optimizing a client's project by implementing custom windows, adding features, and creating valuable tools to the Hotspot package.


One of my notable contributions was the Rendered Material Analysis tool. It captures a snapshot of the camera view, retrieves visible materials and shaders, and provides insights on occurrences and keywords for performance optimization.


I also developed a comprehensive tool for previewing and optimizing LOD (Level of Detail) groups. Users can adjust parameters and automatically assign smooth LOD transitions for improved rendering efficiency. To aid, I created a scene view overlay displaying real-time metrics related to LOD-groups.


Additionally, I designed a Vertex Density Heatmap feature using custom post-processing effects. It visually represents vertex-screen density, helping optimize resource allocation and rendering efficiency. For this, I also created a gradient texture generated. Any generated gradient, can be used for the heatmap.


These contributions highlight my proficiency in optimizing performance and developing impactful tools for game development, demonstrating my ability to identify optimization opportunities and enhance overall project quality.

Key Features

I will only be mentioning the features I directly implemented.

Release

The package is released through openUPM.

Links

Reflections

Through my experiences, I have gained extensive knowledge in optimizing performance and creating impactful tools for game development, significantly contributing to my growth as a developer. Additionally, I had the opportunity to delve into the fascinating realm of custom shaders, which sparked my interest and further expanded my skill set. Furthermore, I explored various techniques to customize the Unity Editor, including developing custom windows, editor extenders, and utilizing the rendering debugger, allowing for a more tailored and efficient development environment.

Media