ShrinkSDK

Public Unity SDK packages and workspace. yeah, almost AI slop. ;)

com.cneicy.shrink-shared-codegen (0.2.1)

Published 2026-09-29 10:37:05 +08:00 by cneicy

Installation

registry=https://git.crash.work/api/packages/ShrinkSDK/npm/
npm install com.cneicy.shrink-shared-codegen@0.2.1
"com.cneicy.shrink-shared-codegen": "0.2.1"

About this package

ShrinkApp、ShrinkCommand 与 ShrinkNetwork 共用的 Unity IL 后处理注册表生成器。

Shrink Shared CodeGen

Unity Editor UPM 包,为引用 ShrinkCommand.Runtime、ShrinkNetwork.Runtime 或 ShrinkApp.Core.Runtime 的程序集生成程序集级注册表。

该包只通过 Cecil 按程序集名和类型全名读取元数据,不在 asmdef 或 UPM 层反向引用业务包。因此 App、Command、Network 可以依赖它而不形成循环依赖。运行时不包含此包代码。

DotNet~ 包含同一 Cecil 织入核心、Roslyn Analyzer 和 ShrinkSDK.CodeGen MSBuild 包。Godot 或普通 .NET 项目引用 EventBus、Command、Network、App 等包后,会通过 buildTransitive 自动启用织入。

dotnet add package ShrinkSDK.CodeGen --version 0.2.0

可复用能力

Capability: 编译期织入事件订阅、命令和网络注册表,提供规范诊断 Aliases: 生成 织入 analyzer 注册 IL Limits: 不是运行时业务模块;Unity 织入与外部 Roslyn 分别构建 Extension: 特性声明及 MSBuild/Unity 构建入口 Evidence: ShrinkAssemblyWeaver

Unity 2022.3 的分析器 DLL 使用 Roslyn 3.8 构建,位于 Analyzers/,由 RoslynAnalyzer 标签加载,禁用普通运行时插件导入。外部 CLI/NuGet 使用 Roslyn 4.14,二者不能直接互换。SDK 仓库通过 Tools/AgentSupport/Build-UnityAnalyzer.ps1 重建 Unity 版本。

诊断:SHRINK001 订阅签名,SHRINK002 opcode/非空 route 冲突(包括引用程序集),SHRINK003 Installer 接口,SHRINK004 常量 key 声明。生命周期是否正确仍由行为测试验证。Unity 的统一 IL 后处理入口为 ShrinkRegistryILPostProcessor,避免同一程序集重复织入。

Dependencies

Dependencies

ID Version
com.unity.nuget.mono-cecil 1.11.4

Keywords

codegen ilpp registry
Details
npm
2026-09-29 10:37:05 +08:00
2
cneicy
latest
20 KiB
Assets (1)
Versions (3) View all
0.2.1 2026-09-29
0.1.1 2026-09-05
0.1.0 2026-08-26