I’m able to repro my first error very easily in a clean project. Since I believe the two instances might be related, maybe start w/ these repro steps in a clean project and we can go from there? Here they are:
- Create a new blueprint class that just has a cube static mesh (so you can see it) and a RamaSaveComponent. Leave default settings on everything.
- In the tick function for this new class, just simply call “GetComponentByClass” searching for a Sphere Collision Component and print out the value like I’ve done here. This is simply to demonstrate whether or not there is still a valid pointer to a Sphere Collision Component on this actor (which we will add later…but not yet!).
- Place an instance of this new blueprint class in your level by dragging/dropping it into the level.
- Add a Sphere Collision Component to this new actor in your level. That is specifically to say, DO NOT add the Sphere Collision Component in the base blueprint class. This bug only surfaces when you add the component AFTER placing it in the level on the actor instance.
- Setup some simple events to save/load the level.
- Launch the level. You should see a bunch of debug output referencing that Sphere Collision Component.
- Save the game. You should still see the debug output.
- Load the game. Now, debug output is no longer there because it can’t find the Sphere Collision Component on the actor.
Please let me know if you can’t repro and I’ll just record a video instead I hope this helps track down the issue! I can try to find clean repro steps for the other instance where this bug popped up, as well.