-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathChange Log.txt
253 lines (215 loc) · 16 KB
/
Change Log.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
3.5.17
- Changed referencing so that in most cases it will find any reference manager if it can't find one in the relevant scene and outputting a warning when this happens.
3.5.16
- Moved methods in ES3.cs inside of DISABLE_ENCRYPTION define so they are also stripped accordingly.
3.5.15
- Resolved issue where a scene not in the build list could cause the Prefabs window to fail to open.
3.5.14
- Resolved issue on some versions of Unity where the Editor would throw a harmless MissingReferenceException after removing an Easy Save 3 Manager.
3.5.13
- Resolved issue where adding a manager to scene or enabling Auto Save would throw a NullReferenceException.
3.5.12
- References in DontDestroyOnLoad are now added to the first available reference manager rather than requiring it's own manager.
3.5.11
- GameObjects and Components are now added to their scene's reference manager when using additive scenes.
- Resolved issue where enums were incorrectly generated in ES3Types due to the type list not being initialized intermittently.
- Resolved harmless bug where an ArgumentException is thrown when trying to add scene which has already been added to scene manager.
3.5.10
- Resolved issue where loading a value with a dervied type using caching would cause it to be loaded as it's parent type.
3.5.9
- Added support for Unity 6.
3.5.8
- Separated Add References to Mgr into Add References to Mgr and Add Dependencies to Mgr.
- Resolved issue where references were added to manager when Auto Add References was disabled as Component was created in scene.
- Resolved issue in some cases where Optimize would not remove cached references to deleted objects.
- Resolved issue where creating an ES3Type for an object which has generic collection field with an element of the same type as itself would cause a stack overflow in certain edge cases.
3.5.7
- Removed legacy dependency-gathering code which requires the UnityEngine.UI library.
- Resolved issues where ES3UserTypes aren't added to the reference manager on occasion.
- Reference managers are now no longer merged when using additive scenes.
- Worked around bug at Unity's end causing the Auto Save window to throw errors on Unity 2021.
- Resolved issue where ES3Prefab would throw an ArgumentException for writing the same item in the localToGlobal Dictionary.
- Resolved issue where saving primitives using PlayMaker actions with caching would cause a format error.
- Worked around issue with PlayMaker where assigning NULL to a GameObject invalidates the type of the FsmVariable.
- Made a change to ES3Cloud so that an error is manually sent when misconfigured servers reject POST parameters but continue to execute the PHP script.
- Resolved issue where priority of built-in types conflicted with user-generated types.
3.5.6
- ES3GameObject Component is now automatically moved to end of Components List to ensure that it's loaded after the Components it references.
- Resolved merge issue where cached data was being stored with it's generic type rather than actual type.
- Resolved issue where private members of inherited types wouldn't be saved in specific circumstances.
3.5.5
- References are now gathered when saving a scene and when changes are made in a scene, not when entering playmode.
- Added option to refresh reference managers in all scenes (Tools > Easy Save 3 > Refresh References for All Scenes).
- Added option to exclude references from being added to the manager (right-click > Easy Save 3 > Exclude Reference(s) from Manager).
- Added GetColumnLength and GetRowLength methods to ES3Spreadsheet.
- Resolved issue where enums would cause a FormatException when they were fields of a class with an ES3Type.
- Worked around Unity bug where initialisation events are sometimes not called when importing Easy Save.
- Worked around Unity bug where GetDirectoryName fails to work with a path to a file.
- Auto Saves are now processed in order of their position in the hierarchy.
- Resolved issue where members would be serialized twice when it was marked as ES3Serializable in both concrete and base classes.
- Worked around Unity bug where Unity would throw an error when trying to set a scripting define symbol for Stadia.
- Accounted for change in 2022.3 LTS where Unity have fixed a typo in their Editor API ("ToolbarSeachTextField")
3.5.4
- You can now enable Assembly Definition Files for Easy Save by going to Tools > Easy Save 3 > Enable Assembly Definition Files.
- Accounted for edge case where ES3File would be merged rather than overwritten, preventing keys from being deleted from the stored file.
- Resolved issue where reference collection can cause an InvalidOperationException (Collection was modified).
- Worked around bug with Unity Runner Template which prevented Easy Save types from loading.
- overrideSprite is no longer saved when saving UI.Image as Unity now returns the Sprite rather than null when this is unassigned.
- Resolved issue where Auto Save's events sometimes did not update when changing the active scene in the Editor.
- Resolved issue where saving a non-prefab instance GameObject with multiple Components would only save one of those Components.
3.5.3
- Attempting to save a Material with a RenderTexture will now throw a warning indicating that the RenderTexture won't be saved.
- Added filtering by tag in the Auto Save window by prefixing 'tag:' to the search query.
3.5.2
- Resolved issue where RectTransform was loaded incorrectly as parent is deserialized before anchoredPosition.
- Removed warning regarding Transform parents being set using the accessor rather than the SetParent method.
- ES3.CopyFile now automatically creates the target directory if it doesn't exist.
- Added an option to encrypt/compress raw cached data if the setting is defined for the cached file (postprocessRawCachedData).
- 'Add References to Manager' now permanently adds prefabs to the manager if 'Auto Add Prefabs to Manager' is enabled.
- Assembly names are now in alphabetical order so changes in order aren't registered as a change in version control.
- Using 'Add References to Manager' on a folder now adds all supported assets in that folder to the reference manager.
3.5.1
- Reverted changes to LoadRaw methods when using Cache as it caused regression issues.
3.5.0
- Added support for NativeArray.
- Managed case where ES3.EncryptBytes/DecryptBytes encountered an encoding issue.
- Worked around Unity bug where invalid assembly list would cause issues when exceptions are disabled.
- Worked around bug at Unity's end where unloaded scenes are returned by their methods.
- Resolved issue where scripting define symbols were overwritten on older versions of Unity.
- Worked around bug where inertia tensor value is rejected even when set as it's default upon loading.
- Most Material properties can now be saved, including custom properties.
- When saving a parent GameObject, children automatically have their parent set to the parent GameObject rather than loading this value by reference.
- Support added for Tuples.
- Added overload for AppendRaw which accepts a string and a filename.
- Worked around Unity bug where EventType.Layout isn't called when moving tabs for first time, causing Types pane recent types to be uninitialised.
- Worked around Unity bug which infrequently prevented Auto Save changes from persisting.
- Added ES3.Compress and ES3.Decompress methods.
- Performing 'Add Reference(s) to Manager' for a Texture2D will also add it's Sprite if one is present.
- Classes without parameterless constructors can now be serialised (note that their constructor will not be called).
- Resolved issue where an unloaded scene warning was thrown when scene is open but manually marked as unloaded in the Editor.
3.4.2
- Resolved issue where Unity Visual Scripting defines were not present on some versions of Unity.
3.4.1
- Added support for Particle System Bursts
- Resolved issue where Auto Save would sometimes save all Components regardless of settings.
- Resolved issue where Auto Save icon would not highlight when fields are selected.
- Structs with private properties or fields can now be serialized.
- Loading a blank string from a spreadsheet now returns a blank string rather than null.
- The reference manager will only collect references up to 3 levels deep to improve performance.
- System.Random support has been dropped due to Unity's implementation changing, making it non-serializable.
- ES3Ref is no longer stored twice for ScriptableObjects.
- Added support for Numerics.BigInteger.
- Internal fields of the ES3AutoSave Component are no longer displayed in the Editor.
- If a reference ID for a Component exists, it now ignores the GameObject ID so that a new GO instance is not created.
- Added a Get Streaming Assets Path action for Playmaker.
- Added non-generic versions of the ES3Spreadsheet methods to work around issue with Bolt.
- Worked around issue with Bolt where it would crash if you have two methods with the same parameters but one is generic.
- Resolved issue where Components marked as destroyed but not yet destroyed would cause unexpected behaviour.
- Auto Save will now work for additive scenes.
- Resolved issue where reference manager wasn't automatically updated when scene was open additively prior to runtime.
- Support added for Unity Visual Scripting.
3.4.0
- Caching now works seamlessly between Cloud and Auto Save.
- Added Save Multiple and Load Multiple actions to enable saving multiple specific variables at once.
- Added extra overloads to the ES3.LoadString method.
- Guids are now natively supported.
- Transform now stores the sibling index.
- Getting a timestamp for a file in cache which doesn't exist now returns a zero timestamp.
- Resolved issues where enums would sometiimes not serialize correctly when creating an ES3Type script for a class.
- Resolved issue where DownloadTimestamp PlayMaker action would download the wrong data.
- Resolved issue where reflection does not recognise a collection of a nested type as a nested type.
- Resolved issue where ES3Cloud was merged with the debug branch.
- Resolved issue where Sprites with atlased Textures would save an incorrect Rect.
- Resolved issue where ES3Spreadsheet was serializing primitives as objects when using PlayMaker actions.
3.3.2f7
- Type data is now stored when using ES3.Serialize<object>.
- Worked around issue where Unity would return an incorrect number of assemblies.
3.3.2f6
- ES3Spreadsheet now correctly serializes object types into a CSV file.
- Resolved issue where an object[] containing primitive types could not be loaded in some situations.
- Worked around issue where PlayMaker wouldn't initialize variable before it's value was reset.
- Created a workaround for some situations where Unity creates new instances of ScriptableObjects in Assets at runtime.
- Resolved issue where Base-64 encoding option would not work with newline option in PlayMaker SaveRaw action.
3.3.2f5
- Resolved issue where scripts were not overwritten by Asset Store importer, causing Easy Save to be unstable.
3.3.2f4
- Resolved issue where Save action for PlayMaker could return NullReferenceException due to using the wrong ES3.Save override.
- Worked around IL2CPP bug where reflection would not find particular ES3Types on iOS
- Resolved issue where trying to store an empty/unassigned PlayMaker object would throw a NulReferenceException.
- Keys of a type which no longer exists in the project are now automatically removed
- Abstract types used in an ES3Type will now work as intended
3.3.2f3
- Added GameObject variables to Auto Save
- Resolved issue where Sprites would be loaded with the incorrect pivot.
- Resolved issue where Stacks were loaded in reverse.
- Added a 'quality' field to the ES3.SaveImage method to allow the quality to be specified when saving JPEGs.
3.3.2f2
- Added method which allows raw bytes to be uploaded via ES3Cloud.
- Worked around issue where File IO was called on platforms which don't support it
- Accounted for situations where Component should evaluate to null but doesn't
- Updated PlayMaker actions to work around issue where global variables sometimes go missing
- Objects with the NotEditable hideFlags can now be stored by reference
- Worked around Unity bug where it fails to deserialize data when Prefab mode is open
- Resolved issue where global 'Save GameObject Children' settings can take precedence over Auto Save settings
- 'Enable Easy Save for Prefab' context menu item now works when multiple objects are selected.
3.3.2f1
- Resolved issue where Components on prefabs would sometimes not be added to the reference manager.
- Resolved issue where reference ID was read unnecesserily, causing format exception.
- Resolved issue where child prefabs would not be recognised by manager.
3.3.1p12
- Resolved case where certain references would not be added to manager.
3.3.1f11
- Fixed issue where using ES3.CacheFile with an encrypted file could fail.
- Fixed issue where Directory.GetFiles cannot process a full path on certain configurations.
- Accounted for case where HideFlags are changed during build process.
- Added a timeout parameter to the ES3Cloud constructor.
- ES3.Serialize and ES3.Deserialize now work with encryption and compression
3.3.1f10
- Full support for projects which use multiple scenes at once.
- Added ES3.Encrypt and ES3.Decrypt methods.
- Supported saving the active state and FsmVariables of PlayMaker FSMs.
- Added edge case for SkinnedMeshRenderers which use LODs to ensure that all meshes and Materials are added to the reference manager.
- Ensured that Auto Update References setting is ackowledged when first adding manager to scene.
- Moved menu items into Tools/Easy Save 3 menu.
- Using LoadInto will now assign the loaded reference ID to the object you're loading into.
3.3.1f9
- It's not possible to add an ES3ReferenceMgr to your scene directly, ensuring that initialisation code is performed.
- Compressed files can now be cached.
- Ability to only add prefabs directly referenced by your scene to the manager.
3.3.1f8
- Caching is now enabled by default for Auto Save, significantly improving performance.
- Added ES3.LoadString method so you do not need to provide all parameters to use the defaultValue overload.
- Resolved case where SaveAll would not correctly save some types of array.
- Resolved case where global references would not be acknowledged.
3.3.1f7
- Serialization depth limit has been raised to account for projects with deep hierearchies
- Fixed issue where Easy Save 3 Manager could not be found for scenes which had not been saved.
- Resolved issue where Add Reference(s) to Manager would not dirty scene when Auto Update References was disabled.
- Improved Editor performance by accounting for situations where post-processing events would be called multiple times.
3.3.1f6
- Internal fields of the UnityEngine.Object class are hidden in the Types pane as they are not serialisable.
- Accounted for edge case where unassigned script is returned by GameObject.GetComponents().
- ES3Settings constructor now accepts any settings enum (e.g. ES3.Location).
- No longer throws warning when multiple scenes are open.
3.3.1f5
- Updated PlayMaker actions.
- Provided workaround for issue where IL2CPP stripper removes methods which are marked to not be stripped.
- Performance updates.
3.3.1f4
- Improved performance when gathering references for reference manager.
3.3.1f3
- Added Cache as a storage location, providing a much simpler way of caching data.
- References can now be added by right-clicking the object and going to Easy Save 3 > Add Reference to Manager.
- Floats and doubles are now stored with full precision.
- Assorted bug fixes.
3.3.1f2
- Added compression, reducing file size by 85% on average when enabled
- JSON is now pretty printed (formatted) by default
- Added attributes to control serialisation
- Private fields in inherited classes are now stored
- Added search capabilities to the Auto Save window
- The way in which GameObjects is saved is now more flexible
- The reference manager is now updated whenever playmode is entered
- Null values in the global manager are now automatically removed
- Fixed issue where default settings were not applied properly
- Fixed issue where ES3Types would be stored in Easy Save root rather than in Assets/Easy Save 3/