# Avatar SDK Move — Unity Plugin

Generate humanoid animations from a text prompt and retarget them onto your own humanoid models,
in the Unity Editor or at runtime.

## Requirements

- **Unity 6000.0 or newer**
- **Universal Render Pipeline (URP).** The bundled MetaPerson sample models ship with URP materials and
  will render magenta under the Built-in Render Pipeline. The plugin's scripts do not depend on any
  render pipeline — only the sample materials do.
- An Avatar SDK account, identified by your email address.

## Installation

1. Import the `.unitypackage` into your project (`Assets → Import Package → Custom Package…`).
2. The **Account** window opens automatically when no account is connected.
   You can also open it from `Avatar SDK Move → Account`.
3. Enter your email and press **Send Code**.
4. Enter the one-time code you receive by email and press **Authenticate**.

On success your email and access token are encrypted into
`Assets/itSeez3D/AvatarSDKMoveData/Resources/`, and your player UID is cached under the platform's
persistent data path. Do not commit the session asset to source control, and do not include it in a
`.unitypackage` you share — it identifies your account.

## Upgrading

**Delete `Assets/itSeez3D/AvatarSDKMove` before importing a newer version.**

Importing a `.unitypackage` over an existing installation adds and overwrites files but never removes
them. Files that were deleted or renamed between versions are left behind, and stale scripts will produce
compile errors. Your stored session and generated animations live outside the plugin folder, in
`Assets/itSeez3D/AvatarSDKMoveData/`, and are not affected.

## Generating an animation in the Editor

1. `Avatar SDK Move → Animation Generator`
2. Assign a humanoid target model — it needs an `Animator` with a Humanoid avatar.
3. Enter a prompt.
4. Press **Generate Animation**.

The generated FBX is imported into `Assets/itSeez3D/AvatarSDKMoveData/GeneratedAnimations/` and previewed in the
window. **Create Animator Controller** is optional: it builds a controller from the imported clips and
assigns it to the target model's `Animator`.

## Generating an animation at runtime

See the `RuntimeAnimationGenerationSample` scene. `AnimationGenerator.Generate(targetModel, prompt, duration)`
requests the animation, plays it on the retargeting source model, and `HumanoidRetargeter` drives your
target model from it. Progress, completion and failure are surfaced through `UnityEvent`s so they can be
wired to UI in the Inspector.

## Support

<support@avatarsdk.com> — please include the plugin version shown at the bottom of the Authentication
window.
