Skip to content

Commit e909d73

Browse files
Merge pull request #461 from Unity-UI-Extensions/development
Release 2.3.2
2 parents 1464ae9 + 2db16bb commit e909d73

28 files changed

+751
-684
lines changed

.github/workflows/rununitybuildmultiversion.yml

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,17 +52,29 @@ jobs:
5252
unityVersion: 2021.3
5353
build-target: WSAPlayer
5454
- os: windows
55-
unityVersion: 2022.2
55+
unityVersion: 2022.3
5656
build-target: Android
5757
- os: macOS
58-
unityVersion: 2022.2
58+
unityVersion: 2022.3
5959
build-target: iOS
6060
- os: windows
61-
unityVersion: 2022.2
61+
unityVersion: 2022.3
6262
build-target: StandaloneWindows64
6363
- os: windows
64-
unityVersion: 2022.2
64+
unityVersion: 2022.3
6565
build-target: WSAPlayer
66+
- os: windows
67+
unityVersion: 2023.1
68+
build-target: Android
69+
- os: macOS
70+
unityVersion: 2023.1
71+
build-target: iOS
72+
- os: windows
73+
unityVersion: 2023.1
74+
build-target: StandaloneWindows64
75+
- os: windows
76+
unityVersion: 2023.1
77+
build-target: WSAPlayer
6678
steps:
6779
- name: Script Version
6880
run: |

CHANGELOG.md

Lines changed: 17 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,18 @@ All notable changes to this project will be documented in this file.
44

55
The format is based on [Keep a Changelog](http://keepachangelog.com/).
66

7-
## Release 2.3 - Reanimation - 2022/02/07
7+
## Release 2.3.2 - Rejuvenation - 2023/11/26
88

9-
It has been a tough time for all since the last update, but things have been moving steadily along. In the past few months there has been a concerted effort to revamp and update the project ready for Unity 2022, as well as migrating the source repository over to GitHub and refreshing all the things.
10-
We hope the new release is better for everyone and we have paid close attention to the editor menus and places to find all the controls for this release.
9+
2023 is certainly an interesting year to keep you on your toes, and finding time to keep managing all the requests and updates that come in are taking their toll, especially for a FREE project, but nonetheless, I still do it.
10+
11+
Mainly bugfixes for the end of year update, promoting some resolutions that have been verified and tested since the last release.
1112

1213
To get up to speed with the Unity UI Extensions, check out the [Getting Started](https://unity-ui-extensions.github.io/GettingStarted.html) Page.
1314

1415
> Ways to get in touch:
1516
>
16-
> - [Gitter Chat](https://gitter.im/Unity-UI-Extensions/Lobby) site for the UI Extensions project
1717
> - [GitHub Discussions](https://github.com/Unity-UI-Extensions/com.unity.uiextensions/discussions), if you have any questions, queries or suggestions
18+
> - [Gitter Chat](https://gitter.im/Unity-UI-Extensions/Lobby) site for the UI Extensions project
1819
>
1920
> Much easier that posting a question / issue on YouTube, Twitter or Facebook :D
2021
@@ -28,64 +29,23 @@ For more details, see the [deprecation notice](https://github.com/Unity-UI-Exten
2829

2930
## Added
3031

31-
- Added new FIFO based UI Line Render when dynamic line rendering is needed.
32-
- Added ResetSelectableHighlight component.
33-
- Added SetArc method to UICircle as requested.
34-
- Added new UIHorizontalScroller based on UIVerticalScroller.
35-
- Added OnHighlightChanged and OnPressChanged events for UI Button.
36-
- Added error handling around setting Unity UI Components for Vertical/Horizontal ScrollSnaps.
37-
- Added Editor Menu Option to create a Min/Max slider.
38-
- Added the ability to set a specific item for combobox controls on start and not just the first.
39-
- Added the ability to disable the combo boxes and make them read-only.
32+
- Add CalculatePointOnCurve for uilinerenderer (@victornor)
4033

4134
## Changed
4235

43-
- Refresh FancyScrollView with the latest fixes
44-
- All Text based components updated to use TextMeshPro from Unity 2022 **Breaking Change**
45-
46-
- Clean-up and reset pivots on scene start.
47-
- Merged in feature/improved-ui-highlightable (pull request UILineRenderer - issues with specifying point locations at runtime #123).
48-
- Merged in fix/rangesliderfix (pull request HorizontalScrollSnap Mask Area doesn't work when content created dynamically #125).
49-
- Merged in fix/infinitescrollcontentsize (pull request Gradient initialization should be in Awake() #126).
50-
- Merged in feature/controlTouchUp (pull request UILineRenderer mesh not updating in Editor scene view #127).
51-
- Upgraded RangeSlider to work in both Horizontal and Vertical setups.
52-
- Merged in RangeSlider-upgrade. (pull request Newtonsoft.Json.dll conflict #131)
53-
- Updated UIVertical scroller to be 2022 compliant.
54-
- Updated Curly UI to wait until end of the frame to recalculate positions.
55-
- Updated Depth Texture sampler in UI Particles Shaders.
56-
- Updated Points to always be an array of 1 when set to nothing for the Line Renderer.
57-
- Updated Cooldown button to work with Keyboard input.
58-
- Removed unneeded size calculation which caused some issues with mixed content.
59-
- Resolved an issue whereby the last row in a flow layout group would not size correctly.
60-
- Updated all components using "LayoutGroup" to override their OnDisable.
61-
- Updated validation in the new MinMaxSlider.
62-
- Updated Editor create options to add the correct Event System Input manager.
63-
- Updated initialisation logic to not cause an endless loop in the TabNavigationHelper.
64-
- Updated "Action" use to "UnityAction" to avoid Unity issues for DropDowns.
65-
- Updated UIVerticalScroller for standards.
66-
- Updated ReorderableList/ReorderableListElement to prevent creating a fake object for non-transferable items.
67-
- Updated panel drawing for ComboBox controls and added DropdownOffset.
68-
- Updated build issue with ReorderableListElement.
69-
- Updated NonDrawingGraphic to require a CanvasRender, else it causes an error on run.
36+
- fix: Fixed an null reference exception with the ResetSelectableHighlight (@FejZa)
37+
- fix: Resolved an issue where the last line in a flow layout group would overflow the rect bounds.
38+
- fix: GetPosition when Segments is null (@victornor)
39+
- fix: Fix Bug! NicerOutline color.a Loss when m_UseGraphicAlpha is true (wanliyun)
40+
- fix: Update to force Enumerated start for Accordion elements, Resolves: #455
41+
- Added argument to the UpdateLayout method for the HSS/VSS to move to a new starting page.
42+
- Updated implementations to handle 2023 support, with 2023 moving in to public release.
43+
- Added extra event on the AutoCompleteComboBox, to fire when an item in the list is selected, with its display name.
44+
- FlowLayoutGroup components updated to latest (likely the last as the author has stopped development)
7045

7146
## Deprecated
7247

73-
- Marked ScrollPositionController as Obsolete, users should use the new Scoller.
74-
- BestFitOutline - Deprecated in Unity 2020 onwards. (still available for earlier versions)
75-
- NicerOutline - Deprecated in Unity 2020 onwards. (still available for earlier versions)
76-
- Marked TileSizeFitter as obsolete as Unity has made this unworkable.
77-
78-
## Fixed
79-
80-
- Resolved issues with DisplayAbove and using a 0 ItemsToDisplay for ComboBox controls.
81-
- Resolved startup issue that prevented the control from being used (Unity changed the start order in some instances), this was causing null reference issues with comboboxes.
82-
- Patch fix for UILineRenderer.
83-
- Resolves issue where the lower range value would become stuck when moving.
84-
- Updated Infinite scroll to work with content of different sizes.
85-
- Updated Dropdown list to NOT resize text Rect on draw.
86-
- Revised the Curly UI fix as it was preventing the graphic from being updated in the scene view.
87-
- Cleanup and ensuring the UIParticleSystem is disposed in onDestroy correctly.
88-
- Clean up range slider unused variables.
48+
- All deprecated Text based components now have "obsolete" tags, to avoid breaking code. Note, these do not function in 2022 and above, as Unity have "changed" things. For any affected component, I recommend updating to use TextMeshPro native features.
8949

9050
## Additional Notes
9151

@@ -98,6 +58,7 @@ New for 2020, we have added OpenUPM support and the package can be installed usi
9858
```cli
9959
`openupm add com.unity.uiextensions`
10060
```
61+
10162
> For more details on using [OpenUPM CLI, check the docs here](https://github.com/openupm/openupm-cli#installation).
10263
10364
- Unity Package Manager - manual

Documentation~/com.unity.uiextensions.md

Lines changed: 16 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -42,17 +42,18 @@ This version of the Unity UI Extensions is compatible with the following version
4242

4343
## [Release Notes](https://unity-ui-extensions.github.io/ReleaseNotes/RELEASENOTES)
4444

45-
## Release 2.3 - Reanimation - 2022/02/07
45+
## Release 2.3.2 - Rejuvenation - 2023/11/26
4646

47-
It has been a tough time for all since the last update, but things have been moving steadily along. In the past few months there has been a concerted effort to revamp and update the project ready for Unity 2022, as well as migrating the source repository over to GitHub and refreshing all the things.
48-
We hope the new release is better for everyone and we have paid close attention to the editor menus and places to find all the controls for this release.
47+
2023 is certainly an interesting year to keep you on your toes, and finding time to keep managing all the requests and updates that come in are taking their toll, especially for a FREE project, but nonetheless, I still do it.
48+
49+
Mainly bugfixes for the end of year update, promoting some resolutions that have been verified and tested since the last release.
4950

5051
To get up to speed with the Unity UI Extensions, check out the [Getting Started](https://unity-ui-extensions.github.io/GettingStarted.html) Page.
5152

5253
> Ways to get in touch:
5354
>
54-
> - [Gitter Chat](https://gitter.im/Unity-UI-Extensions/Lobby) site for the UI Extensions project
5555
> - [GitHub Discussions](https://github.com/Unity-UI-Extensions/com.unity.uiextensions/discussions), if you have any questions, queries or suggestions
56+
> - [Gitter Chat](https://gitter.im/Unity-UI-Extensions/Lobby) site for the UI Extensions project
5657
>
5758
> Much easier that posting a question / issue on YouTube, Twitter or Facebook :D
5859
@@ -66,64 +67,23 @@ For more details, see the [deprecation notice](https://github.com/Unity-UI-Exten
6667

6768
## Added
6869

69-
- Added new FIFO based UI Line Render when dynamic line rendering is needed.
70-
- Added ResetSelectableHighlight component.
71-
- Added SetArc method to UICircle as requested.
72-
- Added new UIHorizontalScroller based on UIVerticalScroller.
73-
- Added OnHighlightChanged and OnPressChanged events for UI Button.
74-
- Added error handling around setting Unity UI Components for Vertical/Horizontal ScrollSnaps.
75-
- Added Editor Menu Option to create a Min/Max slider.
76-
- Added the ability to set a specific item for combobox controls on start and not just the first.
77-
- Added the ability to disable the combo boxes and make them read-only.
70+
- Add CalculatePointOnCurve for uilinerenderer (@victornor)
7871

7972
## Changed
8073

81-
- Refresh FancyScrollView with the latest fixes
82-
- All Text based components updated to use TextMeshPro from Unity 2022 **Breaking Change**
83-
84-
- Clean-up and reset pivots on scene start.
85-
- Merged in feature/improved-ui-highlightable (pull request UILineRenderer - issues with specifying point locations at runtime #123).
86-
- Merged in fix/ragesliderfix (pull request HorizontalScrollSnap Mask Area doesn't work when content created dynamically #125).
87-
- Merged in fix/infinitescrollcontentsize (pull request Gradient initialization should be in Awake() #126).
88-
- Merged in feature/controlTouchUp (pull request UILineRenderer mesh not updating in Editor scene view #127).
89-
- Upgraded RangeSlider to work in both Horizontal and Vertical setups.
90-
- Merged in RangeSlider-upgrade. (pull request Newtonsoft.Json.dll conflict #131)
91-
- Updated UIVertical scroller to be 2022 compliant.
92-
- Updated Curly UI to wait until end of the frame to recalculate positions.
93-
- Updated Depth Texture sampler in UI Particles Shaders.
94-
- Updated Points to always be an array of 1 when set to nothing for the Line Renderer.
95-
- Updated Cooldown button to work with Keyboard input.
96-
- Removed unneeded size calculation which caused some issues with mixed content.
97-
- Resolved an issue whereby the last row in a flow layout group would not size correctly.
98-
- Updated all components using "LayoutGroup" to override their OnDisable.
99-
- Updated validation in the new MinMaxSlider.
100-
- Updated Editor create options to add the correct Event System Input manager.
101-
- Updated initialisation logic to not cause an endless loop in the TabNavigationHelper.
102-
- Updated "Action" use to "UnityAction" to avoid Unity issues for DropDowns.
103-
- Updated UIVerticalScroller for standards.
104-
- Updated ReorderableList/ReorderableListElement to prevent creating a fake object for non-transferable items.
105-
- Updated panel drawing for ComboBox controls and added DropdownOffset.
106-
- Updated build issue with ReorderableListElement.
107-
- Updated NonDrawingGraphic to require a CanvasRender, else it causes an error on run.
74+
- fix: Fixed an null reference exception with the ResetSelectableHighlight (@FejZa)
75+
- fix: Resolved an issue where the last line in a flow layout group would overflow the rect bounds.
76+
- fix: GetPosition when Segments is null (@victornor)
77+
- fix: Fix Bug! NicerOutline color.a Loss when m_UseGraphicAlpha is true (wanliyun)
78+
- fix: Update to force Enumerated start for Accordion elements, Resolves: #455
79+
- Added argument to the UpdateLayout method for the HSS/VSS to move to a new starting page.
80+
- Updated implementations to handle 2023 support, with 2023 moving in to public release.
81+
- Added extra event on the AutoCompleteComboBox, to fire when an item in the list is selected, with its display name.
82+
- FlowLayoutGroup components updated to latest (likely the last as the author has stopped development)
10883

10984
## Deprecated
11085

111-
- Marked ScrollPositionController as Obsolete, users should use the new Scoller.
112-
- BestFitOutline - Deprecated in Unity 2020 onwards. (still available for earlier versions)
113-
- NicerOutline - Deprecated in Unity 2020 onwards. (still available for earlier versions)
114-
- Marked TileSizeFitter as obsolete as Unity has made this unworkable.
115-
116-
## Fixed
117-
118-
- Resolved issues with DisplayAbove and using a 0 ItemsToDisplay for ComboBox controls.
119-
- Resolved startup issue that prevented the control from being used (Unity changed the start order in some instances), this was causing null reference issues with comboboxes.
120-
- Patch fix for UILineRenderer.
121-
- Resolves issue where the lower range value would become stuck when moving.
122-
- Updated Infinite scroll to work with content of different sizes.
123-
- Updated Dropdown list to NOT resize text Rect on draw.
124-
- Revised the Curly UI fix as it was preventing the graphic from being updated in the scene view.
125-
- Cleanup and ensuring the UIParticleSystem is disposed in onDestroy correctly.
126-
- Clean up range slider unused variables.
86+
- All deprecated Text based components now have "obsolete" tags, to avoid breaking code. Note, these do not function in 2022 and above, as Unity have "changed" things. For any affected component, I recommend updating to use TextMeshPro native features.
12787

12888
- [UI Extensions Issue log](https://github.com/Unity-UI-Extensions/com.unity.uiextensions/issues)
12989

Editor/CanvasGroupActivator.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,11 @@ void OnFocus()
2929

3030
void ObtainCanvasGroups()
3131
{
32+
#if UNITY_2023_1_OR_NEWER
33+
canvasGroups = GameObject.FindObjectsByType<CanvasGroup>(FindObjectsSortMode.None);
34+
#else
3235
canvasGroups = GameObject.FindObjectsOfType<CanvasGroup>();
36+
#endif
3337
}
3438

3539
void OnGUI()

Editor/UIExtensionsMenuOptions.cs

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,11 @@ private static void CreateEventSystem(bool select)
159159

160160
private static void CreateEventSystem(bool select, GameObject parent)
161161
{
162+
#if UNITY_2023_1_OR_NEWER
163+
var esys = Object.FindFirstObjectByType<EventSystem>();
164+
#else
162165
var esys = Object.FindObjectOfType<EventSystem>();
166+
#endif
163167
if (esys == null)
164168
{
165169
var eventSystem = new GameObject("EventSystem");
@@ -191,7 +195,11 @@ static public GameObject GetOrCreateCanvasGameObject()
191195
return canvas.gameObject;
192196

193197
// No canvas in selection or its parents? Then use just any canvas..
198+
#if UNITY_2023_1_OR_NEWER
199+
canvas = Object.FindFirstObjectByType<Canvas>();
200+
#else
194201
canvas = Object.FindObjectOfType(typeof(Canvas)) as Canvas;
202+
#endif
195203
if (canvas != null && canvas.gameObject.activeInHierarchy)
196204
return canvas.gameObject;
197205

@@ -1121,7 +1129,7 @@ static public void AddDropDownList(MenuCommand menuCommand)
11211129
mainButtonRT.anchorMin = Vector2.zero;
11221130
mainButtonRT.anchorMax = Vector2.one;
11231131
mainButtonRT.sizeDelta = Vector2.zero;
1124-
Events.UnityEventTools.AddBoolPersistentListener(mainButton.GetComponent<Button>().onClick, new UnityEngine.Events.UnityAction<bool>(dropDownList.ToggleDropdownPanel), true);
1132+
Events.UnityEventTools.AddPersistentListener(mainButton.GetComponent<Button>().onClick, dropDownList.ToggleDropdownPanel);
11251133
var mainButtonText = mainButton.GetComponentInChildren<Text>();
11261134
mainButtonText.alignment = TextAnchor.MiddleLeft;
11271135
mainButtonText.text = "Select Item...";
@@ -1149,7 +1157,7 @@ static public void AddDropDownList(MenuCommand menuCommand)
11491157
overlayRT.sizeDelta = new Vector2(0f, 1f);
11501158
overlayRT.pivot = new Vector2(0f, 1f);
11511159
overlay.AddComponent<Image>().color = new Color(0.243f, 0.871f, 0f, 0f);
1152-
Events.UnityEventTools.AddBoolPersistentListener(overlay.AddComponent<Button>().onClick, new UnityEngine.Events.UnityAction<bool>(dropDownList.ToggleDropdownPanel), true);
1160+
Events.UnityEventTools.AddPersistentListener(overlay.AddComponent<Button>().onClick, dropDownList.ToggleDropdownPanel);
11531161
//Overlay Scroll Panel
11541162
var overlayScrollPanelRT = overlayScrollPanel.GetComponent<RectTransform>();
11551163
overlayScrollPanelRT.position += new Vector3(0, -cbbRT.sizeDelta.y, 0);
@@ -1257,7 +1265,11 @@ private static void CreateToolTipItem(bool select)
12571265

12581266
private static void CreateToolTipItem(bool select, GameObject parent)
12591267
{
1268+
#if UNITY_2023_1_OR_NEWER
1269+
var btti = Object.FindFirstObjectByType<BoundTooltipItem>();
1270+
#else
12601271
var btti = Object.FindObjectOfType<BoundTooltipItem>();
1272+
#endif
12611273
if (btti == null)
12621274
{
12631275
var boundTooltipItem = CreateUIObject("ToolTipItem", parent.GetComponentInParent<Canvas>().gameObject);

Editor/uGUITools.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ namespace UnityEngine.UI.Extensions
66
{
77
public static class uGUITools
88
{
9-
[MenuItem("uGUI/Anchors to Corners %[")]
9+
[MenuItem("Tools/UnityUIExtensions/Anchors to Corners %[")]
1010
static void AnchorsToCorners()
1111
{
1212
if (Selection.transforms == null || Selection.transforms.Length == 0)
@@ -37,7 +37,7 @@ static void AnchorsToCorners()
3737
Undo.CollapseUndoOperations(undoGroup);
3838
}
3939

40-
[MenuItem("uGUI/Corners to Anchors %]")]
40+
[MenuItem("Tools/UnityUIExtensions/Corners to Anchors %]")]
4141
static void CornersToAnchors()
4242
{
4343
if (Selection.transforms == null || Selection.transforms.Length == 0)
@@ -60,13 +60,13 @@ static void CornersToAnchors()
6060
Undo.CollapseUndoOperations(undoGroup);
6161
}
6262

63-
[MenuItem("uGUI/Mirror Horizontally Around Anchors %;")]
63+
[MenuItem("Tools/UnityUIExtensions/Mirror Horizontally Around Anchors %;")]
6464
static void MirrorHorizontallyAnchors()
6565
{
6666
MirrorHorizontally(false);
6767
}
6868

69-
[MenuItem("uGUI/Mirror Horizontally Around Parent Center %:")]
69+
[MenuItem("Tools/UnityUIExtensions/Mirror Horizontally Around Parent Center %:")]
7070
static void MirrorHorizontallyParent()
7171
{
7272
MirrorHorizontally(true);
@@ -96,13 +96,13 @@ static void MirrorHorizontally(bool mirrorAnchors)
9696
}
9797
}
9898

99-
[MenuItem("uGUI/Mirror Vertically Around Anchors %'")]
99+
[MenuItem("Tools/UnityUIExtensions/Mirror Vertically Around Anchors %'")]
100100
static void MirrorVerticallyAnchors()
101101
{
102102
MirrorVertically(false);
103103
}
104104

105-
[MenuItem("uGUI/Mirror Vertically Around Parent Center %\"")]
105+
[MenuItem("Tools/UnityUIExtensions/Mirror Vertically Around Parent Center %\"")]
106106
static void MirrorVerticallyParent()
107107
{
108108
MirrorVertically(true);

0 commit comments

Comments
 (0)