<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.play.eco/en/index.php?action=history&amp;feed=atom&amp;title=Saving_and_Loading</id>
	<title>Saving and Loading - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.play.eco/en/index.php?action=history&amp;feed=atom&amp;title=Saving_and_Loading"/>
	<link rel="alternate" type="text/html" href="https://wiki.play.eco/en/index.php?title=Saving_and_Loading&amp;action=history"/>
	<updated>2026-06-04T00:57:59Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://wiki.play.eco/en/index.php?title=Saving_and_Loading&amp;diff=16601&amp;oldid=prev</id>
		<title>StalEF at 17:58, 1 April 2026</title>
		<link rel="alternate" type="text/html" href="https://wiki.play.eco/en/index.php?title=Saving_and_Loading&amp;diff=16601&amp;oldid=prev"/>
		<updated>2026-04-01T17:58:48Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 19:58, 1 April 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{ModdingOutdated}}&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Modding Tutorial: Save/Load ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Modding Tutorial: Save/Load ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>StalEF</name></author>
	</entry>
	<entry>
		<id>https://wiki.play.eco/en/index.php?title=Saving_and_Loading&amp;diff=7552&amp;oldid=prev</id>
		<title>Redwyre: Created page with &quot;{{ModdingOutdated}} == Modding Tutorial: Save/Load ==  === Steps ===   To do serialization, all that is needed is:    1. Add `[Serialized]` attribute to the class that will be...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.play.eco/en/index.php?title=Saving_and_Loading&amp;diff=7552&amp;oldid=prev"/>
		<updated>2021-07-04T16:38:32Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;{{ModdingOutdated}} == Modding Tutorial: Save/Load ==  === Steps ===   To do serialization, all that is needed is:    1. Add `[Serialized]` attribute to the class that will be...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{ModdingOutdated}}&lt;br /&gt;
== Modding Tutorial: Save/Load ==&lt;br /&gt;
&lt;br /&gt;
=== Steps === &lt;br /&gt;
&lt;br /&gt;
To do serialization, all that is needed is:  &lt;br /&gt;
&lt;br /&gt;
1. Add `[Serialized]` attribute to the class that will be serialized:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	    [Serialized]  &lt;br /&gt;
	    public class Door : WorldObject&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
2. Any primitive/simple members you want serialized, add the `[Serialized]` attribute:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	    [Serialized]  &lt;br /&gt;
	    private Vector3i zoneStart;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
3.  Custom classes (classes that you write that don&amp;#039;t inherit a base class) must also have a default, e.g. parameter-less, constructor.  Feel free to make this private.  Beware that this constructor will be called *before* loading, so don&amp;#039;t do anything that you don&amp;#039;t want done on load.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the member is a class, the serializer will recurse into it, so make sure to do these steps for custom classes you write.&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
&lt;br /&gt;
References to classes will be serialized in-place, meaning that if two classes reference the same instance of something, that something will be serialized twice.  This leads to two copies of the same object, which is likely not what you want.  Make sure when working with your own custom classes to remember that this is the case.&lt;br /&gt;
&lt;br /&gt;
For our internal classes, we provide a &amp;#039;Handle&amp;#039; classes that makes serialization a little easier.&lt;br /&gt;
&lt;br /&gt;
Here is a list of current handles and their usage:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    PlayerHandle playerHandle = new PlayerHandle(somePlayer);&lt;br /&gt;
    playerHandle.Player.Foo();&lt;br /&gt;
&lt;br /&gt;
    WorldObjectHandle&amp;lt;Door&amp;gt; door = new WorldObjectHandle&amp;lt;Door&amp;gt;(someDoor);&lt;br /&gt;
    door.Object.Foo();&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some handles also provide references to related types, such as PlayerHandle.User&lt;br /&gt;
&lt;br /&gt;
By adding `[Serialized]` to any of these types, they will be correctly serialized.  Make sure not to serialize Eco&amp;#039;s internal classes raw!&lt;br /&gt;
&lt;br /&gt;
[[Category: Modding]]&lt;/div&gt;</summary>
		<author><name>Redwyre</name></author>
	</entry>
</feed>