Frame hitch from Blueprint compilation during runtime

I am trying to track down the cause of what appears to be blueprint recompilation during runtime. The Insights screenshot is taken from a trace of a Windows package build, (some class names were redacted).

Spread throughout the trace there are multiple hitches occurring of this form with various blueprint being compiled. I didn’t see any themes connecting which blueprints were appearing. With the strangest instance being a PLA Blueprint.

Any ideas as to why this would be occurring in packaged builds? I would have expected Blueprints to have all been compiled during cook time. Also I haven’t seen this occurring on PS5 package builds so maybe it’s a platform configuration issue?

[Image Removed]

Hello, I’m surprised to see CompileClassLayout in that insights capture because FKismetCompilerContext::CompileClassLayout() is in an Editor module which should not exist in packaged game builds. Can you share the command line arguments with which you created this windows build? For example, the RunUAT.bat command line parameters you used.

Thank you. I’m still puzzled that a build made with these UAT arguments can contain BP compilation code since that should be excluded from the build type. Can you send the full Insights file? We will need that to further investigate. Consider making the case confidential before uploading it.

I don’t consider our time wasted. I’m glad our questions helped with realizing the error. I’m glad you found out the source of confusion!

Yes, here are the command line args from the log. A couple of notes. I removed some paths for privacy. And also the path for unrealexe says ue4 but this is just a legacy holdover from our build system.

Parsing command line: -ScriptsForProject={path to uproject} BuildCookRun -nop4 -project={path to uproject} -cook -prereqs -fileopenlog -stdout -clientconfig=Development -unrealexe=r:/ue4\Engine\Binaries\Win64\UnrealEditor-cmd.exe -targetplatform=Win64 -unattended -build -UTF8Output -nocompileeditor -stage -archive -archivedirectory={temp archive dir} -package -pak -crashreporter -manifests -ini:Game:[/Script/Engine.AssetManagerSettings]:bOnlyCookProductionAssets=False -AdditionalCookerOptions="\"-DUMPALLWARNINGS -abslog={path to log file}\""

Actually we managed to find the issue, and it came down to a bad configuration on our part. :downcast_face_with_sweat: Sorry to waste your time. But it was helpful to get confirmation that it was weird, so thank you.

The trace I was looking at was generated by a gauntlet test. And the test was configured with the EditorGame GameRole instead of the Client role. I am guessing that means it runs with the editor executable instead of the package build one. Our PS5 tests were running the gauntlet test with the Client role which is why it didn’t appear there. Switching the role back to Client appears to have fixed the issue.