How to remove an infinite loop in a Blueprint

Hello,
I’m having a project in Unreal Engine 4.26. I’m using a plugin, which only exists for that version.

I have a rather big blueprint. Unfortunately I havent backuped it anywheren.

When editing it last time, I made a while loop and forgot to increment counter variable. So I have an infinite loop.
When compiling the blueprint, Unreal Engine froze. I waited maybe 15 Minutes and then closed it with the task manager.

I cant open the blueprint now, because Unreal Engine freezes every time. I have to take it out of the project for the project to even start. When adding it back, I cant open it, without Unreal Engine freezing.

I cant be the only one, wo had this problem at some time at least.
I tried to edit the blueprint file from a text editor, but there are only a few characters, that are readable for me.

How do i remove that infinite loop? I know which function it is called in, so maybe delete that function in the blueprint file (via text editor)? Or is there a way to open the blueprint without running it? Maybe there is a online tool to edit it?

In case there is a solution which contains me editing the blueprint file in a text editor, I need help to understand, what to delete exactly.

The ConstructionScript calls a custom function Construct, which contains the while loop. So hindering the ConstructionScript from calling that function should let me open the blueprint in the Blueprint editor, no?

1 Like

Hey @ullriche!

That is some odd behavior, you should not be prevented from opening your blueprint as your loop should not run unless it is in the level/you are in runtime. How is this implemented? Have you removed the blueprint from your level? What happens if you export the blueprint to a separate project?

Any additional specifics you provide may go a long way in solving your problem!

Rename the first occurence of UserConstructionScript to something else of the same length, like UserConstructionBLAHHH. This should transform existing construction script into a custom function that won’t be called on load, and an empty construction script should be regenerated.

I’m working with the Plugin CARLA. It is build from source. The way you start the editor is with using make commands. I havent worked with Unreal Engine before that, so I’m not sure, why it is running the script when trying to open it.
I changed the scene and added the Blueprint back. When trying to open it, Unreal Engine froze again.
I loaded a different map first, which doesn’t contains the Blueprint, but I get the same result. I’m not 100% sure, why it crashes/freezes. When the compiling took so long, I tried to remeber, if I had increased the counter variable. Since I cannot remember increasing it, I guessed, that that is the Problem. But maybe it is something else?

Before the Blueprint gets to the loop, I use some static meshes. Would it help, if I removed them, so that the Blueprint cannot find them? Maybe then it would never reach the loop, but would still be editable.

Thanks for your reply!

I have 1 occurence of UserConstructionScript. I renamed it to UserConstructionBLAHHH, but when I add it to the Project (via Windows explorer), I get the following error: LogAssetRegistry: Error: Package <Absolute Blueprint path> has malformed tag. When renaming it to UserConstructionScripp (last t is a p), I get the same error.
Do I have to define that UserConstrucionScripp somewhere else as well? Somewhere maybe, where function names are defined?

This is odd, what are you editing with ? Try using a hex editor instead of a random text editor.
Also what do you mean with adding to project via windows explorer ? I’m talking about editing the .uasset file directly.

Thank you! Using a Hex Editor solved the problem.
I installed a Hex Editor Extension for Visual Studio Code.
It has a Hex Side and a “normal” side.

I used the normal side to change the Name from UserConstructionScript to UserConstructionBLAHHH.

What I did then was to add it back, before starting the editor.
Earlier, I would always remove the blueprint file, start the Unreal Engine Editor, and add the file back by going the the folder using the default Windows Explorer. It would only appear in the editor, if I hadn’t changed UserConstructionScript. Otherwise it would throw that error mentioned above.

So, thank you Chatouille for the solution. Also thanks to Quetzalcodename for helping.