This repository is the publishable Unity SDK workspace for Attriax.
Be respectful, direct, and constructive in review and issue discussions.
-
Clone the workspace and initialize the Unity repository locally.
-
Install the root Node dependencies with
npm installfrom the workspace root. -
Open
sdk-unity/in the Unity Editor version pinned inProjectSettings/ProjectVersion.txt(currently6000.4.6f1; the package's minimum supported version is6000.0— i.e. all of Unity 6 — set inPackages/com.attriax.unity/package.json).The Android library must configure and compile on every Unity 6 Android export. That spans two AGP generations: Unity 6000.2 and earlier export AGP 8.x (no built-in Kotlin — the Kotlin Gradle plugin is applied), while Unity 6000.4 exports AGP 9.x (built-in Kotlin, where applying KGP is an error).
Runtime/Plugins/Android/AttriaxUnity.androidlib/build.gradlefeature-detects this; see the comments there before changing it. -
Create a feature branch before making changes.
Run the relevant checks from the workspace root:
npm run unity:test:editor
npm run sdk:unity:validate- The engine is native (the shared
sdk-kmpcore, orsdk-jsfor WebGL) — seeNATIVE_ENGINE_REWRAP.md. Behavior changes belong there, not in this repo's C#; this repo only owns the platform bindings underRuntime/Internal/Engine/+Runtime/Plugins/and the public facade. - Add EditMode tests for logic changes in
Runtime/Internal/. - Update the public sample when user-visible integration behavior changes.
- Update repository and package documentation when setup, release, or behavior expectations change.
Summaries should explain:
- what changed
- why it changed
- how it was validated
- whether device/host behavior was re-tested on the platform(s) whose native binding changed (Android / iOS / Windows / Linux / macOS / WebGL)
When filing bugs, include:
- Unity version
- target platform
- steps to reproduce
- relevant console or batch log output
- whether the issue affects the Package Manager package, the exported
.unitypackage, or both