I originally posted this problem in General but am moving it over here as this discussion board is more specific to my problem. The original thread can be found here: Original Thread Link. Original Thread tldr; The Goal: We are targeting the WebGL platform. It is a 3D game with what I think is a moderate amount of 3D assets. Ideally this game could be played on a Chromebook, or other similar low-spec hardware, in a classroom setting. We are using Unity Engine 2019.4.20f1 The Issues: Framerate fluctuates between 50 and 15 fps. I have been unsuccessful in using the profiler to find the underlying cause. Things I Have Tried: I have tried creating/profiling builds in which known-high poly 3D assets have been deleted/disabled. I have tried creating/profiling builds in which no Nav-Mesh agents were active. I have tried creating/profiling builds with baked lighting. Removed scripts that generated garbage. When the above changes were made, framerate improved slightly, but the fluctuations did not stop – i.e., with fewer assets the framerate didn’t drop to 15 as often but did still drop severely and regularly. The large spikes in the middle of the Profiler and the second half of the Profile Analysis are from WaitForTargetFPS and occured when the browser window that was running the game was minimized. I think they can be ignored? Since Posting I have tried using the Profiler Analysis Tool to further investigate what is going on. Between the Profiler Analysis and the Profiler, I get the impression that my options are: Reduce the number of assets that need rendering. Stop using Cinemachine. Upgrade to a newer version of Unity. I feel like those are my options because based on the Profiler it looks like rendering operations are the most expensive by a large margin. It looks like there might be some possible improvements to be made with Animators, UI elements, or Nav-Mesh objects, but I’m not sure how much of a difference that would actually make. If anyone can see something that I am missing, please let me know!