How can I get rid of the "Failed import for ObjectProperty" warning?

Using 4.8.3. We’re currently cleaning up a prototype project for the next prototype step. That means we can remove a lot of existing Blueprints but still want to keep some existing ones.

One of our removed custom components keeps popping up in a “Failed import for ObjectProperty” error when opening the editor. It appears to have no effect on the game itself, but it’s certainly annoying.

When doing the cleanup, in a first step I removed all references to the CombatComponent in other Blueprints and submitted the changes. Then I removed the component from the LP_Character (and its child class) and only then did I remove the CombatComponent itself. (I committed these two changes together.)

When I next reopened the editor after that, there were a few error messages about some other components referencing the component that I really wouldn’t have thought had anything to do with it, but I compiled and saved them. Then I committed the changes and afterwards, the errors were gone.

However, I’ve been completely unable to get rid of the error for the LP_Character itself, no matter how often I resaved and recompiled it (with or without actual changes to the Blueprint). I also tried saving and re-submitting all maps (though the Character was never initially placed), LP_Character’s child blueprint, the GameMode (spawning the Character) and AIController (possessing it), and committed the changes. Nothing I did made any difference.

Obviously, I’ve closed and reopened the editor a couple of times. Opening the editor in a separate check-out shows the same message. Deleting the Intermediate/Saved directory also had no effect.

FWIW, the LP_Character implements two interfaces and is used pretty much everywhere in the project. The ContentBrowser lists two C++ classes but they’re both experimental and aren’t actually used in the game itself. The project started out a pure Blueprint project, so the LP_Character Blueprint class is directly derived from the Character class. (I still tried recompiling the project, which predictably didn’t change anything.)

We’ve managed to remove another component (also on LP_Character) without any such problems.

After spending some more time trying to fix this, I eventually ended up reverting the Character class back to a state when it still had the CombatComponent (and the component still existed). I then played around some more.

It turns out the correct way to get rid of a component is to just use Force Delete to remove it from any of its owning actors.

Doing anything else meant the Character kept a reference to the component in its Variable list after I had already removed the component and even after I had deleted the component with Force Delete. This is completely counter-intuitive. In fact, it was the big warning that made me make sure to remove it from Character before deleting the component itself, but that was what caused this mess.

I’m leaving this here as an answer in case it helps anyone else.

Also check out this answer here: Failed Import : Array Property - Blueprint - Epic Developer Community Forums it may help in similar situations.

Thanks. This seems helpful. It seemed like they just enabled “instance editable” on the variable in-question.

Most of these seem to be related to the blueprint macro library/blueprint function library, for me (like it can’t find some object, even though navigating to the object/variable proves that it is there).

This seems related to a delegate calling a blueprint function library/blueprint macro library (especially, which involves a pure cast of an item) directly, from an event graph or similar area on a blueprint. These must be “checked” on editor open and fired just like the event tick on the anim BP is always running in the background, in realtime, when an ABP is opened. It must be a false positive, as it has never actually caused me an obvious issue related to those “unloaded” objects.