CooldownUI
A universal UI library for displaying cooldowns, timers, and status indicators above players. Easy to integrate into your ROUNDS mods.Changelog
All notable changes to CooldownUI will be documented in this file.
[1.0.2] - 2025-03-08
Added
- Background panel - Semi-transparent dark backdrop behind timer and icon for better readability on any background
SetBackgroundEnabled(bool)- Show or hide the background panelSetBackgroundColor(Color)- Customize background color and opacity (default: black at 55% opacity)
Changed
- Font size increased from 5 to 6 for better visibility
- Stack offset increased proportionally to prevent overlap between multiple timers on the same player
[1.0.1] - 2025-02-04
Added
- TextMeshPro Support - Migrated from TextMesh to TextMeshPro for better rendering
- Sprite Icons - New
SetIconSprite()method to use custom sprites as icons - Icon Configuration Options:
SetIconPosition(IconPosition)- Place icon on Left or Right of timerSetIconColorSync(bool)- Sync icon color with timer color changesSetHideIconOnReady(bool)- Optionally hide icon when showing READYSetIconScale(float)- Scale icon size (0.1 to 3.0)GetIconType()- Returns None, Text, or SpriteHasIcon()- Check if icon is set
- Outline Customization:
SetOutlineColor(Color)- Set text outline colorSetOutlineWidth(float)- Set outline width (0-1)
Changed
- Text rendering now uses TextMeshPro with built-in outline (replaces 4-corner shadow system)
- Icon positioning is now dynamic based on text width
- Improved visual quality with SDF font rendering
Removed
- Old 4-corner shadow system (replaced by TMP outline)
Technical
- Uses Noto Sans Symbols and Noto Sans Symbols 2 font family for extended Unicode support
- Supports both external AssetBundle and embedded resource loading
[1.0.0] - 2025-01-04
Added
- Initial release
CooldownUI.Create()- Create UI attached to transformShowCooldown()- Display cooldown with color transition (red → green)ShowActive()- Display active duration (cyan)ShowText()- Display custom text with custom colorShowReady()- Display "READY" textShowStacks()- Display stack countHide()- Hide the UI- Icon support with
SetIcon()andClearIcon() - Custom colors with
SetColors()andSetShadowColor() - Automatic vertical stacking when multiple UIs on same player
- Dynamic scale compensation - UI size stays constant even when player scales
- Standardized text size (FONT_SIZE=40, CHAR_SIZE=0.12) for consistency across mods
- Efficient 4-corner shadow rendering
- Automatic cleanup on round/game end
