A true puzzle game shouldn't have to worry about save versioning issues because I don't expect to be updating the levels.
Thus I am not going to bother manually assigning a unique ID to every unit and just use an incrementing ID.
For the sake of testing during development if the total number of units changes then I'll wipe the save file.