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.
Hit the Follow button on our organization page to add our activity to your personal dashboard!
Here are some of our key repositories:
Repository | Description | License |
---|---|---|
engine | JavaScript runtime for 3D web applications | MIT |
react | React components for building declarative 3D scenes | MIT |
web-components | Web Components for standards-based 3D development | MIT |
supersplat | 3D Gaussian Splat editor | MIT |
model-viewer | glTF and 3D Gaussian Splat viewer | MIT |
pcui | Comprehensive UI library for building browser-based tools | MIT |
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
- Choose Your Area of Interest: Browse our repositories and find something that interests you
- Check Existing Issues: If you are just starting out, look for "good first issue" labels across our repositories
- Start a Discussion: Open an issue to discuss your ideas before implementing major changes
- 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
- Visit any PlayCanvas repository on GitHub
- Click the "Watch" button (👁️) at the top right
- Choose your notification level:
- All Activity: Get notified about everything
- Issues, PRs, Releases: Only important updates
- Releases Only: Just new version announcements
Recommended Watches
- 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! 🙌