If you’re like me, when you designed your PatrolRoute class, you didn’t see any reason that you would ever want to set your patrol points in the Blueprint. Logically speaking, it wouldn’t make sense, you want a blueprint that can move from level to level, so referencing actors specific to a level would be a disaster… So, I declared my array as
UPROPERTY(EditInstanceOnly, Category = "Waypoints")
This had the expected behavior, that I could edit Guard 1 and Guard 2’s waypoints (Steve and Harry, if you named them like the video), but you can’t edit them in blueprint.
So… when I applied Guard1’s settings to the Blueprint, just like in Ben’s example, it put Guard1’s patrol route into the blueprint patrol route, and I dutifully tried to save and got the same very ugly “you can’t save this because of references” error… only… where Ben just went into the Blueprint and deleted the offending waypoints, they simply weren’t there for me…
Solution? I changed the UPROPERTY on the TArray
UPROPERTY(EditAnywhere, Category = "Waypoints")
then compiled within Visual Studio. When the compile finished, I headed back into Unreal, where it tried to save again (it likes to save all when you recompile, which is why I needed to compile within VS). I chose don’t save and it finished the Unreal part of compilation.
Badabing, Badabang, I was able to remove the offending waypoints, save, change the header back the way it should be and breath a sigh of relief.
Probably took the long way around just saying "if you find you can’t remove the waypoints, make sure you’re UPROPERTY is set to EditAnywhere.