From 625efe698010f0228d737f7e0cf541c5d0115454 Mon Sep 17 00:00:00 2001 From: CoderGamester Date: Tue, 28 Jul 2026 23:25:57 +0100 Subject: [PATCH 1/5] fix: remove dangling asmdef GUID reference GUID:ffab5256b265d45fa9fb86697af7ee2b resolves to no .asmdef anywhere in this repo or Library/PackageCache. The other two GUIDs in this reference list (Addressables, Addressables.Editor) are confirmed live; this third one was orphaned, likely from a removed dependency. Co-Authored-By: Claude Sonnet 5 --- Editor/GameLovers.Services.Editor.asmdef | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Editor/GameLovers.Services.Editor.asmdef b/Editor/GameLovers.Services.Editor.asmdef index ed041e6..3f197da 100644 --- a/Editor/GameLovers.Services.Editor.asmdef +++ b/Editor/GameLovers.Services.Editor.asmdef @@ -5,8 +5,7 @@ "GameLovers.Services", "GameLovers.GameData", "GUID:9e24947de15b9834991c9d8411ea37cf", - "GUID:69448af7b92c7f342b298e06a37122aa", - "GUID:ffab5256b265d45fa9fb86697af7ee2b" + "GUID:69448af7b92c7f342b298e06a37122aa" ], "includePlatforms": [ "Editor" From 944602c15a7e0eddf1d8854a084120bcc9b3f488 Mon Sep 17 00:00:00 2001 From: CoderGamester Date: Wed, 29 Jul 2026 00:38:09 +0100 Subject: [PATCH 2/5] fix: converge repo URLs, sample description, and asmdef naming/consistency Bumps to 2.1.2 (published at 2.1.1; this is a real release, not a fold). - README: converged repository links on the actual origin (github.com/CoderGamester/Services) -- was inconsistently mixed with com.gamelovers.services, which is not this repo's name. Also fixed the cross-package GameData link (actual origin is Unity-GameData). - package.json: ServicesPlayground sample description no longer claims the UI is built programmatically -- it ships as a hand-authored prefab with a [SerializeField]-wired driver script. - Renamed Tests/EditMode/GameLovers.Services.Tests.asmdef to GameLovers.Services.Editor.Tests.asmdef to match its own `name` field; GUID preserved via git mv on the paired .meta. - Tests/PlayMode/GameLovers.Services.Tests.Playmode.asmdef no longer sets autoReferenced: true (was the only test asmdef in the repo doing so). Verified safe: the Test Runner discovers test assemblies via the UNITY_INCLUDE_TESTS define constraint, independent of autoReferenced -- full PlayMode suite still finds and runs this assembly's tests (305/305 passing, same count as before the change). Co-Authored-By: Claude Sonnet 5 --- CHANGELOG.md | 11 +++++++++++ README.md | 12 ++++++------ ...smdef => GameLovers.Services.Editor.Tests.asmdef} | 0 ... => GameLovers.Services.Editor.Tests.asmdef.meta} | 0 .../GameLovers.Services.Tests.Playmode.asmdef | 2 +- package.json | 4 ++-- 6 files changed, 20 insertions(+), 9 deletions(-) rename Tests/EditMode/{GameLovers.Services.Tests.asmdef => GameLovers.Services.Editor.Tests.asmdef} (100%) rename Tests/EditMode/{GameLovers.Services.Tests.asmdef.meta => GameLovers.Services.Editor.Tests.asmdef.meta} (100%) diff --git a/CHANGELOG.md b/CHANGELOG.md index 58827d1..db0865b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,17 @@ All notable changes to this package will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +## [2.1.2] - 2026-07-29 + +**Fixed**: +- Removed a dangling asmdef GUID reference (`GUID:ffab5256b265d45fa9fb86697af7ee2b`) from `Editor/GameLovers.Services.Editor.asmdef` — resolved to no assembly anywhere in the repo or `Library/PackageCache`. +- Renamed `Tests/EditMode/GameLovers.Services.Tests.asmdef` to `GameLovers.Services.Editor.Tests.asmdef` to match its own `name` field (`GameLovers.Services.Editor.Tests`); GUID preserved via `git mv` on the paired `.meta`. +- `Tests/PlayMode/GameLovers.Services.Tests.Playmode.asmdef` no longer sets `autoReferenced: true` (was the only test asmdef in the repo doing so). Test discovery is unaffected — the Test Runner finds test assemblies via the `UNITY_INCLUDE_TESTS` define constraint, independent of `autoReferenced`. + +**Docs**: +- `Samples~/ServicesPlayground`'s `package.json` description no longer claims the sample UI "is built programmatically" — it ships as a hand-authored prefab (`ServicesPlaygroundUI.prefab`) with a `[SerializeField]`-wired driver script. +- Converged `README.md`'s repository links on the actual origin (`github.com/CoderGamester/Services`) — previously mixed with `com.gamelovers.services`, which is not this repository's name. Also fixed the GameData cross-reference link (actual origin is `Unity-GameData`, not `com.gamelovers.gamedata`). + ## [2.1.1] - 2026-07-04 **Changed**: diff --git a/README.md b/README.md index 8fda8bf..bf97dcf 100644 --- a/README.md +++ b/README.md @@ -36,7 +36,7 @@ Building robust game architecture in Unity often leads to tightly coupled system ## System Requirements - **[Unity](https://unity.com/download)** 6000.0+ (Unity 6) -- **[GameLovers GameData](https://github.com/CoderGamester/com.gamelovers.gamedata)** (v1.0.0) — automatically resolved +- **[GameLovers GameData](https://github.com/CoderGamester/Unity-GameData)** (v1.0.0) — automatically resolved - **[Unity Addressables](https://docs.unity3d.com/Packages/com.unity.addressables@latest)** (≥ 1.21.20) — automatically resolved - **[UniTask](https://github.com/Cysharp/UniTask)** (≥ 2.5.10) — automatically resolved @@ -51,14 +51,14 @@ Building robust game architecture in Unity often leads to tightly coupled system 1. Open Unity Package Manager (`Window` → `Package Manager`) 2. Click `+` → `Add package from git URL` -3. Enter: `https://github.com/CoderGamester/com.gamelovers.services.git` +3. Enter: `https://github.com/CoderGamester/Services.git` ### Via manifest.json ```json { "dependencies": { - "com.gamelovers.services": "https://github.com/CoderGamester/com.gamelovers.services.git" + "com.gamelovers.services": "https://github.com/CoderGamester/Services.git" } } ``` @@ -323,7 +323,7 @@ To import a sample: **Window > Package Manager > GameLovers Services > Samples > ## Contributing -Contributions are welcome! See [GitHub Issues](https://github.com/CoderGamester/com.gamelovers.services/issues) to report bugs or request features. For development setup, architecture details, namespace conventions, and coding standards, see [AGENTS.md](AGENTS.md). +Contributions are welcome! See [GitHub Issues](https://github.com/CoderGamester/Services/issues) to report bugs or request features. For development setup, architecture details, namespace conventions, and coding standards, see [AGENTS.md](AGENTS.md). --- @@ -338,8 +338,8 @@ Contributions are welcome! See [GitHub Issues](https://github.com/CoderGamester/ ## Support -- **Issues**: [Report bugs or request features](https://github.com/CoderGamester/com.gamelovers.services/issues) -- **Discussions**: [Ask questions and share ideas](https://github.com/CoderGamester/com.gamelovers.services/discussions) +- **Issues**: [Report bugs or request features](https://github.com/CoderGamester/Services/issues) +- **Discussions**: [Ask questions and share ideas](https://github.com/CoderGamester/Services/discussions) ## License diff --git a/Tests/EditMode/GameLovers.Services.Tests.asmdef b/Tests/EditMode/GameLovers.Services.Editor.Tests.asmdef similarity index 100% rename from Tests/EditMode/GameLovers.Services.Tests.asmdef rename to Tests/EditMode/GameLovers.Services.Editor.Tests.asmdef diff --git a/Tests/EditMode/GameLovers.Services.Tests.asmdef.meta b/Tests/EditMode/GameLovers.Services.Editor.Tests.asmdef.meta similarity index 100% rename from Tests/EditMode/GameLovers.Services.Tests.asmdef.meta rename to Tests/EditMode/GameLovers.Services.Editor.Tests.asmdef.meta diff --git a/Tests/PlayMode/GameLovers.Services.Tests.Playmode.asmdef b/Tests/PlayMode/GameLovers.Services.Tests.Playmode.asmdef index 2a62ea1..3241f31 100644 --- a/Tests/PlayMode/GameLovers.Services.Tests.Playmode.asmdef +++ b/Tests/PlayMode/GameLovers.Services.Tests.Playmode.asmdef @@ -19,7 +19,7 @@ "precompiledReferences": [ "nunit.framework.dll" ], - "autoReferenced": true, + "autoReferenced": false, "defineConstraints": [ "UNITY_INCLUDE_TESTS" ], diff --git a/package.json b/package.json index 349e6ae..c640f29 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "com.gamelovers.services", "displayName": "GameLovers Services", "author": "Miguel Tomas", - "version": "2.1.1", + "version": "2.1.2", "unity": "6000.3", "license": "MIT", "description": "Foundation services for a Unity based project (DI-lite, messaging, ticking, coroutines, pooling, persistence, RNG, time, commands, versioning) plus Addressables-based asset loading and importing tooling.", @@ -16,7 +16,7 @@ "samples": [ { "displayName": "Services Playground", - "description": "Zero-setup playground that wires every foundation service via MainInstaller and drives the Services Explorer (Installer, Versioning, Message Broker, Tick, Coroutine, Pool, Data, Time, RNG, Commands). Open the scene and press Play — the UI is built programmatically; no per-import wiring.", + "description": "Zero-setup playground that wires every foundation service via MainInstaller and drives the Services Explorer (Installer, Versioning, Message Broker, Tick, Coroutine, Pool, Data, Time, RNG, Commands). Open the scene and press Play — the UI ships as a hand-authored prefab (ServicesPlaygroundUI.prefab) with a driver script holding [SerializeField] references; no per-import wiring.", "path": "Samples~/ServicesPlayground" }, { From 8a2506889d85b513b33a16d3b875485370a582c6 Mon Sep 17 00:00:00 2001 From: CoderGamester Date: Wed, 29 Jul 2026 15:48:13 +0100 Subject: [PATCH 3/5] docs: update the changelog to reflect the changes from the user perspective --- CHANGELOG.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index db0865b..c941530 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,13 +7,12 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. ## [2.1.2] - 2026-07-29 **Fixed**: -- Removed a dangling asmdef GUID reference (`GUID:ffab5256b265d45fa9fb86697af7ee2b`) from `Editor/GameLovers.Services.Editor.asmdef` — resolved to no assembly anywhere in the repo or `Library/PackageCache`. - Renamed `Tests/EditMode/GameLovers.Services.Tests.asmdef` to `GameLovers.Services.Editor.Tests.asmdef` to match its own `name` field (`GameLovers.Services.Editor.Tests`); GUID preserved via `git mv` on the paired `.meta`. - `Tests/PlayMode/GameLovers.Services.Tests.Playmode.asmdef` no longer sets `autoReferenced: true` (was the only test asmdef in the repo doing so). Test discovery is unaffected — the Test Runner finds test assemblies via the `UNITY_INCLUDE_TESTS` define constraint, independent of `autoReferenced`. **Docs**: - `Samples~/ServicesPlayground`'s `package.json` description no longer claims the sample UI "is built programmatically" — it ships as a hand-authored prefab (`ServicesPlaygroundUI.prefab`) with a `[SerializeField]`-wired driver script. -- Converged `README.md`'s repository links on the actual origin (`github.com/CoderGamester/Services`) — previously mixed with `com.gamelovers.services`, which is not this repository's name. Also fixed the GameData cross-reference link (actual origin is `Unity-GameData`, not `com.gamelovers.gamedata`). +- Converged `README.md`'s repository links on the actual origin. ## [2.1.1] - 2026-07-04 From e2f4761f9207e41fd9187c8861f1573dc69d5a43 Mon Sep 17 00:00:00 2001 From: CoderGamester Date: Wed, 29 Jul 2026 22:35:03 +0100 Subject: [PATCH 4/5] feat: give the ServicesPlayground sample its own assembly The sample uses #if ENABLE_INPUT_SYSTEM and UnityEngine.InputSystem.UI types while relying on Assembly-CSharp, which AGENTS.md 19 disallows. No editor asmdef is needed here -- the sample ships no editor scripts. References GameLovers.GameData directly. That one is not obvious: the sample reaches floatP through GameLovers.Services, but asmdef references are not transitive, so it fails with CS0012 without the direct reference. Caught by compiling the sample rather than by eyeballing the reference list -- Samples~ is invisible to Unity, so it was copied into Assets/ to build. Final state: 0 errors, 0 warnings. Co-Authored-By: Claude Opus 5 --- ...Services.Samples.ServicesPlayground.asmdef | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 Samples~/ServicesPlayground/GameLovers.Services.Samples.ServicesPlayground.asmdef diff --git a/Samples~/ServicesPlayground/GameLovers.Services.Samples.ServicesPlayground.asmdef b/Samples~/ServicesPlayground/GameLovers.Services.Samples.ServicesPlayground.asmdef new file mode 100644 index 0000000..abc0f91 --- /dev/null +++ b/Samples~/ServicesPlayground/GameLovers.Services.Samples.ServicesPlayground.asmdef @@ -0,0 +1,20 @@ +{ + "name": "GameLovers.Services.Samples.ServicesPlayground", + "rootNamespace": "GameLovers.Services.Samples.ServicesPlayground", + "references": [ + "GameLovers.Services", + "GameLovers.GameData", + "Unity.TextMeshPro", + "UnityEngine.UI", + "Unity.InputSystem" + ], + "includePlatforms": [], + "excludePlatforms": [], + "allowUnsafeCode": false, + "overrideReferences": false, + "precompiledReferences": [], + "autoReferenced": true, + "defineConstraints": [], + "versionDefines": [], + "noEngineReferences": false +} From fadc731bd5bf8d299751bd57ab8ae5b878a8b421 Mon Sep 17 00:00:00 2001 From: CoderGamester Date: Thu, 30 Jul 2026 00:34:14 +0100 Subject: [PATCH 5/5] fix: assign default actions when swapping in InputSystemUIInputModule Under Active Input Handling = "Input System Package (New)" the swap destroyed the scene's StandaloneInputModule and added an InputSystemUIInputModule via AddComponent, which leaves its actions unassigned. An unassigned module processes no input at all -- silently, with nothing logged -- so every button in the sample was dead. AssignDefaultActions() wires the default UI action map. Found while driving the sibling uiservice UrpRendering sample through the Unity MCP: buttons rendered, reported interactable, and did nothing on click. This sample shares the same helper, copied from it. Co-Authored-By: Claude Opus 5 --- Samples~/ServicesPlayground/ServicesPlaygroundUI.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Samples~/ServicesPlayground/ServicesPlaygroundUI.cs b/Samples~/ServicesPlayground/ServicesPlaygroundUI.cs index 16ee011..64703ab 100644 --- a/Samples~/ServicesPlayground/ServicesPlaygroundUI.cs +++ b/Samples~/ServicesPlayground/ServicesPlaygroundUI.cs @@ -182,7 +182,9 @@ private static void EnsureInputModuleOnEventSystem() { DestroyImmediate(legacy); } - go.AddComponent(); + // AddComponent leaves the module's actions unassigned, and an unassigned module silently + // processes no input at all -- every button appears dead with nothing logged. + go.AddComponent().AssignDefaultActions(); #else if (go.GetComponent() == null) {