Like the topic title says, the majority of the unreal games I run on my devices (galaxy note 4 and galaxy s7) run it incredibly hot.
I’m curious if I could limit the processing at the expense of a lower frame rate? I’d rather have my game run at 30 fps than have the phone melt in my hands :0.
If it could be a toggleable option, even better!
Or is this something I need to do on the devices OS side?
I’ve found that the more graphic intensive processes you have in your game, the hotter the battery gets.
Try using mainly unlit materials.
Don’t use a dynamic light, make it static.
Look at Shader Complexity and make sure it’s as dark red as possible. If you see pink/white, that is really bad, especially on a mobile.
How many particles are you using? Are they unlit?
How much are you rendering? Are your draw calls really high?
I struggled to keep my game running at 60fps because my phone kept overheating (S6) and dropping down to 50-45 until I did the above. Also, make sure you’re testing in Shipping and not in test. You can’t bring up your FPS counter, but you can usually tell if it drops below 60. This runs without any of the debugging features and generally runs faster.
Hey there. Wanted to raise this post from the dead and see if there has been any significant progress in your mobile game to stop overheat. Here in the year 2023, I am still having the same issue. In accordance with the post above, I have reduced a lot of my shader complexity, converted most lights to static, reduced all textures that I could to the smallest possible size (without sacrificing too much quality to make it look like garbage), converted pretty much all of the major mats to unlit, constrained a lot of the world particles to the player camera (i.e. when it’s snowing or raining, its only happening in a small area around the player), and I mean the list of optimizations go on and on and on.
Sometimes my maps are running pretty cool, but other times it’s literally burning my thumb on my test Galaxy s23 ultra (and earlier/lesser models). Am i missing something?
I have heard that you can optimize animations and skeletal meshes, but i don’t even know how to start that process. Any support would be helpful. I am creating my own post on this topic as well, but wanted to start here.
Thanks for the reply. would this be a console command entered directly into the engine that would stay during a build, or do i need to implement this in the level BP (or somewhere in a blueprint)?
I see this question pop up again lately. Devices often have their own built-in safety when the processor or another part runs too hot at which point they slow down or turn off. It isn’t at all good that a device heats up to that point and no guarantee of safety. In case of hot batteries, I’d be worried. The thing is, it’s not up to the software developer to fix this, you can’t. It’s a hardware flaw that will differ per device that you can do nothing about. You can simply not guarantee a device will not run hot. Even if you had general access to one or more temperature sensors of just any device that would run your software, it would be pointless to say “the sensor says it’s 90C on the CPU, let’s slow down to a crawl”. It’s up to the device to handle that and differs per used hardware components.
Thanks Roy! So you think there is no real point in me optimizing my game into the ground? At this point i have my textures all at 512×512, everything set to lowest minimum lod, particles spawning and optimized, animations optimized, skeletal meshes at lowest LOD, foliage culled, all static meshes instanced/culled, materials optimized, baked lights (and very few), very little pink/white in shader complexity (mostly particles), game user setting default to low, screen percentage at 50%, nothing hidden in widgets/few bindings, created device profiles, used the profiler/frontend to troubleshoot/eliminate trouble spots, max fps set to 30 or lower, all sub-levels hidden, and this list goes on and on. Every single one of my test devices heat up, not just one. I thought i had found the problem when i switched out my foliage and landscape material for a more optimized type, but alas, still my devices are heating. I would understand the hardware perspective if it werent happening across multiple device types, including a galaxy s23 ultra, pixel 6, moto edge, galaxy a51, and and a one plus Nord. Also amoung these phones are some tablets with similar specs. I feel that i have enough devices to say with surety that its more likely my game that is heating than the hardware. It is making me literally nuts and im running out of ideas to make this work. In fact, it appears sometimes that the only sure way to make the devices not heat up is to just package an empty project.
If anyone is still here in 2025, I spent a lot of time optimizing my game, as indicated by other posts on this thread. I had stripped to the bare minimum and could not get anything to work. Texture sizes were astronomically low and everything (and I mean EVERYTHING) was optimized. My game scalability settings were perfected, some settings even taking the frame rate to below 30 fps.
I finally broke through this curse on day that I was working on my character BP. I noticed that as the blueprint grew in size, it would take longer and longer to compile.
On a hunch, I started collapsing logic all over the place. Whole groups of nodes, dedicated to certain things, all became a single node. To my surprise, the BP would now compile much faster, almost instantly.
So, I went through my entire project, looking at BPs with a ton of logic, and began collapsing chunks of logic down to single nodes. One that seemed to help tremendously was my HUD.
I compiled everything and built out my game to test, deploying both as sideload and from the play store. The game now runs flawlessly with no heat on milder settings, and very little warmth on max settings. The battery drain is practically eliminated as a result of this.
Hi! I just read this now and im having the same troubles. I have it all optimized, my game is low poly, 40k prims on screen max 120k ( thats nothing still i guess ) and memory usage was cut to 1.3GB. MY phone heats up in 2 minutes and i guess FPS lowers by 15 because of the hardware limitations due to the heat. Do you have any suggestions on what i should do ? It heats up in every level, the more complex and the simple levels.. And im kind of on the edge of giving up as i spent 2 years developing this in my free time and now that its finally almost ready im having this heating troubles.. And i have a Samsung note10+ with 12gb ram and 2 octa core cpus.. i dont even dare to try this on some random mid phone.. Please if you have any idea what helps the battery drain im all ears.. thank you so much!
As a developer it’s incredibly important to collect feedback from the software before making modifications. Often you can get feedback from logs, UE console commands (Stat …), hardware monitoring, hooked debug monitoring (memory, network usage etc.)
Only then can developers pinpoint the issue aka bottleneck, as one bottleneck k*lls the performance of the entire system. It’s the weakest chain. If you don’t identify the bottleneck through logged data, you are optimizing with little effect.
This bottleneck is important to identify in your current situation because random optimizations don’t get rid of the direct problem. On the software side, through methods mentioned, you can figure out what parts of the code cause the problem, before you attempt to fix them, re measure, and repeat optimization.
On the hardware side, I mentioned that some problems like heat (battery, CPU heat mostly) are actually a hardware problem. This could be a problem with the cooling method or the electrical circuit of a specific device entirely and it’s out of your control. Devices should also implement their own safety guards against overheating and such. Often that results in devices reducing their processing speed or shutting down in attempts to operate within their own “safe” specs.
The thing is, everyone runs different hardware. It’s not just a matter of how fast their device is. How it’s built affects how hot it becomes. A bad hardware model won’t run properly, and a developer doesn’t have access to all models to test them. Feedback from users to the developer can be useful, but can’t guarantee a fix for hardware problems.
Referring to the above I wrote, other devices (your customers) might not have the overheating problem. It can just be your device.
I half agree with Roy. I have purchased test phones like crazy and most of them heat up terribly, while others only mildly. Playing “high graphics” games that are way more detailed than mine dont heat up at all.
The main things i found to help this were:
colaping BP graphs (some how cuts down on CPU, don’t ask me how)
low poly is good. This should be coupled with manual LOD overrides. For example, i set the lods for all of my assets to 3, looked for any that looked terrible, and gave them a boost to 2
Making ALL texture sizes as low as possible. PAY ATTENTION TO THIS ONE.
Cut back on shader complexity as mentioned above. No red AT ALL in shader complexity analysis. you might have to get your hands dirty making some new materials here but it is worth it.
Optimize all animations (this is arduous but start with rate optimization. There are great forums on all the things you should do)
Turn off tick in EVERYTHING. i literally have tick on in only 2 BPs that are widgets and used rarely
Hide everything that is not in frame. Freeze rendering on a PC and you see this is done by default. Freeze render on an android and you will see the entire world is rendered. Turn off visibility on characters, objects, particles and deactivate animations etc. You can put a bounding box on your character that unhides and resumes anims as you approach. This sounds crazy, but trust me, i spent years on this and found all of this out the hard way
if you have foliage, no matter what kind, CULL, CULL, CULL, CULL!!! - it is all rendered even when not in the frame.
any and all particles you use that you didnt create yourself and optimize are not optimized at all. Break them down until they look good but use 98% less of the resources they used before you started.
There is so much more but this covers the biggest things.
Check out my game. I start it on MAX and is gets a tad warm but then cools right off. Put it on mid or low and there should be no heat.