Saneject 1.0.0 #84
alexanderlarsen
announced in
Releases
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Full framework rewrite
Major changes
Scopeand binding APIs aroundDeclareBindings(), typed binding families for components, assets and globals, stricter validation, and clearer qualifier/filter behavior.RuntimeProxysystem. Legacy proxies forwarded interface calls through generated code inside the proxy itself, while the new model injects an intentional placeholder that is swapped with the real instance during early startup. Generated proxy interface members now throw if the placeholder is accessed before swap, which makes the bridge more stable and predictable.Breaking changes
Scopeclasses must now overrideDeclareBindings()instead of the previous scope binding method.ProxyObject/FromProxy()workflow has been replaced byRuntimeProxy/FromRuntimeProxy().FromAnywhereInScene()toFromAnywhere(), and proxy generation terminology moving fromProxyObject/[GenerateProxyObject]toRuntimeProxy/[GenerateRuntimeProxy].SceneGlobalContainer; scopes now serialize and register their own global components directly intoGlobalScopeduring startup.User Settingsand sharedProject Settings. Options that affect project-wide injection behavior and correctness now live underProjectSettings/Saneject/and be version controlled, while cosmetic and workflow-specific preferences remain local and stored inEditorPrefs.Summary
This release marks the end of Saneject's beta period. The new foundation is clearer, stricter and more maintainable, with production-ready editor-time injection, better context handling, stronger tooling, and a more stable and predictable runtime bridge for the cases Unity cannot serialize directly.
This discussion was created from the release Saneject 1.0.0.
All reactions