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.