The engine was sometimes crashing when I closed it, so I took a look at the logs and found this:
[2026.02.11-02.15.26:335][ 0]LogStreaming: Display: Flushing package /Game/JacksonsBlueprints/Dungeons/MysteryDungeon/Actors/Modules/BP_Module_Square (state: CreateLinkerLoadExports) recursively from another package /Game/JacksonsBlueprints/Dungeons/MysteryDungeon/Actors/Modules/Test/BP_IterativeModule_Tunnel (state: CreateLinkerLoadExports) will result in a partially loaded package to avoid a deadlock.
I was reading a post here: Variable default value set to PLACEHOLDER-CLASS - #4 by Light_Shock with an insightful comment suspecting that the PLACEHOLDER-CLASS issue was essentially due to a deadlock when trying to load the referenced actors resulting in a placeholder, likely due to circular references.
So I went through my reference viewer for the problematic asset and started to look for circular references:
I fixed a bunch of them, frequently saving and restarting the editor to see if anything had changed, and after fixing the one shown above (I basically just had to clear the default settings of one of my blueprint structs–it contained references to an actor which referenced the corrupt blueprint) I was able to save and reopen the blueprint and have my changes to the problematic blueprint save without any reverting issues.
TLDR: Blueprints reverting to PLACEHOLDER-CLASS or issues with Structures repeatedly breaking on editor restarting (sometimes marked by an engine crash when you close the editor) in my case was due to CIRCULAR REFERENCES causing a deadlock when trying to load the referenced classes. This was NOT an issue in 5.4 – it only started happening in 5.5.
