Repository navigation
Releases: ayutaz/unity-embeddinggemma-2
Release list
EmbeddingGemma 2 for Unity v0.1.0 - Windows
EmbeddingGemma for Unity 0.1.0 — Windows
Unity Sentisでテキスト・画像・音声を正規化768次元ベクトルへ変換し、テキストから文書・画像・音声を横断検索するUPMパッケージです。
導入
Unity Package Managerの「Add package from git URL」で指定してください。
https://github.com/ayutaz/unity-embeddinggemma-2.git?path=/Packages/com.ayutaz.embeddinggemma#v0.1.0
Text SearchとImage and Audio Searchのサンプルを含みます。モデルはパッケージに同梱しません。READMEの手順でFP32またはFloat16の公開モデルを取得し、descriptor・全objectのサイズとSHA256、LICENSE・NOTICE・MODIFICATIONSを確認してください。
対応環境と実行範囲
- 検証構成: Windows 11 x64、Unity 6000.3.21f1、Sentis 2.6.1、D3D12、RTX 4070 Ti SUPER、Ryzen 9 5900X、RAM64 GB / VRAM16 GBクラス。これは実測した構成であり、真の最低容量や他GPUの合格を示しません。
- Windows EditorとWindows IL2CPP / Release / High stripping Playerで、FP32 / Float16の両重み形式を確認しました。Float16重みは全演算のFP16実行を意味しません。
- テキストのdocument / query / raw、全3画像profile・全2音声profileと各role、Texture2D / RenderTexture、16kHz mono PCM、18文書・4クエリの混在検索を元参照・元許容差で照合しました。
- 実WorkerのGPU backend、計算のCPU fallbackなし、中間tensorのCPU readbackなし、キャンセル後の再実行、解放と正常終了を確認しました。キャンセルはAPIの最初の非同期yieldでの確認であり、投入済みGPU kernelの途中停止を認定するものではありません。
- 公開tagを空のconsumerへ導入し、解決SHA・実PackageCacheとモデルbytesを照合しました。Editor成功とPlayer成功は別々に監査しています。PlayerのRenderTexture検証にはSDKを変更しない追加の非公開検証harnessを使用し、通常の画像・音声Player検証と区別して記録しました。
RenderTexture検証harnessのレポートでは入力ファイルの付随情報が保存されていませんでした。実行原本と当初の監査失敗を保持し、全28入力原本のサイズ・SHA256、固定参照、実際にビルドしたtagの入力検証コードを別監査で照合しています。数値参照・許容差・検証対象は変更していません。
テキストtokenize、ファイルdecode、PCM取得と最終ベクトルのCPU配列への返却は入出力境界です。画像・音声の前処理・encoder・backboneはGPUで実行します。固定profile、メインスレッドでの非同期呼び出し、GPU完了までの入力保持などの条件はAPIと対応構成の文書を参照してください。
検証上の制限
Required CIの元の数値gateを維持しています。CPU参照ツールの結果はsourceとhostの範囲に限定し、Intel CPUの画像参照不一致と、未実行・失敗した他platformの結果を成功に含めません。詳細はWindows CPU CIを参照してください。これらのCPU参照ツールはSDKのCPU fallbackではありません。
任意入力での検索品質、一般的なGPU高速化倍率、他GPU、macOS / iOS / Androidの実モデル動作は今回の受け入れ範囲に含めません。性能表は記録されたsource・入力・機器・計測範囲に限定されます。
ライセンスと配布物
SDKコードはApache-2.0です。別取得モデルの元revisionは914f7f89142e33e77833254d9c9b90c3cef7303bで、モデルの取得条件と法的表示はモデルライセンス文書を参照してください。モデル重み、内部検証Player、録音、生log、大きな検証artifactはこのSDK Releaseに添付しません。
固定tag v0.1.0の対象は91e3419571432dfa54e7bbab045ef63a7cef4a81、package versionは0.1.0です。tag内の計画・チェックリストは作成時点の記録です。このReleaseの最終確認は公開後のRelease状態・tag・配布版の読み戻しまでを含みます。
Original-image-reference-data-preview
Original synthetic image reference data for immutable numerical comparisons.
The six attachments are the unchanged original vision encoder reference and audit, original Document final reference, and LICENSE.txt / NOTICE.txt / MODIFICATIONS.txt. They total 24,098,590 bytes. The encoder baseline is the existing GPU fixture pin; the Document reference records its distinct historical encoder generation. Both are preserved without changing values, tolerances or metadata.
Each proposed file was completely hashed and text-inspected, with verified private copies. The source contract binds original producer identities and model revision. The JSON contains source-bound synthetic numerical outputs; this is not a general privacy guarantee for numerical data. No model weights, graphs, images or recordings are attached.
This is a data preview, not a formal SDK Release. Publication and download do not establish model execution, CPU comparison qualification, GPU compatibility, complete performance or required-device acceptance. Keep the three attribution files with the data. The acquisition contract and review are versioned under tools/references/.
Native audio regression data preview (e9de158)
Experimental native audio regression data for the selected EmbeddingGemma 2 generation. This is a data preview, separate from the formal Unity SDK release.
Upstream: google/embeddinggemma-2 at the fixed revision, by Google DeepMind, Apache-2.0. Retain LICENSE.txt, NOTICE.txt and MODIFICATIONS.txt.
The inventory binds two metadata-clean native PT2 graphs, four original/candidate reference and audit JSON files, and six unchanged synthetic input buffers. Source graph hashes and distribution graph hashes are different and recorded separately. Only optional node stack traces were removed; all non-model members and computational metadata were independently compared with the preserved source. This is not recovery of lost earlier graph bytes.
Inventory SHA256: e4da37c53cc9b97d421b17caf56eacb6003fdca9160ac6e8f6a86a5314299d5e.
Native graph generation: e9de158a55a72a34cbf9f4752a234892c4ce41d3.
Metadata-only distribution producer: 6bfc2232412f88a78dc23227b5d57ee5a3c7c05c.
Publication guard and exact review: fixed source 728a3d0.
The selected generation's existing evidence and this byte-preservation review do not replace a fresh six-signal numeric regression from a new acquisition route. Durable loader integration and that complete execution are still pending. No microphone recordings or screenshots are included. Numerical/model files remain outside Git and LFS. These files are regression inputs, not a ready-to-import Sentis model bundle.
Experimental six-module model assets (FP32, 567befb)
Experimental converted model assets for Unity Inference Engine / Sentis 2.6.1.
Upstream: google/embeddinggemma-2 at the fixed revision, by Google DeepMind, Apache-2.0. Retain LICENSE.txt, NOTICE.txt and MODIFICATIONS.txt with these files.
Precision: fp32. The bundle contains text, image-square, image-landscape, image-portrait, audio-1119 and audio-839; 820 content-addressed objects.
Descriptor SHA256: 40aefa5de06f575d31b7582c24314c1ab035da374116b3ce3036de0e919cd647.
Composition source: 567befbd64287a706edaac59c978927e0277188a. Component producer IDs and all object hashes are in the descriptor/inventory. Model buffers remain separate from Git and the UPM package.
Windows component GPU qualification is recorded in the project. Public empty-cache acquisition and the final integrated consumer/platform gates are still being completed. This model preview is separate from the formal SDK release.
Use the acquisition tool at fixed source 8649c9435f502738bc9c89a27c9a09483a7719eb (reviewed integration candidate). It is a development candidate while final SDK release gates remain open. In a new checkout, run:
git clone --no-checkout https://github.com/ayutaz/unity-embeddinggemma-2.git EmbeddingGemmaTools
git -C EmbeddingGemmaTools checkout --detach 8649c9435f502738bc9c89a27c9a09483a7719eb
Set-Location EmbeddingGemmaTools/toolsDownload and retain the three accompanying text files, then run the pinned-descriptor acquisition command:
$modelDirectory = Join-Path $PWD "EmbeddingGemmaModels"
New-Item -ItemType Directory -Force $modelDirectory | Out-Null
Invoke-WebRequest "https://github.com/ayutaz/unity-embeddinggemma-2/releases/download/models-preview-567befb-fp32/LICENSE.txt" -OutFile (Join-Path $modelDirectory "LICENSE.txt")
Invoke-WebRequest "https://github.com/ayutaz/unity-embeddinggemma-2/releases/download/models-preview-567befb-fp32/NOTICE.txt" -OutFile (Join-Path $modelDirectory "NOTICE.txt")
Invoke-WebRequest "https://github.com/ayutaz/unity-embeddinggemma-2/releases/download/models-preview-567befb-fp32/MODIFICATIONS.txt" -OutFile (Join-Path $modelDirectory "MODIFICATIONS.txt")
uv run --no-project --python 3.13 python -m embeddinggemma_tools.media_setup `
--descriptor-url "https://github.com/ayutaz/unity-embeddinggemma-2/releases/download/models-preview-567befb-fp32/bundle.json" `
--descriptor-sha256 40aefa5de06f575d31b7582c24314c1ab035da374116b3ce3036de0e919cd647 `
--output $modelDirectoryExperimental six-module model assets (Float16 weights, 567befb)
Experimental converted model assets for Unity Inference Engine / Sentis 2.6.1.
Upstream: google/embeddinggemma-2 at the fixed revision, by Google DeepMind, Apache-2.0. Retain LICENSE.txt, NOTICE.txt and MODIFICATIONS.txt with these files.
Precision: float16. The bundle contains text, image-square, image-landscape, image-portrait, audio-1119 and audio-839; 820 content-addressed objects.
Descriptor SHA256: 8a6a90c5f656a00b024553a0412e5c4d32b4d2c9c7c5b3a0c2c146f557b4e27e.
Composition source: 567befbd64287a706edaac59c978927e0277188a. Component producer IDs and all object hashes are in the descriptor/inventory. Model buffers remain separate from Git and the UPM package.
Windows component GPU qualification is recorded in the project. Public empty-cache acquisition and the final integrated consumer/platform gates are still being completed. This model preview is separate from the formal SDK release.
Use the acquisition tool at fixed source 8649c9435f502738bc9c89a27c9a09483a7719eb (reviewed integration candidate). It is a development candidate while final SDK release gates remain open. In a new checkout, run:
git clone --no-checkout https://github.com/ayutaz/unity-embeddinggemma-2.git EmbeddingGemmaTools
git -C EmbeddingGemmaTools checkout --detach 8649c9435f502738bc9c89a27c9a09483a7719eb
Set-Location EmbeddingGemmaTools/toolsDownload and retain the three accompanying text files, then run the pinned-descriptor acquisition command:
$modelDirectory = Join-Path $PWD "EmbeddingGemmaModels"
New-Item -ItemType Directory -Force $modelDirectory | Out-Null
Invoke-WebRequest "https://github.com/ayutaz/unity-embeddinggemma-2/releases/download/models-preview-567befb-float16/LICENSE.txt" -OutFile (Join-Path $modelDirectory "LICENSE.txt")
Invoke-WebRequest "https://github.com/ayutaz/unity-embeddinggemma-2/releases/download/models-preview-567befb-float16/NOTICE.txt" -OutFile (Join-Path $modelDirectory "NOTICE.txt")
Invoke-WebRequest "https://github.com/ayutaz/unity-embeddinggemma-2/releases/download/models-preview-567befb-float16/MODIFICATIONS.txt" -OutFile (Join-Path $modelDirectory "MODIFICATIONS.txt")
uv run --no-project --python 3.13 python -m embeddinggemma_tools.media_setup `
--descriptor-url "https://github.com/ayutaz/unity-embeddinggemma-2/releases/download/models-preview-567befb-float16/bundle.json" `
--descriptor-sha256 8a6a90c5f656a00b024553a0412e5c4d32b4d2c9c7c5b3a0c2c146f557b4e27e `
--output $modelDirectory