Every time a character model is parented to the Workspace, a significant lag spike occurs, freezing the entire game momentarily. Upon inspection using the MicroProfiler, the spike consistently originates from the Main/Render thread and specifically from the BuildSkeleton step, which takes an abnormal amount of time to complete (approximately 782.384ms). This severely impacts performance and occurs every time a character is added.
Steps to Reproduce:
Create a basic place with no extra scripts or heavy assets.
Insert a character model.
Parent the character to Workspace either via script or manually during runtime.
Open MicroProfiler (Ctrl + F6) and observe the timeline.
Expected behavior
Parenting a character to Workspace should not freeze the game. The BuildSkeleton step in the rendering pipeline should complete within a few milliseconds at most, not nearly a full second.
Roblox seems to trigger a costly BuildSkeleton process on the render thread, which shouldn’t be taking anywhere near 782ms, especially on a solid rig like yours. That frame stutter is coming from internal bone/rig setup likely being done all at once instead of deferred or optimized. Since you’ve already narrowed it down in MicroProfiler and reproduced it cleanly in a fresh place with no heavy assets, it definitely looks like something broken on Roblox’s side rather than a dev mistake. Your repro steps and system specs are super helpful too—hopefully someone from the engine team sees this and flags it for optimization.
Does this only happen on Rigs with Humanoids? I tend to load and unload Models in workspace which can cause a lot of lag/delays when rendering.
This only happens in the main client, in studio, the map gets loaded instantly and players get despawned from LoadCharacter instantly, but on client it takes more than 20 seconds just for the map to load and then players to be despawned.
Hi, just checked, it happens when anything in workspace is modified, either a new instance or an instance being removed. also i realized it has something to do with the map, if i delete all the buildings it stops, im not sure why this happens though… all the meshes are optimized and the map is about 5M tris… (the map i have in the previous game version which is running right now is 10M tris and it’s not laggy at all, there’s no problem with “BuildSkeleton”)
EDIT: The lag was caused by the buildings being parented to folders rather than models, it’s still a roblox issue though because it started lagging just after the latest update, there were no issues before.