Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Releases: CoderGamester/Unity-UiService

Release 1.2.1

26 Apr 19:59
@CoderGamester CoderGamester
18df2a3
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.

Choose a tag to compare

What's Changed

New:

  • Added CLAUDE.md wrapper at the package root that imports AGENTS.md for Claude Code integration
  • Added per-sample README.md documentation for every entry under Samples~/ (BasicUiFlow, DataPresenter, DelayedPresenter, UiToolkit, DelayedUiToolkit, UiSets, MultiInstance, CustomFeatures, AssetLoadingStrategies)

Changed:

  • Renamed package displayName from UiService to GameLovers UiService to align with the GameLovers GameData and GameLovers Services packages (UPM name com.gamelovers.uiservice and the GitHub repository name are unchanged)
  • Reorganized editor menu items under Tools/GameLovers/... to align with the GameLovers Services package layout: Tools/UI Service/Presenter ManagerTools/GameLovers/UI Presenter Manager; Tools/UI Service/Select UiConfigsTools/GameLovers/UI Configs/Select UI Configs; Tools/UI Service/Layer VisualizerTools/GameLovers/UI Configs/Layer Visualizer
  • Moved runtime [CreateAssetMenu] paths from ScriptableObjects/Configs/UiConfigs/... to GameLovers UiService/UiConfigs/... for AddressablesUiConfigs, ResourcesUiConfigs, and PrefabRegistryUiConfigs; moved the UiSets sample's [CreateAssetMenu] to GameLovers UiService Samples/UiSets Sample Configs
  • Reorganized Tests/PlayMode/ so unit tests live under Tests/PlayMode/Unit/ alongside the existing Integration/, Performance/, Smoke/ subfolders
  • Moved TestPresenter and other MonoBehaviour-based test fixtures from Tests/EditMode/Helpers/ to Tests/Helpers/ (runtime-compatible) so PlayMode tests can AddComponent<T>() them without hitting the editor-script restriction
  • Improved the README.md and AGENTS.mddocumentation

Fixed:

  • Fixed the information in the README.md files to be up to date with the API and project library structure
  • Fixed PlayMode test noise by declaring expected warnings via LogAssert.Expect (loading/open-close/UI-set tests) and assigning an empty ThemeStyleSheet to runtime-created PanelSettings in UI Toolkit test helpers to silence the No Theme Style Sheet set to PanelSettings warning

Full Changelog: 1.2.0...1.2.1

Assets 3
Loading

Release 1.2.0

07 Jan 19:02
@CoderGamester CoderGamester
496a8f6
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.

Choose a tag to compare

What's Changed

New:

  • Added UiPresenterManagerWindow unified editor tool for managing UI presenters in play mode.

Changed:

  • BREAKING: Removed IUiAnalytics, UiAnalytics, NullAnalytics, and all related analytics types.
  • Removed legacy UiAnalyticsWindow and UiServiceHierarchyWindow editor tools.

Full Changelog: 1.1.0...1.2.0

Loading

Release 1.1.0

06 Jan 09:54
@CoderGamester CoderGamester
109e036
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.

Choose a tag to compare

What's Changed

New:

  • Added OpenUiSetAsync(int setId, CancellationToken) method to IUiService for opening all UI presenters in a set with proper address handling, ensuring compatibility with CloseAllUiSet and UnloadUiSet
  • Added OnOpenTransitionCompleted() and OnCloseTransitionCompleted() lifecycle hooks to UiPresenter for reacting after all transition animations/delays complete
  • Added comprehensive test suite:
    • Unit tests for UiAnalytics, UiConfig, UiInstanceId, UiServiceCore, UiSetConfig
    • PlayMode integration tests for multi-instance, loading, open/close, and UI set management
    • Performance and smoke tests
    • Feature-specific tests for AnimationDelayFeature, TimeDelayFeature, and PresenterFeatureBase
  • Added ITransitionFeature interface for features that provide open/close transition delays
  • Added OpenTransitionTask and CloseTransitionTask public properties on UiPresenter for awaiting transition completion externally
  • Added AGENTS.md documentation for AI coding agents
  • Added structured documentation under docs/ folder with separate pages for getting started, core concepts, API reference, advanced topics, and troubleshooting
  • Added multiple new samples to the package library
  • Added multiple IUiAssetLoader implementations to support different asset loading scenarios:
    • AddressablesUiAssetLoader (default): Integration with Unity Addressables.
    • PrefabRegistryUiAssetLoader: Simple loader for direct prefab references (useful for testing and samples).
    • ResourcesUiAssetLoader: Support for loading from Unity's Resources folder.
  • Added AddressablesUiConfigs, ResourcesUiConfigs, PrefabRegistryUiConfigs, ResourcesUiConfigsEditor, AddressablesUiConfigsEditor and PrefabRegistryUiConfigsEditor for managing UI configurations.

Changed:

  • BREAKING: Made UiConfigs class abstract to enforce usage of specialized subclasses (AddressablesUiConfigs, ResourcesUiConfigs, PrefabRegistryUiConfigs) and prevent runtime errors from misconfiguration
  • BREAKING: Removed IPresenterFeature interface; features now extend PresenterFeatureBase directly
  • BREAKING: Renamed UiAssetLoader to AddressablesUiAssetLoader to reflect its specific loading mechanism.
  • BREAKING: Renamed UiConfig.AddressableAddress to UiConfig.Address for loader-agnosticism
  • Changed UiPresenter<T>.Data property to have a public setter that automatically triggers OnSetData() when assigned
  • Refactored TimeDelayFeature and AnimationDelayFeature to no longer call gameObject.SetActive(false) directly; visibility is now controlled solely by UiPresenter
  • Refactored UiPresenter.InternalOpen() and InternalClose() to use internal async processes that await ITransitionFeature tasks
  • Refactored AnimationDelayFeature and TimeDelayFeature to use Presenter.NotifyOpenTransitionCompleted() and Presenter.NotifyCloseTransitionCompleted() instead of internal events
  • Removed OnOpenCompletedEvent and OnCloseCompletedEvent internal events from delay features
  • Updated all samples to use UI buttons instead of input system dependencies for better project compatibility

Fixed:

  • Fixed AnimationDelayFeature animation playback logic - was incorrectly checking !_introAnimationClip instead of _introAnimationClip != null
  • Fixed UiPresenterEditor play-mode buttons to properly call InternalOpen() and InternalClose() instead of just toggling gameObject.SetActive()
  • Fixed delay features to work correctly when tests run together (UniTaskCompletionSource lifecycle)
  • Fixed null checks in delay features using explicit null comparisons instead of null-conditional operators for Unity object compatibility
  • Fixed inconsistent lifecycle where OnOpenTransitionCompleted/OnCloseTransitionCompleted were only called when features existed
  • Fixed split responsibility for visibility control where both UiPresenter and features could call SetActive(false), allowing now to properly close the presenters in all scenarios
  • Fixed LoadUiAsync visibility state inconsistency where calling it on an already-visible presenter with openAfter=false would disable the GameObject but not update VisiblePresenters, causing subsequent OpenUiAsync calls to fail silently
  • Fixed multi-instance ambiguity when calling Close(destroy: true) from within a presenter and now correctly unloads the specific instance instead of potentially unloading the wrong one
  • Fixed UI Toolkit timing issue where element queries in OnInitialized() would fail because the visual tree was not yet attached to a panel

Full Changelog: 1.0.0...1.1.0

Loading

Release 1.0.0

03 Nov 22:58
@CoderGamester CoderGamester
7a173a9
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.

Choose a tag to compare

What's Changed

New:

  • Added IUiAnalytics interface and UiAnalytics implementation for performance tracking
  • Added three editor windows: UiAnalyticsWindow, UiServiceHierarchyWindow
  • Added new "UI Layer Hierarchy Visualizer" section to the UiConfigsEditor inspector
  • Added UiPresenterSceneGizmos for visual debugging in Scene view
  • Added UiPresenterEditor custom inspector with quick open/close buttons
  • Added multi-instance support for UI presenters via UiInstanceId struct and instance addresses
  • Added UiInstance struct to encapsulate presenter metadata (type, address, presenter reference)
  • Added feature-based presenter composition architecture with IPresenterFeature interface
  • Added PresenterFeatureBase base class for composable presenter features
  • Added AnimationDelayFeature and TimeDelayFeature components for delayed UI operations
  • Added UiToolkitPresenterFeature for UI Toolkit integration
  • Added DefaultUiConfigsEditor for out-of-the-box UI configuration (no custom implementation required)

Changed:

  • Replaced Task.Delay with UniTask.Delay throughout for better performance and WebGL compatibility
  • Updated CloseAllUi to avoid modifying collection during iteration
  • Enhanced UiService.Dispose() with proper cleanup of all presenters, layers, and asset loader
  • LoadUiAsync, OpenUiAsync methods now accept optional CancellationToken parameter
  • Updated the README with a complete information of the project
  • Replaced LoadedPresenters property with GetLoadedPresenters() method for better encapsulation
  • Migrated all delay functionality from PresenterDelayerBase to feature-based system (AnimationDelayFeature, TimeDelayFeature)
  • Converted all editor scripts to use UI Toolkit for better performance and modern UI
  • Refactored UiConfigsEditor to use UI Toolkit with improved visuals and drag-and-drop support
  • Optimized collection types (Dictionary, List) for better performance in UiService
  • Removed loading spinner from UiService (simplified initialization)

Fixed:

  • CRITICAL: Fixed GetOrLoadUiAsync returning null when loading new UI (now properly assigns return value)
  • Fixed exception handling in UnloadUi with proper TryGetValue checks
  • Fixed exception handling in RemoveUiSet with proper TryGetValue checks
  • Fixed redundant operations in CloseAllUi logic
  • Fixed initial value handling for UI sets in editor
  • Fixed serialization updates before property binding in editor
  • Fixed script indentation issues in delay presenter implementations

Full Changelog: 0.13.1...1.0.0

Loading

Release 0.13.1

28 Sep 19:47
@CoderGamester CoderGamester
0585f78
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.

Choose a tag to compare

What's Changed

New:

  • Added UiToolkitPresenter script to allow UI Toolkit based UIs to work similar to UiPresenter

Changed:

  • Refactored UiToolkitPresenter to also pass the root visual element to it's implemented class and properly assign the element OnValidate

Full Changelog: 0.13.0...0.13.1

Loading

Release 0.13.0

25 Sep 16:30
@CoderGamester CoderGamester
6a8628d
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.

Choose a tag to compare

What's Changed

New:

  • Added UiToolkitPresenter script to allow UI Toolkit based UIs to work with the library

Changed:

  • Updated README to reflect the project structure
  • Adjusted the Editor tools and UiService to process UI Toolkit based views

Full Changelog: 0.12.0...0.13.0

Loading

Release 0.12.0

08 Jan 18:11
@CoderGamester CoderGamester
97e607d
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.

Choose a tag to compare

What's Changed

New:

  • Added InteractableTextView script to allow linking text code execution, e.g open URLs in the broser

Changed:

  • Renamed AdjustScreenSizeFitter to AdjustScreenSizeFitterView to mark it as a View in the architecture conventions
  • Moved AdjustScreenSizeFitterView and NonDrawingView, SafeAreaHelperView to the Views folder and namespace to organize the codebase accordingly

Full Changelog: 0.11.0...0.12.0

Loading

0.11.0

05 Jan 21:49
@CoderGamester CoderGamester
ca6f9a3
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.

Choose a tag to compare

What's Changed

New:

  • Added two new static event calls to UiService that are triggered when the app changes resolution and another trigger when changes screen orientation
  • The new UiServiceMonoComponent was added to the project for internal purposes, in order to support Unity's loop or generic GameObjects dependency code (e.g. the screen resolution trigger change)
  • Added new AdjustScreenSizeFitter to extend the ui behaviour of Unity's ContentSizeFitter in order to allow the LayoutElement to fit between the LayoutElement.minSize & LayoutElement.flexibleSize, values defined in the Unity's inspector

Changed:

  • Renamed UiPresenterData to UiPresenter to make it less verbose

Full Changelog: 0.10.0...0.11.0

Loading

Release 0.10.0

13 Nov 22:46
@CoderGamester CoderGamester
cc8cccd
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.

Choose a tag to compare

What's Changed

New:

  • Added UniTask dependency to enable WebGL platform support

Changed:

  • Updated IUiService async methods to use UniTask instead of Task for better performance and WebGL compatibility

Full Changelog: 0.9.1...0.10.0

Loading

Release 0.9.1

04 Nov 01:21
@CoderGamester CoderGamester
433b499
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.

Choose a tag to compare

What's Changed

Fixed:

  • Fixed the issue that would crash NonDrawingView if the GameObject would be missing a CanvasRenderer

Full Changelog: 0.9.0...0.9.1

Loading
Previous 1 3
Previous

AltStyle によって変換されたページ (->オリジナル) /