I am not familiar with boost::serialize, but remember Textures reside in video memory, so you can't really serialize their contents. You would have to serialize the identifiers you use to load the textures (filenames or strings or whatever). I am sure boost allows you to define your own serialization routines for a class. Or probably easier: just use the string serialization that boost provides.