[Bug] Placed BP Actor with BP component causes level be unsaveable

Running 4.7.2 on windows 8.1. In editor I have a level and an actor placed in level. This is a BP actor which in turn contains a BP component. Every time I modify component I get this message:

32429-capture.png

This is extremely frustrating. I have to remove component and readd it just to store level. After a few modifications it happens again. I can provide project as a repro if needed.

.

Hi TommyBear,

Does BP referenced as BP component in your BP Actor contain a reference to BP Actor? It’s possible there’s some circular dependency issues happening here. Are you able to reproduce this in another BP Actor in a new project?

Ah good point… I’ll take a look

Well BP Component does have a public, editable property for an actor, however this is set at runtime. It is not something which is set at design time.

This does not work as a work-around unfortunately. issue is still present when I save :frowning:

If you set BP Component before runtime, does same thing occur?

This was fixed in main with this commit. bug that was tracking this is labelled for integration into 4.7 branch for 4.7.3, but it has not been integrated yet. I will try and make sure that it makes it in.

Hi TommyBear,

I haven’t heard back from you in a while, so I’m resolving this post for now. Please feel free to respond with information requested, and I can continue looking into it for you. Thanks!

Not sure what you mean by that exactly :wink: This is really hard to repro unfortunately.

You mentioned that BP component has an editable property for Actor that is set at runtime. If you set it before Playing, does same bug occur? Also, were you able to determine if there was some circular referencing going on (BP component references Actor BP it resides in)?

Just to clarify the; Actor (A) contains a component (C). Component (C) has a property (P). Property (P) can then be set at runtime to an actor (B). Actor (B), does not exist in level, until it is spawned. Property (P) denotes a target actor for camera component (C) to follow at runtime. error is being was being emitted from Actor (A). Somehow it thinks that component (C), which it has a reference to, is external. I haven’t been able to reproduce this error, but it was terminal, when it happened. Had to delete actor and start again.

There was no circular reference.

Oh wow… yeah! How does one show entire description of a commit on github website? But yeah that smells like issue!

.

I’m afraid that’s all there is to description, but it’s referencing a bug I put in not too long ago based on this post:

Turns out having an Event Dispatcher in a BP component in an Actor placed in level will cause level not to save. Is that situation you’re having? Try pulling any Event Dispatchers out of your component and see if level saves with that Actor in it.

aha! This might be it! Thank you very much peeps!