Brokkr/surfaces/unity
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Meta Vens ae19d4e7e0 Drop the vendored CultMesh DLLs; depend on org.gamecult.cultlib
Delete the 27 vendored assemblies (55 files under Plugins/CultMesh, plus
Plugins.meta) and tools/vendor-cultmesh-unity.ps1. The package now declares
org.gamecult.cultlib 1.0.60 and both asmdefs reference GameCult.CultLib, the
shape CultLib's own editor-tools package uses. check.ps1 asserts the package
ships no .dll and declares the dependency, without pinning a version string.
The unity README names the host-manifest requirement.

Cut M1 of docs/brokkr-adoption-cut.md. Unity compile is an operator check.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-29 13:50:23 +02:00
..
Packages/com.gamecult.brokkr Drop the vendored CultMesh DLLs; depend on org.gamecult.cultlib 2026-09-29 13:50:23 +02:00
README.md Drop the vendored CultMesh DLLs; depend on org.gamecult.cultlib 2026-09-29 13:50:23 +02:00

Brokkr Unity Adapter

This package lets the Unity Editor publish its scene, component, asset, command, receipt, Quest, and Eve/CultUI state as typed CultCache documents synced through CultMesh.

Install By Local Path

Add this package to a Unity project's Packages/manifest.json:

"com.gamecult.brokkr": "file:F:/Projects/Brokkr/surfaces/unity/Packages/com.gamecult.brokkr"

The package ships no assemblies. Its CultCache, CultNet and CultMesh runtime comes from org.gamecult.cultlib, which the host manifest must also resolve:

"org.gamecult.cultlib": "https://github.com/GameCult/CultLib.git?path=/unity/org.gamecult.cultlib#cultlib-unity-v1.0.60"

Then open GameCult > Brokkr.

Local Smoke

In Unity:

  1. Open GameCult > Brokkr.
  2. Confirm Broker URI is cultmesh://brokkr.
  3. Confirm CultMesh Cache points at .brokkr/unity-editor.ccmp.
  4. Click Start CultMesh Mirror.
  5. Click Capture Snapshot.
  6. Click Publish Mirror.
  7. To create a ScriptableObject through the mirror, fill ScriptableObject Type, Asset Name, and Asset Path, then click Create ScriptableObject Asset.
  8. To instantiate or variant a prefab through the mirror, fill Prefab Asset Path, optional Instance Name, and optional Variant Path, then click the matching prefab command.
  9. To publish object sync policy, select a GameObject, set the object lane toggles including transform, parent, active state, material, and property lanes, then click Publish Object Sync.
  10. With the mirror running, run brokkr-daemon sync-once or sync-loop, then click Poll Sync Receipt or leave the window open to show the latest daemon sync pass receipt.
  11. To publish an ad hoc sync variable, fill Ad Hoc Sync Var with a binding id or leave it blank for a generated id, set kind/paths/authority/interpolation, then click Publish Sync Var.

The Unity adapter writes the latest editor snapshot to:

unity/host/current

Brokkr daemon sync receipts are read from:

sync/receipts/{receiptId}

Ad hoc sync variables are written to:

sync/vars/{syncVarId}

Verse-side command clients write brokkr.unity.command_intent.v0 documents to:

unity/commands/{commandId}

Unity watches those command intents, mutates the editor, and publishes receipts to:

unity/receipts/{commandId}

Recognized Unity asset commands include:

  • instantiatePrefab
  • createPrefabVariant
  • createScriptableObject

The Unity plugin is still an adapter. Unity owns Unity editor truth; Brokkr owns provider discovery; CultCache and CultMesh own the live mirror lane.