1 Hour Ago
Replace ServerUpdateBots with a PersistentObjectWorkQueue In a test of 500 bots on the server (about baseline on an empty server) this was taking 0.25ms because it looped over every entity, every frame. The internal logic is time gated so it would only actually check/modify 5-15 each frame WorkQueue is budgeted at 0.05ms and goes through as many as possible in a frame within that window As this might result in some bot colliders temporarily being the wrong size for a frame or two I've added manual forced collider size updates when a player state changes that we are otherwise checking in the update process (mounting/dismounting/wounding/crawling) to minimise any delays