Bad actors reset their transforms in streaming levels

I’ve occasionally made some mistakes while making blueprints. Sometimes I forget to hook up a pin or something that prevents it from compiling. This causes it to become “Bad”. If actor is visible, this isn’t a problem. If actor is in a streaming level that isn’t visible, transform has a tendency to reset to a location of 0. Typically rotation isn’t affected.

I would like it so that any blueprint derived from Actor will always remember its transform no matter how screwed up blueprint is.

Hi awilliams1701,

I wasn’t able to reproduce this behavior in 4.7.0. I created an Actor BP, dropped it into a Streaming Level, and made it so BP wouldn’t compile. Actor still appears in editor, without a “Bad” flag on it, and it loads when level streaming volume is entered as expected.

Which version of engine are you using? What steps can you we take to reliably reproduce this in a new project? Thanks!

Its happened on every version including 4.7. was your streaming level marked as not visible? Visible levels seem to be ok, but invisible levels seem to have issues.

Unfortunately I’m struggling to recreate this in a new project. It may be because my project has over 12 streaming levels. I do know I have a fencing blueprint that I borrowed from samples. I modified it and during one of times it failed to compile most of them reset to origin. ones that did weren’t loaded and ones that didn’t were loaded.

I have Initially Visible disabled on level, and during play nothing is loaded until I enter streaming volume. Then all actors in level are loaded in correct location, including uncompiled BP actor.

Does this happen with any other BP actors, or only your modified fence BP? Does it always happen with that particular asset, including in a new project? If so, you can and attach .uasset here and we can take a look at it.

Does it only happen with child Blueprints of custom classes?

That’s simplest one it happens to. It also happens on my characters. I have a lot of them derived from a main class. If main class gets screwed up when I add functionality it tends to reset most of them that weren’t visible.

I also have an inventory pickup class. It has many children as well. It hasn’t reset on me until recently.

I don’t know about fence. But most of actors that get reset will be completely replaced by a sprite that says “bad”. However even when I did that on a new project it didn’t reset unloaded one.

Today I’ve altered my workflow. If I screw up a class, then I reload main map. This seems to be working so far.

Not sure what you are . Some of them were created by creating a new blueprint actor. Others were created by creating a child blueprint from a parent blueprint.

I think I’ll hold off for now. I’m kind of busy on my own project anyway. If I get bored maybe I’ll make a copy and try to force it to happen. I just really don’t want it happening to live project. Each time it happens I have to reposition everything.

That’s it =) Just trying to narrow down cause.

My only guess at this point is that a BP got corrupted along way (perhaps fence BP you mentioned), and it’s affecting your project. I’ll try to set up a more elaborate test using more streaming levels with more actors in it to see if it makes any difference. Otherwise, without a reproducible test case, there isn’t much we can do, unfortunately.

If you feel comfortable sending me a download link for your project, I can see if I can get a developer to look into it (though it may take some time, as GDC is next week and many devs aren’t in office during that time).

Sounds good, just let us know if you do. I’m going to resolve this post for now, but go ahead and post here if you decide you’d like to pursue it. Thanks!

This just happened to me in Unreal 5.2 – still a problem.