Doesn’t look like you’re storing UObjects so it should be fine (maybe not best practice, but still fine).
The problem is definitely that assignment operation:
// Save equipments
CharDetails.EquippedItems = EquipmentManager->EquippedItems;
Maybe Equipment Manager is null at that point so EquippedItems is trash? No idea, you’re going to have to add some defensive coding (nullptr checks, size checks, etc) and see if anything hits.