Legions does it something like this: There is $Pref::PrefVersion = #. When you need to do something like your case, you add to the updatePrefs function with another check. So in your case where they do not have it yet, you say if $= "", $pref::Video::unavailableTexturePath = then set their $Pref::PrefVersion to 1. Next time you would say if != 2.. change these things, then update their $Pref::PrefVersion to 2