After the Fortnite 39.00 update , all of my AI-heavy islands that use custom npc_behavior scripts combined with NPC Spawner devices began experiencing extreme server instability by causing delays during the elimination process. These islands were 100% stable for over a month prior to 39.00 with no Verse changes on my side.
The delay that occurs when the NPC is eliminated is what causes this lag in maps from what I seen
Please select what you are reporting on:
Unreal Editor for Fortnite
What Type of Bug are you experiencing?
Devices
Steps to Reproduce
Create and Use a NPC definition on an NPC spawner device
Create a verse code that has functions linked to the NPC spawner device
(such as .DamagedEvent() )
Link it to the verse device
Make a PV code, have at least 2+ people in that island and continue eliminating the NPC
Expected Result
When eliminating the NPCs in the long run of a server, no delay should be expected
Observed Result
When eliminating the NPCs in the long run of a server, it will take 2-3 second to actually regsiter and play the animation of the eliminated NPC.
This issue is affecting my map (1316-2698-6957) as well.
Players are reporting the lag can be usually found in servers with at least 60 minutes of session time, which makes me think it could be a garbage collection issue.
I notice that UObjects steady rise on the server when spawning and destroying a lot of NPC’s with behavior scripts. Memory usage increase on client. Maybe it has something to do with garbage collection. As the problem here starts happening after a certain amount of time and npc’s spawned. Even when using default behavior it has a problem but its less severe.
It 99% has to do with garbage collection.The more enemies spawn / die, the worse it gets.
In my map, if I join a server with more than 100 minutes, chances of it lagging are high, but what makes me think it’s a GC issue is the fact that if you speedrun non-stop for the first 20-30 minutes (therefore making spawn/die way more enemies than in a normal public server) the lag appears before, instead of the classic 100 mins