Skip to main content

How to use SDK

Supported Unity Version

  • 6000.0.xx

Render Pipeline Compatibility

  • Built-in Render Pipeline
  • Universal Render Pipeline (URP)

Project Setup

  1. Open Assets -> ProjectP SDK Settings.
  2. Choose one of the build options:
    • Build and Save
    • Build and Run (requires a valid client executable path)

Notes

  • Character and model uploads can also be done directly from the client runtime without using the SDK.
  • Supported source formats for models are .vrm, .fbx, and .glTF.
  • If a script fails during upload or runtime compilation, check content/log/script_log.txt in the client.
  • For the current AI VTuber / YouTube broadcast flow, see AI VTuber Broadcast.

Character Creation

  1. Add CharacterDesc.cs to the character root object.
  2. Configure the avatar as needed.
  3. Right click the prefab and choose Build Character.
  4. Upload the built files from the client with Menu -> Upload.

World Creation

  1. Add WorldDesc.cs to the scene.
  2. Save the scene.
  3. Right click the scene asset and choose Build World.
  4. Upload the built world files from the client with Menu -> Upload.
  5. Enable the uploaded world in P-Linker.

Item Creation

  1. Add ItemDesc.cs to the item root object.
  2. Configure the basic item fields:
    • IsLocal
    • Allow Drop
    • Attach Point
    • Position / Rotation
    • Custom GUI when needed
  3. Right click the prefab and choose Build Item.
  4. Upload the built item from the client with Menu -> Upload.

Character Motion Packs

Use a motion pack when you want an NPC or humanoid object to reuse animation clips.

  1. Create an SDK item prefab and add ItemDesc.cs.
  2. Add AnimationSet.
  3. Add NpcMotionProfile only when you need custom word-to-motion mapping.
  4. Build the item and upload it from the client.
  5. In P-Linker, attach the uploaded item to the target object as an object plugin item.
  6. Drive playback from CharacterMotionController.

Notes:

  • NPCs should play motions from their custom plugin controller.
  • Non-NPC targets should add CharacterMotionController manually.
  • Motion packs are for Unity humanoid clips.

Synchronization

  • Attach SyncObject.cs to any object that should be synchronized across users.