Puppetry Setup

From Second Life Wiki
Revision as of 16:34, 22 December 2022 by Jenna Huntsman (talk | contribs) (Update links to reflect move to Github)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

KBwarning.png Warning: The Puppetry system is still in a pre-release state, and as such the instructions will change. Be careful that the guide you follow is up-to-date with the current Puppetry viewer.]

As it stands right now, the puppetry viewer isn't that easy to set up for the average user. This page will hopefully help people find resources to allow them to get the puppetry system running on their computer.

This guide should be followed in a linear fashion for the easiest setup experience - also see Guides for more info.

This article valid as of 22/12/2022 (dmy).


First things first, we'll need to download a Puppetry-enabled viewer. Below lists currently-known Puppetry-compatible viewers.


Before we continue, we'll need to download and install a couple of additional things that the Puppetry viewer relies on.

KBcaution.png Important: These dependencies assume that you are running Windows on your machine. Dependencies will be different if you use MacOS or Linux.
KBwarning.png Warning: Python versions above 3.10 are unsupported at this time due to dependencies (Mediapipe)
KBwarning.png Warning: While a Python runtime is available from the Microsoft Store, this version is incompatible with the Puppetry viewer. Only use the version from the Python website (linked above).



Okay! Now we're getting somewhere. The following guides will instruct you on how to build the LEAP framework that the Puppetry viewer relies on.

KBtip2.png Tip: If you don't understand one guide, try another!


Great! So we've got the LEAP framework installed. Now we need a plugin to interface with LEAP to control Puppetry!

Webcam Puppetry

Author: Linden Lab

Description: Use your webcam to translate your movements in real life into Second Life!

LEAP Plugin: webcam_puppetry.py

Link: LEAP Repo.


  • An OpenCV-compatible webcam. (Most are, but there are some exceptions)


  • OBS Virtual Camera never initializes. (This is an OpenCV bug).
  • Slower webcams may fail to initialize in time, causing the plugin to close with a failure. (This is a bug - can be worked around by changing Line 51 in camera.py from self.device = cv2.VideoCapture(self.capture_id) to self.device = cv2.VideoCapture(self.capture_id, cv2.CAP_DSHOW) )
  • The default framerate of Webcam Puppetry is a maximum of 10 fps. This can be changed by modifying Line 104 in webcam_puppetry.py from UPDATE_PERIOD = 0.1 to UPDATE_PERIOD = 0.04. This will change the Puppetry framerate to be a maximum of 25 fps.

Blender SL Puppetry

Author: Chaser Zaks

Description: Animate your avatar by manipulating a Blender armature!

LEAP Plugin: puppetstream.py

Link: Github Repo.



  • None known.

Puppetry-enabled locations

Once you're set up, you'll want somewhere to test!

Currently, only a few regions on the Beta grid (Aditi) have puppetry enabled: