Skip to main content

Open Source Mission

Mission Statement

PlayCanvas is committed to democratizing 3D web development through open source technology. Our mission is to make powerful, interactive 3D experiences accessible to everyone, regardless of background or budget, by providing free, open, and well-documented tools that anyone can use, modify, and contribute to.

Why Open Source?

At PlayCanvas, we believe that the future of the web is interactive and three-dimensional. By open sourcing our core technologies, we aim to:

🌍 Democratize 3D Development: Remove barriers to entry and make advanced 3D web technologies accessible to developers worldwide, regardless of their financial resources.

🔧 Foster Innovation: Enable the community to extend, modify, and improve our tools, leading to innovations we never could have imagined alone.

🤝 Build Trust: Transparency in our codebase allows developers to understand exactly how our tools work, contributing to trust and reliability.

📚 Advance the Industry: By sharing our knowledge and code, we help push the entire 3D web development ecosystem forward.

🌱 Ensure Longevity: Open source ensures that our tools will continue to exist and evolve, even as our company changes and grows.

Our Home on GitHub

We use GitHub to manage our open source projects. Visit our GitHub organization to explore our complete open source ecosystem.

Stay informed

Hit the Follow button on our organization page to add our activity to your personal dashboard!

Here are some of our key repositories:

RepositoryDescriptionLicense
engineJavaScript runtime for 3D web applicationsMIT
reactReact components for building declarative 3D scenesMIT
web-componentsWeb Components for standards-based 3D developmentMIT
supersplat3D Gaussian Splat editorMIT
model-viewerglTF and 3D Gaussian Splat viewerMIT
pcuiComprehensive UI library for building browser-based toolsMIT
tip

Even this website is open sourced under MIT. Would you like to contribute and make it even better? Be our guest!

Contributing to PlayCanvas

We welcome contributions from developers of all skill levels! Whether you're fixing a typo in our documentation or implementing a major new feature, your contributions help make PlayCanvas better for everyone.

Getting Started

  1. Choose Your Area of Interest: Browse our repositories and find something that interests you
  2. Check Existing Issues: If you are just starting out, look for "good first issue" labels across our repositories
  3. Start a Discussion: Open an issue to discuss your ideas before implementing major changes
  4. Read the Guidelines: Each repository has specific contributing guidelines in its CONTRIBUTING.md file

Contribution Process

1. Log Issues

  • Bug Reports: Found a bug? Create a detailed issue with reproduction steps
  • Feature Requests: Have an idea? Share it in the relevant repository's issues
  • Questions: Use GitHub Discussions for general questions

2. Submit Pull Requests

  • Discussion First: For significant changes, open an issue for discussion before coding
  • Follow Guidelines: Each repository has specific code style and contribution guidelines
  • Stay Focused: Keep PRs small and focused on a single feature or fix
  • Include Tests: Add or update tests when appropriate
  • Complete CLA: Sign our Contributor License Agreement

3. Review Process

  • Our maintainers will review your PR and provide feedback
  • Address any requested changes promptly
  • Be patient—quality reviews take time, but they ensure code quality

Supporting PlayCanvas

Star Our Repositories ⭐

One of the simplest ways to support PlayCanvas is by starring our repositories! Stars help:

  • Increase Visibility: More stars mean more developers discover our tools
  • Show Appreciation: Let us know which projects you find valuable
  • Track Popularity: Help us understand which tools are most important to the community

Our Top Repos to Star:

Watch Repositories for Updates 👀

Stay informed about PlayCanvas development by watching repositories of interest:

What You'll Receive

  • Issue Notifications: Get notified when new bugs are reported or feature requests are made
  • Pull Request Updates: See when new features are being developed
  • Release Announcements: Be the first to know about new versions and features
  • Discussion Alerts: Participate in important design and architecture discussions

How to Watch

  1. Visit any PlayCanvas repository on GitHub
  2. Click the "Watch" button (👁️) at the top right
  3. Choose your notification level:
    • All Activity: Get notified about everything
    • Issues, PRs, Releases: Only important updates
    • Releases Only: Just new version announcements
  • Engine - Core runtime updates
  • ...and any other repositories you actively use in your projects!

Final Thoughts

When you contribute to PlayCanvas, you're not just improving software — you're helping to build the future of interactive web experiences. Every bug fix, feature request, documentation improvement, and star helps make 3D web development more accessible to developers everywhere.

Ready to contribute? Start by exploring our GitHub organization and find a project that interests you. The PlayCanvas community is here to help you get started! 🙌