Mit PmPrefs Speichern und Laden so einfach wie nie zuvor.

Wer in Unity schonmal (ohne PmPrefs) speichern musste, weiß wie komplex das werden kann.
Hier gibt es verschiedene Methoden, wobei eine ganz klar heraussticht.

Speichern mit den PlayerPrefs von Unity.
Es ist schnell und mit jedem System kompatibel.

Hierbei gibt es allerdings ein paar Unschönheiten.
– nur 3 speicherbare Typen (string, float, int)
– keine Anzeige bzw. Auflistung der Variablen ohne weiteres möglich
– Werte können nur über Code angepasst werden
– Werte werden im Klartext gespeichert
– kein Export/Import

Genau hier kommt PmPrefs ins Spiel.

Nie war es einfacher zu Speichern! Glaubst du nicht?

PmPref.Save("Name", Variable);

Dabei kannst du alle .NET objects speichern! Also z.B.: Bools, Listen, Dictionarys, Arrays, usw…

Aber wenn das Speichern so einfach geht, ist das Laden bestimmt komplex, oder?
Nein, es gibt nur einen Unterschied:

PmPrefs.Load<Type>("Name");

Gesehen? Genau!
Man muss beim Laden den Type mit angeben, also z. B.: „int“, oder „List<string>“.

Und warum ist das jetzt sooo besonders?

Weil PmPrefs weiterhin die PlayerPrefs von Unity nutzt und somit alle von Unity unterstützte Systeme unterstützt.
Das auch ohne besondere Rechte auf dem jeweiligen Endgerät.

Warum sollte man denn gespeicherte Variablen verschlüsseln wollen?

Dafür gibt es verschiedene Gründe. Zum Beispiel kann man so Passwörter auf dem Gerät speichern, ohne das diese im Klartext auf dem System zu finden sind.
Stell dir einfach mal vor, jemand schreibt eine Online Banking App für Windows und würde das Passwort mit den PlayerPrefs speichern, dann wäre dies in der Windows Registry im Klartext hinterlegt.
Nicht sehr gut, oder?
Ein anderes Beispiel wäre da die Spieleentwicklung.
Nehmen wir an, ein Spiel hat eine Weltrangliste, welche anhand von verdientem Gold (oder irgend einem anderen Punktesystem) gefüllt wird. Da könnte der Spieler auf die Idee kommen, den Wert einfach zu verändern und sich den anderen, ehrlichen Spielern gegenüber einen unfairen Vorteil zu verschaffen. Besonders bitter ist das, mit einem InGame Payment-System, und die zahlenden Spieler dadurch, zu Recht, verärgert werden.

Genau hierfür gibt es bei den PmPrefs die Verschlüsselung.

Ok, das klingt gut! Aber was hat es mit dem Export / Import auf sich?

In jedem Projekt kommt der Moment… sollte er zumindest…, in welchem man die Funktionen testet.
Auch hier wieder ein Praxisbeispiel: In einem Rollenspiel mit 20 Stunden Spielzeit, ist der Entwickler gerade dabei den Endboss und dessen Verhalten zu gestalten. Nun möchte man aber nicht immer ganz von vorne anfangen, sondern sich einen Speicherstand kreieren und diesen immer wieder laden können. Das ist ja auch nützlich, wenn man an mehreren Sachen arbeitet, um den Stand zu ändern. So kann man z. B.: erst den „Endboss-Export“ laden und hier Testen, danach aber den „TutorialEnde-Export“ Stand laden und dort weiterarbeiten, bzw. Testen.

Das ist echt viel! Woher weiß ich denn, wie genau das alles funktioniert?

Dem PmPref Asset liegt natürlich auch eine Dokumentation bei, in welcher alles erklärt wird.
Keine Angst, es ist wirklich sehr simpel gehalten und nach ein / zweimal anwenden habt ihr den Dreh auch ganz ohne Dokumentation raus!

PmPrefs von ProjectMakers, ist in Unity aktuell die beste Methode zum Speichern und ein Muss für jedes Unity-Projekt.

[su_button url=“/produkt/pmprefs“ style=“soft“ background=“#262626″ size=“4″ wide=“yes“ center=“yes“ icon=“icon: shopping-cart“ desc=“Ein Produkt in unserem Assetstore“]Hier gehts zum Asset[/su_button]

Ps: Nicht nur Variablen wollen gespeichert werden, auch euer Projekt sollte immer gespeichert sein, dafür findest du hier etwas passendes.