You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+64Lines changed: 64 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,6 +19,69 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
19
19
20
20
21
21
22
+
## [3.0.0] - 2023-07-07
23
+
24
+
This release introduces support for addressable scenes.
25
+
26
+
There are breaking changes to settings. Please visit the settings page and re-apply all your settings as soon as you update.
27
+
28
+
### Breaking Changes
29
+
-`SceneGuidToPathMapGenerator` is renamed to `SceneDataMapsGenerator`.
30
+
-`SceneGuidToPathMapGenerationTriggers` is renamed to `SceneDataMapsGeneratorTriggers`.
31
+
- Settings changes:
32
+
- Scene GUID to Path Map (new name Scene Data Maps) category:
33
+
- The category is renamed from `SceneGuidToPathMap` to `SceneDataMaps`.
34
+
- Key of the `GenerationTriggers` setting is changed from `SceneGuidToPathMap.GenerationTriggers` to `SceneDataMaps.GenerationTriggers`.
35
+
- Key of the `JsonFormatting` setting is changed from `SceneGuidToPathMap.JsonFormatting` to `SceneDataMaps.JsonFormatting`.
36
+
- Key of the `FailBuildIfGenerationFails` setting is changed from `SceneGuidToPathMap.FailBuildIfGenerationFails` to `SceneDataMaps.FailBuildIfGenerationFails`.
37
+
- Property Drawer category:
38
+
-`ShowInlineSceneInBuildUtility` setting is renamed to `ShowInlineToolbox`. The key is also changed from `PropertyDrawer.ShowInlineSceneInBuildUtility` to `PropertyDrawer.ShowInlineToolbox`.
39
+
- All exceptions are moved from the `Eflatun.SceneReference` namespace to the new `Eflatun.SceneReference.Exceptions` namespace.
40
+
- Following valiation properties are removed from `SceneReference`. They are instead replaced with a more informative `State` property. See the _Added_ section.
41
+
-`IsInSceneGuidToPathMap`: removed.
42
+
-`IsInBuildAndEnabled`: removed.
43
+
-`IsSafeToUse`: removed.
44
+
-`HasValue`: no longer public.
45
+
-`SceneReferenceOptionsAttribute` changes:
46
+
-`Coloring` field is renamed to `SceneInBuildColoring`. It still controls the same cases of coloring, but they are no longer all the coloring options. See the _Changes_ section.
47
+
-`UtilityLine` field is removed. Its replacement is the `Toolbox` field. See the _Added_ section.
48
+
49
+
### Added
50
+
-`SceneDataMapsGenerator` now also generates a scene GUID to address map. The map will be empty if addressables support is disabled.
51
+
- New map generation triggers:
52
+
-`AfterPackagesResolve`: Triggers after packages are resolved.
53
+
-`AfterAddressablesChange`: Triggers after addressable groups change.
54
+
- Property drawer can optionally color addressables scenes differently to draw attention to them.
55
+
- New inline utilties:
56
+
-`Make Addressable`: Makes the scene addressable.
57
+
- New settings:
58
+
- Addressables Support (`AddressablesSupport`) category:
59
+
-`ColorAddressableScenes` setting: If enabled, scene references that have an addressable scene will be colored differently.
60
+
- An info box that displays the current addressables support status.
61
+
- New exceptions:
62
+
-`AddressNotFoundException`
63
+
-`AddressNotUniqueException`
64
+
-`AddressablesSupportDisabledException`
65
+
-`SceneNotAddressableException`
66
+
-`SceneGuidToAddressMapProvider` class: Provides a map of scene GUIDs to their address. Very similar to `SceneGuidToPathMapProvider`, with the exception that it cannot provide an inverse map. This is because the address of an asset is not guaranteed to be unique. Instead, it provides `GetGuidFromAddress` and `TryGetGuidFromAddress` methods.
67
+
-`SceneReference.FromAddress` factory method: Creates a `SceneReference` from the given address.
68
+
-`SceneReference.Address` property.
69
+
-`SceneReference.State` property: This property replaces all previously exposed validation methods. It returns a `SceneReferenceState` enum, which describes the state of the `SceneReference` in terms of usage.
70
+
-`SceneReferenceState` enum: Describes the state of the `SceneReference` in terms of usage.
71
+
-`Unsafe`: The `SceneReference` is not safe to use.
72
+
-`Regular`: The `SceneReference` is safe to use, and it references a regular scene.
73
+
-`Addressable`: The `SceneReference` is safe to use, and it references an addressable scene. This state is only possible if addressables support is enabled.
74
+
-`SceneReferenceOptionsAttribute` new fields:
75
+
-`Toolbox`: Controls the visibility of the toolbox button. It replaces the now deleted `UtilityLine` field.
76
+
-`AddressableColoring`: Controls the coloring behaviour of the addressable scenes.
77
+
-`ToolboxBehaviour` enum. Replaces the now deleted `UtilityLineBehaviour` enum with the same semantics.
78
+
79
+
### Changed
80
+
- The concept of Utility Line is replaced with the concept of Toolbox. In summary, instead of drawing buttons as a second line below the field, we instead draw a small button to the end of the field on the same line. When clicked, a toolbox popup appears with all the utilities.
81
+
-`SceneInBuildColoring` argument (previously named `Coloring`) of `SceneReferenceOptionsAttribute` still controls the same types of coloring cases, but since they used to be all the cases, the field was implicitly controlling the entire coloring behaviour. While its semantics are not changed, since there are now other coloring cases, it is no longer the only field that controls the entire coloring behaviour.
82
+
83
+
84
+
22
85
## [2.1.0] - 2023-03-01
23
86
24
87
### Added
@@ -52,6 +115,7 @@ We renamed some of our internal serialized fields. Since we utilize `FormerlySer
52
115
- Internal serialized field name changes:
53
116
- `SceneReference.sceneAsset` to `SceneReference.asset`
54
117
- `SceneReference.sceneAssetGuidHex` to `SceneReference.guid`
118
+
- Menu item `Tools/Eflatun/Scene Reference/Run Scene GUID to Path Map Generator` is renamed to `Tools/Eflatun/Scene Reference/Generate Scene Data Maps`.
55
119
56
120
### Fixed
57
121
- Prevent empty scene GUID hex in Unity serialized `SceneReference` instances.
Logger.Warn($"Skipping scene data maps generation after addressables changes. It is recommended to enable map generation after addressables changes, as an outdated map can result in broken scene references in runtime. You can enable it in {SettingsManager.SettingsMenuPathForDisplay}.");
0 commit comments