Skip to content

refactor: embedded Packages/<id> package layout + drop org.nuget scope - #21

Merged
IvanMurzak merged 2 commits into
mainfrom
refactor/package-layout
Jun 8, 2026
Merged

refactor: embedded Packages/<id> package layout + drop org.nuget scope#21
IvanMurzak merged 2 commits into
mainfrom
refactor/package-layout

Conversation

@IvanMurzak

Copy link
Copy Markdown
Owner

What

Pilot of the extension-family layout refactor: move the shippable package from Unity-Package/Assets/root/ to a proper embedded UPM package at Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/, mirroring the Unity-MCP-Plugin layout. Also drops the unused org.nuget OpenUPM scope (NuGet DLLs are vendored under Assets/Plugins/NuGet).

Why

The Assets/root layout forces every project to hand-duplicate the package's dependencies in its manifest. As an embedded UPM package, Unity auto-resolves the package's declared dependencies on open.

Changes

  • git mv Unity-Package/Assets/root → Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem (100%-similarity renames → all .meta GUIDs preserved).
  • Rewrote all file: references in the 3 Unity-Tests manifests/locks, release.yml (path: + PACKAGE_DIR:), commands/*.ps1, and docs.
  • DLLs untouched (stay in Assets/Plugins/NuGet).
  • Removed org.nuget* scopes from test-project + installer manifests.

🤖 Generated with Claude Code

IvanMurzak and others added 2 commits June 8, 2026 04:35
…/com.ivanmurzak.unity.mcp.particlesystem

Adopt the Unity-MCP-Plugin embedded-UPM layout so Unity auto-resolves the
package's declared dependencies. DLLs stay in the project Assets/Plugins/NuGet.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
NuGet DLLs are vendored under Assets/Plugins/NuGet, so the org.nuget*
OpenUPM scopes are unused. Remove from test-project + installer manifests.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings June 8, 2026 11:43

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR pilots the repo’s “extension-family” layout by relocating the shippable Unity package from Unity-Package/Assets/root/ into an embedded UPM package at Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/, and updates surrounding tooling/config to reference the new location. It also removes the unused org.nuget OpenUPM scope from test/installer manifests.

Changes:

  • Move package source into Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/ (embedded UPM layout) and update file-based references in Unity test projects.
  • Update CI (release.yml), PowerShell command scripts, and documentation to use the new package directory.
  • Remove org.nuget* scoped registries from manifests (NuGet DLLs are vendored under Assets/Plugins/NuGet per PR description).

Reviewed changes

Copilot reviewed 23 out of 77 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
Unity-Tests/6000.3.1f1/Packages/packages-lock.json Updates local file: path to new embedded package directory.
Unity-Tests/6000.3.1f1/Packages/manifest.json Updates local file: path and removes org.nuget scope.
Unity-Tests/2023.2.22f1/Packages/packages-lock.json Updates local file: path to new embedded package directory.
Unity-Tests/2023.2.22f1/Packages/manifest.json Updates local file: path and removes org.nuget scope.
Unity-Tests/2022.3.62f3/Packages/packages-lock.json Updates local file: path to new embedded package directory.
Unity-Tests/2022.3.62f3/Packages/manifest.json Updates local file: path and removes org.nuget scope.
Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/package.json Defines the embedded UPM package manifest (name/version/deps).
Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/package.json.meta Unity meta for package manifest.
Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/README.md Package README moved/added under embedded package root.
Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/README.md.meta Unity meta for package README.
Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/LICENSE Package-local MIT license.
Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/LICENSE.meta Unity meta for package-local license.
Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/CHANGELOG.md Package changelog content under embedded package root.
Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/CHANGELOG.md.meta Unity meta for changelog.
Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Documentation~/.gitignore Keeps Documentation~ folder in git.
Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Samples~/.gitignore Keeps Samples~ folder in git.
Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Runtime/com.IvanMurzak.Unity.MCP.ParticleSystem.Runtime.asmdef Runtime assembly definition for the package.
Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Runtime/com.IvanMurzak.Unity.MCP.ParticleSystem.Runtime.asmdef.meta Unity meta for runtime asmdef.
Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Runtime/.gitignore Keeps Runtime folder in git.
Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Runtime.meta Unity meta for Runtime folder.
Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Editor/Scripts/com.IvanMurzak.Unity.MCP.ParticleSystem.Editor.asmdef Editor assembly definition for the package.
Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Editor/Scripts/com.IvanMurzak.Unity.MCP.ParticleSystem.Editor.asmdef.meta Unity meta for editor asmdef.
Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Editor/Scripts/Tools/ParticleSystem.cs Declares MCP tool type partial class.
Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Editor/Scripts/Tools/ParticleSystem.cs.meta Unity meta for tool type file.
Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Editor/Scripts/Tools/ParticleSystem.Get.cs Implements particle-system-get tool.
Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Editor/Scripts/Tools/ParticleSystem.Get.cs.meta Unity meta for get tool.
Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Editor/Scripts/Tools/ParticleSystem.Modify.cs Implements particle-system-modify tool.
Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Editor/Scripts/Tools/ParticleSystem.Modify.cs.meta Unity meta for modify tool.
Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Editor/Scripts/Tools.meta Unity meta for Tools folder.
Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Editor/Scripts/Data/GetParticleSystemResponse.cs Response DTO for get tool.
Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Editor/Scripts/Data/GetParticleSystemResponse.cs.meta Unity meta for get response DTO.
Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Editor/Scripts/Data/ModifyParticleSystemResponse.cs Response DTO for modify tool.
Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Editor/Scripts/Data/ModifyParticleSystemResponse.cs.meta Unity meta for modify response DTO.
Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Editor/Scripts/Data/ParticleSystemData.cs Serialized data model for ParticleSystem modules.
Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Editor/Scripts/Data/ParticleSystemData.cs.meta Unity meta for data model.
Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Editor/Scripts/Data.meta Unity meta for Data folder.
Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Editor/Scripts/.gitignore Keeps Editor/Scripts folder in git.
Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Editor/Scripts.meta Unity meta for Editor/Scripts folder.
Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Editor/Gizmos/icon.png Adds gizmo/icon asset for the package.
Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Editor/Gizmos/icon.png.meta Unity meta for icon.
Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Editor/Gizmos/.gitignore Keeps Gizmos folder in git.
Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Editor/Gizmos.meta Unity meta for Gizmos folder.
Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Editor.meta Unity meta for Editor folder.
Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Tests/Editor/BaseTest.cs Test base utilities for tool tests.
Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Tests/Editor/BaseTest.cs.meta Unity meta for editor test base.
Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Tests/Editor/TestToolParticleSystemGet.cs Editor tests for get tool.
Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Tests/Editor/TestToolParticleSystemGet.cs.meta Unity meta for get tool tests.
Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Tests/Editor/TestToolParticleSystemModify.cs Editor tests for modify tool.
Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Tests/Editor/TestToolParticleSystemModify.cs.meta Unity meta for modify tool tests.
Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Tests/Editor/com.IvanMurzak.Unity.MCP.ParticleSystem.Editor.Tests.asmdef Editor tests assembly definition.
Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Tests/Editor/com.IvanMurzak.Unity.MCP.ParticleSystem.Editor.Tests.asmdef.meta Unity meta for editor tests asmdef.
Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Tests/Editor/.gitignore Keeps Tests/Editor folder in git.
Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Tests/Editor.meta Unity meta for Tests/Editor folder.
Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Tests/Runtime/DemoTest.cs Runtime test placeholder.
Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Tests/Runtime/DemoTest.cs.meta Unity meta for runtime test.
Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Tests/Runtime/com.IvanMurzak.Unity.MCP.ParticleSystem.Tests.asmdef Runtime tests assembly definition.
Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Tests/Runtime/com.IvanMurzak.Unity.MCP.ParticleSystem.Tests.asmdef.meta Unity meta for runtime tests asmdef.
Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Tests/Runtime/.gitignore Keeps Tests/Runtime folder in git.
Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Tests/Runtime.meta Unity meta for Tests/Runtime folder.
Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Tests.meta Unity meta for Tests folder.
Unity-Package/Assets/root.meta Removes old Assets/root folder meta as part of layout migration.
Installer/Assets/Packages/manifest.json Drops org.nuget* scopes from installer project manifest.
Installer/Assets/com.IvanMurzak/AI Particle System Installer/README.md Updates docs to reference new embedded package path.
docs/openupm-signing.md Updates signing docs to new package directory.
docs/Manual-Package-Rename.md Updates rename docs to new package directory.
docs/Deploy-OpenUPM.md Updates deploy docs to new package directory.
docs/Deploy-npmjs.md Updates deploy docs to new package directory.
docs/Deploy-GitHub.md Updates deploy docs to new package directory.
docs/claude/release.md Updates version-tracking docs to new package directory.
docs/claude/ci.md Updates CI docs to new package directory.
docs/claude/architecture.md Updates architecture docs to new package directory.
commands/use-local-mcp.ps1 Updates package.json path reference to new embedded package location.
commands/update-ai-game-developer.ps1 Updates package.json path reference to new embedded package location.
commands/get-version.ps1 Updates package.json path reference to new embedded package location.
commands/bump-version.ps1 Updates version file path reference to new embedded package location.
CLAUDE.md Updates package source path reference to new embedded package location.
.github/workflows/release.yml Updates package directory used for versioning and signing/build steps.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

- Copy the updated `README.md` to `Assets/root` as well.
- Copy the updated `README.md` to `Packages/com.ivanmurzak.unity.mcp.particlesystem` as well.

> ⚠️ Everything outside of the `root` folder won't be added to your package. But still could be used for testing or showcasing your package at your repository.
@IvanMurzak
IvanMurzak merged commit 5a0df26 into main Jun 8, 2026
70 of 73 checks passed
@IvanMurzak
IvanMurzak deleted the refactor/package-layout branch June 8, 2026 12:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants