FPS laggin drastically from 60 FPS to 7 FPS because of my Blueperint???

Hello Pattym,

I am not sure if you saw all of the images but in the beginning I had the Dyn Mat set to the conveyor material in the node and was told to not call it. Either way hasn’t made any difference…because I still get the error. Your advice on the Spawn Mover sounds promising and so does the creating a separate even/function for the animated material…but…wouldn’t it still be moved on “tick”…I mean isn’t that the time or how the values know when to update/change? How would you set it up so that the conveyor belt appears to be animating with the speed of the animation being controlled in BP? I have watched all the tutorials that I have found online and haven’t found any different than the way I have it. Any ideas please share.

Okay, so I tried to follow your advice Pattym but I can’t say if I followed it correctly. I created a video of the outcome. First video shows the blueprint and the components simulation and the second shows the error message and the lag. Any thoughts?

Hey James0x0A,

I tried what you suggested. … well I created it anyway and am going to try it in the level…but would you connect it by replacing the original ForEachLoop or would you put it somewhere else in the chain? This is what I created based off what you showed me.0b488840756a7a8b77a6b5583b8e0f8ad72df701.jpeg

Hey GameHatcher, I checked out the video and I don’t think I explained myself very well. Here’s a few images of what I mean which will hopefully explain what I mean.


You would replace the existing foreach loop of your conveyor movers… You loop through and destroy the components that are at the end as you are doing now and then remove them from the array. This is safe because it iterates in reverse.

My follow up

I created a video to show what I did using your suggestions and james0x0A’s suggestions. I feel like I am missing something…I can’t seem to get that error to stop occurring.

Also, can you tell me why the custom event didn’t work? If it is more efficient to get the tick out of there I would like to do it.

I have some good news. I know whats causing your issue. :smiley: The bad news is I don’t know how to fix it and to me seems like a bug. :frowning:

It appears that when ever a box component is destroyed it also immobilizes the box component following it. I say immobilizes as it’s still there but doesn’t move and becomes invisible. To compensate for this you need to spawn in more box components to make up for the ones that become immobilized. This is where your issue comes in, because these components don’t move they never reach the end to get destroyed meaning they stick around. This causes a build up of components most of which you can’t see and won’t move hence the lag. :S

I’ll keep looking into it to see if I can figure out a fix for you.

I think I’ve figured it out. The build up seemed to be an issue with the way you check the location of the component to see if it needs to be destroyed, because of this I decided to try a different method of spawning in the box components and destroying them when they need to be. For this I used a box at the start for the conveyor and one at the end. I initial spawn a conveyor piece at the start trigger and as soon as it leaves it spawns in another one. (you could add a delay to this if you want to space them out) I then have them get destroyed when they get to the end trigger. This seems to fix the issue with lingering components. :slight_smile: See below for the blueprint set up.


Hello Pattym,

I have noticed that you are far more advanced than I am in your understanding of BP creation. While trying to follow your example I have run into more than 1 issue. The first being your process for generating the invisible boxes to be used to move the static mesh boxes down the conveyor belt. I haven’t been able to recreate what you have made here because some of the nodes you use don’t exist and I don’t know how to create them. The “Set Box Extent” node for instance isn’t a standard node in BP. I created the Spawn Mover Function but haven’t gotten much farther than that because of the "Set Box Extent issue. Also, I noticed that you are using a Float variable to generate the conveyor size? How will the size of the actual Static Mesh Conveyor be calculated just by using a float variable? I really want to try your suggestions because none of my own have fixed the issue, but I guess I just need a little more clarification on why and what you are doing in the example or how you’re doing it. Can I see an image of your Components setup, that may better help me visualize what is connected to what?