Building and hosting your own packages

Don't mind the mess!

We're currently in the process of migrating the Panda3D Manual to a new service. This is a temporary layout in the meantime.

Note: This article describes a deprecated feature as of Panda3D 1.10.0.

Putting your entire application into a p3d file is a useful way to distribute small applications, but there are times when you need to distribute your code a little more intelligently. Large applications may need to be divided into several smaller pieces for download at runtime; or you might have a large C++-based library that you want to make available to several different applications, without having to re-download it for each one.

For these purposes, you should consider using packages. A package has several advantages over a simple p3d file:

  • It can be downloaded on demand, either automatically at startup, or during runtime if desired.
  • One package can be downloaded once and shared by multiple p3d files.
  • Packages will be cached in the user's Panda3D directory. (p3d files, on the other hand, are saved in the browser cache only, where there may be less space.)
  • Patching can be used to automatically update a package with a new version, so that your users need download only the incremental changes, instead of having to completely redownload the package at every change.
  • There can be a different version of a package for each hardware/OS platform that you wish to support. This is the easiest way to provide multiplatform support with C++-based applications.

On the other hand, setting up packages requires a little more work than simply building a p3d file.

Previous Top Next