I’ve written a system which parses the function flow of a number of custom function nodes which are called by a BlueprintImplementableEvent. This data is stored whenever I click on Compile, which I’ve setup to trigger a save on success. This works great and the expected data is stored in the blueprint.
However, the editor crashes whenever I construct an object of the same class as the one I’ve compiled during the same editor session. After a restart of the editor the object is constructed as expected without no issues. But as soon as the object is modified and saved, the same types of crashes related to corrupt/cleared properties occur within: FObjectInitializer::InitPropertiesFromCustomList()
I would prefer not having to restart the editor each time I modify the graph.
##The setup looks like this.
void UMyObject::PreSave(const class ITargetPlatform* TargetPlatform)
{
Parse();
Super::PreSave(TargetPlatform);
}
The Parse() function simply executes some setup code, and then calls the BlueprintImplementableEvent which in turn calls each connected function, parsing a graph which gets stored in the object.
##Now to the question.
Is there any better (and more stable) preferred way of saving data to the object during save?