Blueprint actor jumps to origin

I have a blueprint which is a static mesh root component with a trigger volume child. I have this blueprint in all 4 streamed levels. The levels cover the same area in space as they represent the same building under different lighting conditions. The levels are exact copies of each other (except lighting) so the blueprint in question has 4 instances, one on each level, at the exact same spot. (Like all other static objects.)

In-game (or in simulation) when I swap levels 3 of these blueprints jump back to the origin for some reason. And not just while the simulation/game is running, they stay there after the pie session, their transformation is lost. No idea why one remains untouched. It keeps changing which one, although the order of level swaps remains the same.

When the PIE session ends all levels are marked as dirty. When I attempt to open one of them then I get the popup asking me if I want to save the persistent level and the 4 streamed ones. I make sure I do not save the now broken levels. When I open one of the streamed levels, all by itself, it loads as dirty with that blueprint already in the origin. I have to open it again to get back it’s original, proper state.

I tried the “unload the first level then load the second” and the “load the second level then unload the first” streaming logic but it didn’t help with this issue.

The blueprint itself is pretty lightweight, it just alerts the game state entity when something is overlapping the volume component. Otherwise it was never meant to move, does nothing to its transformation or anything like that.

I’m on 4.6.1 binary.

I get this in 4.8. It seems to be something to do with hidden sub-levels for me but I haven’t worked out exactly what. I’ve had to fix the transforms on some of these objects multiple times

Thanks. I might give that a try. Sounds like a good workaround

Separating the representation and the functionality fixed the issue for me: now the static mesh is just a static mesh actor, placed like any other while the trigger volume and the related game logic resides in a BP instance. Doing this made sense and was quick so I never debugged the original issue any further.

would be nice to somehow fix the main problem without doing it though, I have the same issue and I cant dissemble my blueprints like that

What sort of a component is your root?

two of them is default root and one of them is sphere collision

You have the same issue with two blueprint classes? The root components, what types are they? (Scene component, static mesh component, etc.) What properties do they share? (“Both are static” for example.)

it has happened for 3 of my blueprints so far, 2 of them have default scene component and another one has sphere collision as root ( its an old one )

Almost all of my blueprints except some old ones ( like the one with sphere collision ) are made the same way and have default scene component. they are also movable.

but I have this problem with 3 of them so far, not all of them. TBH it feels SO random. however it happened a lot with the old one that I mentioned.

let me know if I’m explaining something wrong here ^^

Oh I see… Well, I hoped to find some kind of pattern, a shared feature between your blueprints and mine, but they seem to be rather different: my root was a non-movable mesh, yours are dynamic non-meshes. I’m sorry I can’t be of more help. :\

Thank you so much, ill try different kind of setup for my blueprints when I have more times and test it out.

Hope we can find an answer somehow

Is this actually something that is able to be fixed? Just having this behaviour in 5.4.1

Edit:
Just realized my problem was having different components in the blueprint which sometimes are set to stationary and sometimes movable objects. Setting all to stationary fixed the issue. They probably need to be all the same.