Possible to edit a blueprint outside of the editor?

While programming a blueprint I made a mistake and included some sort of loop that crashes unreal every time I open it. I am able to open the project, but I can’t load any levels that have the blueprint in it, and I can’t edit the blueprint to remove the destructive pieces. Is it possible to remove pieces of a blueprint from outside the editor? I Know which node it is I just can’t remove it currently. If I can’t edit blueprints outside the editor is there anyway to fix this problem?

Sanity check 1: Are you using version control? If so, you may just want to revert to an earlier commit.

Sanity check 2: Do you make periodic backups? If so, you may just want to revert to an earlier backup.

If sanity has failed us today, then here’s what you do: :wink:

  • Go to your Content folder of your project and find the YourBlueprintName.uasset file and delete it.
  • Open your project, which should complain about a missing blueprint, but not crash.
1 Like

What happens when you go into a level, that does not have the blueprint? If I remember correctly, you should be able to open the Blueprint in a level that doesn’t have the blueprint (heck make a new level, and switch to it).

you can also rename the blueprint in the content folder, give it a new file extension, UE4 editor looks for the “uasset”, change that, and it will not be loaded. This will allow you to create a new level, in which you know the blueprint is not located. Then close the UE4 editor, rename the blueprint back to have a file extension of “uasset”, reopen the editor, and attempt to edit at that time.

Levels without the blueprint run fine, but once I open the blueprint editor it crashes. The problem is that the blueprint generates meshes infinitely, so when the editor is opened the same thing happens in the viewport.

Ok, thinking, I accidently put in a infinite loop, and had to finagle things around the other night (teach me to stop coding before 4am! lol)

Something doesn’t seem right here. It’s true that the blueprint editor, will “compile” the BP, when it’s loaded, if it sees that the BP is “dirty”. Yet if there is nothing in the level, to cause it to run, it will not do that.

Ok, is the graph for the blueprint that is generating the meshes being called from the “construction” graph/script? If it is, this is going to be trickier.

Yeah, it is in the construction script. How much worse is that?

The thing is, with it being in the construction script, it’s always going to be called. This makes one go slightly insane here.

  1. If the blueprint is not in the level, there is no reason to invoke it. It may be “compiled” (term used loosely), if it’s dirty, but there is no reason for it to “run”, without a the calls being in the level itself.

  2. yet for some reason with your set up, it is being invoked, or you wouldn’t have the inifinite loop. Hmmmmmmmmmm

ok, is the blueprint, being invoked from Gameplay, or all Level Blueprints?

Here are two things to try…

  1. Create a brand new BP based project, with the exact same level of UE4, as the failing project.
  2. Copy over the Blueprint asset from the failing project to the new project, into the same “content folder” structure as you have in hte failing project ( you don’t have to do a “migrate” so long as the two UE4 projects are at the same level of the engine)
  3. Bring up the new project, and see if you can edit the blueprint in the new project

The new project can be any of the standard templates that Epic distributes, doesn’t matter which one. We just need a new enviroment.

For future googlers: (from https://forums.unrealengine.com/development-discussion/blueprint-visual-scripting/54811-how-to-prevent-execution-blueprint-s-construction-script-when-i-am-opening-it-for-edit)

Try setting your Maximum Loop
Iteration Count in the Project
Settings/General Settings/Blueprints
area to 0, instead of the default
100000

If that works, fix your problem code
and then return that setting back to
the default.

@jayice yep, 4am stuff… :smiley:

4 Likes