PHPackages                             collegeman/illuminate-xr - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. collegeman/illuminate-xr

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

collegeman/illuminate-xr
========================

02Blade

Since Nov 7Pushed 5y ago1 watchersCompare

[ Source](https://github.com/collegeman/illuminate-xr)[ Packagist](https://packagist.org/packages/collegeman/illuminate-xr)[ RSS](/packages/collegeman-illuminate-xr/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

**This is an alpha-stage project. Please do not use it, yet.**

Illuminate XR
=============

[](#illuminate-xr)

[![Software License](https://camo.githubusercontent.com/55c0218c8f8009f06ad4ddae837ddd05301481fcf0dff8e0ed9dadda8780713e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d627269676874677265656e2e7376673f7374796c653d666c61742d737175617265)](LICENSE.md)![Travis](https://camo.githubusercontent.com/89c0a27a716475c554d56ec056297c167eeaadbf20890b4bd02997667f5b6d8f/68747470733a2f2f696d672e736869656c64732e696f2f7472617669732f696c6c756d696e6174652f78722e7376673f7374796c653d666c61742d737175617265)[![Total Downloads](https://camo.githubusercontent.com/abed6672d58dc120e3071efa070650919614db9caaea1954a1719c7911d34377/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f696c6c756d696e6174652f78722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/illuminate/xr)

Build your next app UI with WebVR/WebXR using [A-Frame](https://github.com/aframevr/aframe), and self-host "multiplayer" networked experiences using [Laravel WebSockets](https://beyondco.de/docs/laravel-websockets/getting-started/introduction). This Laravel package aims to provide:

- Patterns for creating reactive VR UI, powered by [Vue](https://vuejs.org/) and A-Frame
- Laravel WebSockets pre-configured for self-hosting fast, scalable networked experiences
- Familiar and comfortable networked experiences including Lobbies and Rooms
- Use [Cashier](https://laravel.com/docs/8.x/billing) to charge credit cards and manage paid subscriptions
- Use [Socialite](https://laravel.com/docs/8.x/socialite) to allow visitors to login using their social media accounts and [many other providers](https://socialiteproviders.com/)
- Add an API to your project using [Passport](https://laravel.com/docs/8.x/passport), and allow your users to have and manage profiles
- Catalog and preview scene assets using [Twill](https://twill.io) as your CMS

While the focus of this project is currently on building experiences for VR, the goal is to eventually expand that scope to support AR solutions as well, hence the *X* in *Illuminate XR*.

Why VR, and why now?
--------------------

[](#why-vr-and-why-now)

Dramatically increased by the Coronavirus pandemic of 2020, the demand for remote collaboration calls on creatives to give birth to novel ways of fostering connection across distances. There is ample space in that [greenfield project](https://en.wikipedia.org/wiki/Greenfield_project)for immersive experiences that connect people with each other and interact with new and old ideas on an emotional, even visceral level—a level of connection that cannot be achieved just by talking to a grid of faces displayed on a monitor.

Why Laravel?
------------

[](#why-laravel)

Laravel is a popular [web application framework](https://laravel.com/) written in PHP. It's also a community, comprised of many thousands of developers all around the world. My experiences using Laravel to build enterprise software inspired me to provide similarly "opinionated" patterns and packaged solutions for deploying XR, to enable the consumption of content—not just VR content, but all kinds of content, services, and even products, delivered *through* VR—and for fostering more and better collaboration online.

When setting out to build an XR experience, a developer shouldn't have to consume such a large breadth of information just to be able to get started. Great projects like [A-Frame](https://aframe.io/)gave a web geek like me the ability to start rapidly iterating in VR, even building experiences I could explore using my Oculus headset.

Illuminate XR should allow you to easily trace those really difficult first steps I took, and be able to create robust, collaborative, VR experiences almost as quickly as you can imagine them. My goal is for this project to help keep the creative space in VR democratic and open. After all, that's the way the web should be.

Install
-------

[](#install)

Because it's a Laravel package, you need to create a local Laravel app to install Illuminate XR into. The best place to learn about setting up Laravel is [the manual](https://laravel.com/docs/8.x).

Note that while Laravel includes a built-in webserver for developing locally, if you plan to use the networking features of this package, you'll need to use [Valet](https://laravel.com/docs/8.x/valet), [Homestead](https://laravel.com/docs/8.x/homestead), or some other proper webserver.

You can install XR into any Laravel 6.0+ application:

```
composer require illuminate/xr
```

Then, publish the package's config into your own project. If you've never worked with Laravel before, note that the [artisan](https://laravel.com/docs/8.x/artisan) command is how you use Laravel's CLI.

```
php artisan vendor:publish --provider="Illuminate\Xr\XrServiceProvider" --tag="config"
```

Usage
-----

[](#usage)

The best way to learn how to use the features of this package is to explore the [examples](https://xr.aaroncollegeman.com), but before you do, make sure you *enable* the examples in your copy of `config/xr.php`:

```
