v3.0.0
Say hello to v3.0.0! ๐
๐ผ๏ธ A design overhaul to match the new topbar...
Icons, captions, dropdowns, menus... everything! v3 aims to mirror the topbar so you can seamlessly build upon it.
๐ด ...but with inbuilt support for the old topbar
Not all clients see the new topbar... yet. v3 solves this by listening for differences and adapting to a classic design accordingly.
๐ A complete codebase rewrite and re-organization
Readability and performance have been the driving reasons behind this. By outsourcing logic to UIComponents and reorganizing instances into more appropriate containers the Icon and IconController have collectively shrunk from >3000 lines of code to ~1000.
๐จ An easier system to modify icon appearance and behavior
You're no longer limited to predefined settings... you can modify... anything! ๐ฅณ The way you modify icons has also changed to be more straightforward. More info on that here.
๐ฆ TopbarPlus is now a package
No more faff when updating... just right-click the package, update and bam, all set! ๐ช More details here.
๐๏ธ TopbarPlus now supports Wally
You can find that here!
๐ฎ Improved support for gamepads and mobile devices
Pretty much the title, lots of small improvements to make navigating icons on different devices that much easier.
โ๏ธ Overflow upgrade
Overflows now become horizontal menus instead of vertical dropdowns. More about that here.
๐ Brand new documentation
Happy reading! You can find the v3 documentation here.
๐ MIT -> Mozilla Public License v2.0
You can use TopbarPlus free of charge. All you need to do is provide credit back to this resource (such as link to its devforum post) and to open source any significant changes you make to the package.
โค๏ธ Backwards compatibility with the majority of methods from v2
The majority of v2 methods and features have been built into v3 to make for an easy transition. You can find a full breakdown of these changes below.
Changes since v2.9.1
Note: 'Changed' means the methods behavior was altered in some way (such as its parameters, how it functions, etc) while 'Renamed' means only the name or module changed.
- Added method
Icon:getInstance
- Added method
Icon:modifyChildTheme
- Added method
Icon:setTextSize
- Added method
Icon:setTextFont
- Added method
Icon:oneClick
- Added method
Icon:setCaptionHint
- Added variable
Icon.highlightKey
- Changed method
icon:setTheme
toicon:modifyTheme
- Changed method
icon:setImageYScale
toicon:setImageScale
- Changed method
icon:setXSize
toicon:setWidth
- Changed method
icon:give
toicon:addToJanitor
- Changed method
icon:join
toicon:joinDropdown
andicon:joinMenu
- Changed event
icon.hoverStarted
toicon.viewingStarted
- Changed event
icon.hoverEnded
toicon.viewingEnded
- Changed function
IconController.setGameTheme
toIcon.modifyBaseTheme
- Changed function
IconController.getIcons
toIcon.getIcons
- Changed function
IconController.getIcon
toIcon.getIcon
- Renamed method
icon:disableStateOverlay
toicon:disableOverlay
- Renamed method
icon:setLeft
toicon:align("Left")
- Renamed method
icon:setMid
toicon:align("Center")
- Renamed method
icon:setRight
toicon:align("Right")
- Renamed function
IconController.setDisplayOrder
toIcon.setDisplayOrder
- Renamed function
IconController.setTopbarEnabled
toIcon.setTopbarEnabled
- Removed method
icon:setTip
(explanation on this here) - Removed method
icon:set
- Removed method
icon:get
- Removed method
icon:getToggleState
- Removed method
convertLabelToNumberSpinner
- Removed method
icon:setLabelYScale
- Removed method
icon:setBaseZIndex
- Removed method
icon:setSize
- Removed method
icon:setYSize
- Removed method
icon:setTopPadding
- Removed event
icon.userSelected
- Removed event
icon.userDeselected
- Removed event
icon.userToggled
- Removed event
icon.dropdownOpened
- Removed event
icon.dropdownClosed
- Removed event
icon.menuOpened
- Removed event
icon.menuClosed
- Removed property
icon.accountForWhenDisabled
- Removed property
icon.hovering
- Removed property
icon.tipText
- Removed property
icon.captionText
- Removed property
icon.dropdownIcons
- Removed property
icon.menuIcons
- Removed property
icon.dropdownOpen
- Removed property
icon.menuOpen
- Removed property
icon.topPadding
- Removed property
icon.targetPosition
- Removed function
IconController.setGap
- Removed function
IconController.setLeftOffset
- Removed function
IconController.setRightOffset
- Removed function
IconController.updateTopbar
- Removed function
IconController.clearIconOnSpawn
(v3 now checks if your scripts are located within a ScreenGui with 'ResetOnSpawn' set totrue
and responds accordingly. This was probably the most asked about thing in v2 so super happy to finally have this resolved!) - Removed function
IconController.disableHealthbar
- Removed function
IconController.disableControllerOption
- Removed all IconController properties
- Removed module IconController
Contributors
@xhayper for multiple improvements to the repository, help introducing wally, code cleanup, and ongoing help with luau typechecks and luau autocompletes
@iamEvanYT for the initial hybrid support for the new topbar
@LordMerc for help with the documentation and general feedback
@ValiantWind for help with testing and feedback
@lolmansReturn for help retrieving values in features such as captions
@medallyon for help setting up Wally
@CAZ-H for help with clamping objects within screen bounds
@howmanysmall for the package Janitor
@stravant for the package GoodSignal
Thank you to the many contributors of v3.0.0 and everyone who has provided feedback and reports over the last three months ๐