"Current memory usage" skyrocketed for no reason...what am I doing wrong?

Ever since I started my first UEFN map around a month ago, memory has been a huge problem for me. Yes, it is a very large and ambitious map, but the problems I’m running into don’t seem to be because of this. I’m not really sure how to explain it but I am desperate for help as I am so close to having this map published, so bear with me.

It’s essentially an XL island designed as a summer camp with 10 cabins and around 15 POI’s. The game starts as a 10-team deathmatch and switches to solo FFA around half eliminations in. No verse, all mechanics are done from devices. I did this to force myself to understand how all of the devices work before jumping into verse. I have streaming on, no HLODs built, and spent the past week or so optimizing everything to be under 100k since it’s pretty much ready for playtesting.

The initial spawn location where players choose their team is located off the island, far enough away to not add to the memory of any part of the island. In a normal situation, the initial spawn location is around 97k. When I start flying to the island, before the island actors spawn in but after the initial spawn actors despawned, it drops to around 81k, it being that high because of all the devices on the island. And at the island itself, it is also under 100k in all places. Albeit just barely.

But now, the initial spawn location is still 97k, but the space in between (that was 81k) is now 95k. And the island itself is up to 106-115k in most places.

So, the two weird things that don’t make sense with what I know about how memory works are:

  1. The base memory went from 81k-95k for what seems like no reason. No devices were added, or any object for that matter. The only change I know for certain I did was unchecking “Include Actor in HLOD” for all actors on the map, it was right after this that the memory increased.
  2. Even if the base memory increased, why would the initial spawn area still be 97k, the same as it was when everything was normal? It should also be around 110k if it truly is a base memory increase.

Here are some of the things I have tried:

  • Rebuilding and deleting HLODs
  • Deleting all devices
  • Deleting PostProcess volumes
  • Deleting custom assets (audio, graphics)

All of them lowered the memory, yes, but they did not get the map to where it was before. Before this all started going down, my map was pretty much exactly the same, and the memory usage was fine. This increase didn’t happen as a result of adding too many devices, which is why it has me so confused.

I was planning on submitting this for the summer map contest for Season 3, but more importantly I think people will really like the map and I’d be really bummed if it isn’t able to be published to be given the shot. If anyone knows why this is happening, I will be incredibly grateful.

Memory and Memory calculations can be very inconsistent in UEFN. I have had the same issue before and iirc I was told by a dev that the initial memory calculations were wrong and that the most recent calculations are more accurate. This is why memory is sometimes randomly displayed as higher and lower.

When you run a memory calculation you can see the cost of each actor in the message log. Hopefully you can figure out a way to reduce the memory in your map. It sucks but this is what we have to work with until we get access to the more advanced UE tools.

Thank you for responding, and that makes sense as disappointing as that is. Regarding the memory calculation, how do you see the memory of each actor? Whenever I complete it, it just lets me know if it failed/succeeded. The only place I heard to check is Tools>Project Size, but that doesn’t show every actor I don’t think.

Also, I noticed in Project Size that a good amount of memory is in “Shaders”. This wasn’t there the last time I checked, and I’m not sure where it is in the project.

Thanks for the help!

In the Window tab in UEFN, open the message log. Selecting “Memory test results” will display a detailed report for each memory calculation.

The Shader thing was added in a recent update I believe. I don’t believe this is an asset you can view or edit like some of the other project files. This shouldn’t affect memory though as project size is just for the Cook/Download size.

At the time I’m writing, memory is still very bugged. Happens often that when you push change / start&end game / restart the game, memory just goes up by 5k. Yesterday I had to delete bikes from my map, because the memory in the highest point were 106k, while originally it was 94k. The funny thing is that when you run memory calculation, the total amount shown on the log is the same as the one shown in game, but if you add up every actor memory shown, it’s way lower. It’s crazy to me that this bug is still here. I’m still pretty sure the memory on my island should be 90k, because sometimes it just randomly goes up. Sometimes, it goes down by itself when logging in a day after, but sometimes it does even go up. It’s an endless pain to work on a map like this, because for every move you do, you couldn’t be able to publish it.

3 Likes

Now it is almost a year later and this problem persists. I have seen way to many dev breaking bugs surviving this long. I do now have 98k memory on startup. After maybe 15 minutes or maybe a bit longer the memory spikes up to 105k even tho I have removed a bunch of stuff. The memory is not changing. It keep pendling between 96k and 105k. No matter what I seem to do. But if I’m fast enough, I can get the calculation to end up at 98k. The problem with this is that it doesn’t feel very stable or trustworthy if I need to update the map in the future.

This kinda seems funny, but the best method to fight this is to run memory calculation on a mobile device, where the rendering is obviously smaller and lighter, so, for some reasons, memory is basically the half the one shown on PC. Hope to see a new real memory system soon tho, cause this is clearly not the right way to calculate the performance of a project, we shouldn’t rely on the client rendering.

1 Like