Unreal Engine 4.7 Preview

I’ve been playing with new blueprint components, but as of 4.7 preview 8 I can no longer save a map that contains actors that use one of these components after making any modification to component.

In case that’s unclear, I started off with a project (in 4.7 preview 7) where I added a few blueprint components and some actors to a level using that component. I updated to 4.7 preview 8 tonight and made a modification to component. Now I’m getting error:

[]
Can’t save …/…/…/…/…/…/Users/ExpiredPopsicle/Documents/Unreal Projects/MBattle/Content/SideScrollerBP/Maps/SideScrollerExampleMap.umap: Graph is linked to private (s) in an external package.
External (s):
FactionComponent_1
FactionComponent_69
FactionComponent_0

Try to find chain of references to that (may take some )?
[/]

And then after trying to continue, shows up in editor errors:

[]
Warning Can’t save …/…/…/…/…/…/Users/ExpiredPopsicle/Documents/Unreal Projects/MBattle/Content/SideScrollerBP/Maps/SideScrollerExampleMap.umap: Graph is linked to external private (unknown culprit) (unknown property ref)
[/]

I have project in version control and committed my changes last night before update, so it’s pretty easy to test different things by reverting once it breaks…

Loading up project and…

  • moving stuff around: Saves fine.
  • adding new instances of actor that uses component: Saves fine.
  • modifying an actor that uses component (without touching component-related properties): Saves fine.
  • adding a second instance of component to actor: Saves fine.
  • modifying a variable exposed by component on an actor: Saves fine.
  • modifying replication property on component: No longer saves.
  • modifying component’s event graph: No longer saves.
  • adding a variable to component: No longer saves.

Finally, I played around with a new project a bit and found that any case where I modified a blueprint component after adding it to something and to map it would exhibit behavior, but I could work around it if I deleted component from every actor type that used it and re-added it (even if there were already actors of that type in level). Deleting component and re-adding it to actor type works, but deleting actors of that type and re-adding them does not.