In their general stylish fashion, Epic has given to the UDK community the directions to fully save levels in UDK…about a year after we needed them. Forget my months of agonizing work trying to figure out a decent save system and go to this article instead. You will be rewarded with a whole bunch of code that’s pretty much plug-and-play.
What this allows you to do is save everything: the map you were playing on, pawn positions and orientations, and the stats of pretty much every dynamic object in the level. This data is serialized (written) to a file in JSON format, which is not particularly safe. But you can modify the code to use much safer binary files, .bin, instead. With this in mind you should still use my system to save global player data (which, as part of the game backend and not the level, will likely not be serialized). You can also use my system to learn the basics of save games since it’s much simpler and easier to understand.
So what can this be used for? Yeah, it’s kind of a stupid question…but just in case you’re lacking inspiration, you could use this for a checkpoint system. The player reaches a checkpoint, the level is saved, the player quits. When the player reloads the game he spawns in the exact place he left off, and any previously dead enemies stay dead. Nifty.