Are Object Pools and Serialization mutually exclusive?

I’m trying to create a grid of zones, such that when you exit a zone the state of the various entities in that zone are saved to disk, and when you return to the zone the entities are reloaded into memory from the file and their states more or less restored.

I’m vaguely aware of the concept of serializing game objects as bitstreams and saving that to a file, but I’m wondering if that can play nicely with object pooling. In other words, when a game object is deserialized, is it just as slow as instantizing a prefab, and if so, is it possible to use object pooling along with serialization somehow to keep the framerate high? My guess is they can’t be used together, but I’d like the community’s input.

My “Plan B” for this is to NOT use serialization, but instead save the name of the prefabs and a few key property name/value pairs to a text file. That that way when the game object is to be restored, I just need to pass the name of the prefab to the Object Pool to see if there’s an unused instance of the prefab laying around, and then set its key properties from the text file.

Any input is welcome. Thanks!

Anyone?