My game runs my device so hot!! Is there a way to limit the devices processing?

Hey everyone,

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?

Thanks in advance,

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.

1 Like

ccp talked a lot about this with gunjack at a conference in california last year

basically strive to make your game as lean as possible

Thanks for the input, guys!

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.

Try setting t.maxfps to something lower, like 20 or 30.

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)?

You’d need to set it up when the game starts; maybe in beginplay for the main menu level or in the game mode (if single player.)

Okay gonna give this a try today and package it up. Thank you for the suggestion!!

@TLOA How did this go? Did it solve the heating issue? Are you running your game at 30fps now?

For shader complexity, should there be absolutely no red/pink/white?

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.

1 Like

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.

You can optimize everything but can’t control a device overheating because heat is a hardware issue.