mepihin, причем тут PlayerPrefs и реестр?
Кстати, сохранить с переносами можно так
StringWriter stringWriter = new StringWriter(new StringBuilder());
XmlTextWriter xmlTextWriter = new XmlTextWriter(stringWriter);
xmlTextWriter.Formatting = Formatting.Indented;
document.Save( xmlTextWriter );
return stringWriter.ToString();
Не пойму какой смысл создавать нод таким образом document.CreateElement("BlockSet")
Если все равно его вручную нужно добавлять в иерархию.
А по другому XmlNode не создашь.