Skip to content

Release v0.7.0#31

Merged
skydread1 merged 5 commits into
mainfrom
develop
Jun 9, 2026
Merged

Release v0.7.0#31
skydread1 merged 5 commits into
mainfrom
develop

Conversation

@skydread1

Copy link
Copy Markdown
Contributor

v0.7.0 - 2026-06-09

A second Unity package variant for projects that keep stock ClojureCLR as the editor runtime.

Magic.Unity

  • New sg.flybot.magic.unity.dual variant: the runtime *.clj.dll carry a !UNITY_EDITOR define constraint, so Unity excludes them from the editor and a coexistence project no longer logs the Assembly is incompatible with the editor lines on every domain reload. The default sg.flybot.magic.unity is unchanged and still runs MAGIC in editor Play mode - #30.
  • New docs/unity-integration.md covers the consumer workflow and how to choose a variant.

Tooling

  • bb gen-unity-dual generates the dual variant from magic-unity (drift-checked by bb check-drift); bb coexist-noise reproduces the console noise in-repo via unity-examples/magic-unity-coexist. Example Unity projects moved under unity-examples/.

skydread1 added 5 commits June 9, 2026 13:35
A second UPM package variant for projects that run stock ClojureCLR in the
editor and ship MAGIC only in player builds. It is identical to
sg.flybot.magic.unity except the 46 runtime *.clj.dll plugins carry a
!UNITY_EDITOR define constraint, so Unity excludes them from the editor by
construction. That removes the "Assembly is incompatible with the editor"
narration the default variant prints on every domain reload in a coexistence
project, while keeping the stock-ClojureCLR probe guard (#25) satisfied: the
fork runtime stays out of the editor, so stock RT's clojure.core.clj probe
cannot resolve it. Player builds are unaffected; the constraint holds in the
player context, so IL2CPP still discovers and ships the runtime.

Clojure.dll and Magic.Runtime.dll keep editor loading so the Runtime asmdef
still compiles in the editor.

Generated from magic-unity by bb gen-unity-dual (added in the tooling commit);
the DLLs are byte-identical copies, only the 46 metas and package.json differ.

Closes #30
…ce repro

bb gen-unity-dual generates magic-unity-dual from magic-unity; bb check-drift
keeps it in sync. magic-unity-coexist + bb coexist-noise reproduce the
coexistence noise in-repo without the private consumer project. Logic in
bb/magic/unity.clj.
Relocate magic-unity-smoke and magic-unity-coexist into unity-examples/; the magic-unity and magic-unity-dual packages stay top-level. Update the smoke manifest/lock pin, coexist-proj in bb/magic/unity.clj, the .gitignore exception, and the doc links; regenerate magic-unity-dual. Rename the comp:magic-unity-smoke label to comp:unity-examples (CONTRIBUTING.md).
docs/unity-integration.md is the consumer-side Unity guide (install, variant choice, coexistence, IL2CPP, examples), cross-linking magic-unity. The root README gains a magic-unity-dual Components row and points its Unity section at the new guide.
@skydread1 skydread1 self-assigned this Jun 9, 2026
@skydread1 skydread1 merged commit deda369 into main Jun 9, 2026
2 checks passed
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.

1 participant