> For the complete documentation index, see [llms.txt](https://spheroid-universe-academy.gitbook.io/en/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://spheroid-universe-academy.gitbook.io/en/demiurge-en/how-to-run-a-sample-xr-application-from-github.md).

# How to run a sample XR application from GitHub

**Quick start**

This quick start will take you through the steps to create a simple geo-positioning based AR game powered by the Spheroid Universe Platform.

#### [<mark style="color:blue;">Create an account</mark>](https://spheroiduniverse.io/marketplace/register) on the Spheroid Universe Platform&#x20;

Before creating your application, you need to create an account on the Spheroid Universe Platform. If you already have an account on the Spheroid Universe Platform, you can skip this step.

![](/files/BlxdFpdOnj7aSdAmXeMA)

#### Access to Spheroid Demiurge IDE<br>

You now have access to all Platform services, including the Spheroid Demiurge IDE. [<mark style="color:blue;">Access the Spheroid Demiurge IDE</mark>](https://demiurge.spheroiduniverse.io/ide), using the same email and password you used to register on the Platform.

#### Create your application

Open the "Applications" tab and click on the "Create" button.

![](/files/lwrRxLYeHmZ1erpEUZ4f)

Enter the name of the application, check the "Create a layer corresponding to this application" box and click the "Create application" button. The application will be created together with the layer on which the application will later be published.

![](/files/cp6Z9wOi1xniZXxG3ymf)

If the application is not created immediately and the error "An application cannot be created because the application with the name 'xxx' already exists" appears, it means that the name you have chosen is already taken, so try another one.

![](/files/9xwKl0UC293QbMJ0j9DO)

#### Download the source code

We have already prepared for you the source code you will need to create a demo application. Download a zip file from [<mark style="color:blue;">our repository</mark>](https://github.com/SpheroidUniverse/SpheroidScript).

![](/files/DEWBmgjspLu0SB6uTso5)

Then extract the contents of the "'SpheroidScript-master\examples\CoinQuest\src'" folder from the zip file. You are now ready to upload your application source code!

#### Upload source code to Spheroid Demiurge IDE

Now, what you need to do is to upload the extracted files with the source code to the IDE keeping the tree structure unchanged. So in the root of your application you need to have three folders called "assets", "client" and "server", as well as the "app.json" file.

![](/files/pPQ67itG4Uo18f4k6s0y)

Currently, you cannot upload an entire zip or folder to the IDE, but you can upload several files at once with a single drag and drop.&#x20;

Open the "IDE" tab and select your application from the drop-down list.

![](/files/AN8hlxdQ4sAiv8sDWmhL)

![](/files/nrB1UfTaAeoQT8GtIe5s)

Create the "assets" folder: right-click on the application name and select the "Create a folder" option, then, when the dialog appears, enter "assets" and click "OK".

![](/files/upUqd7zrrhIrfzHjAYWe)

![](/files/dBcLhgmcmxeU3VHn2sFw)

Repeat these steps for the "client" and "server" folders. This is what you will see when you are done:

![](/files/EGSmqlji1pDLc8Ry3kBe)

For each folder, left-click on the folder to expand it. The text "Drag and drop files here to upload" will appear on the right. Drag and drop the files with the source code from the corresponding folder to your local PC.

![](/files/YeKOrLq6CsXm6urWj98n)

Then, left click on the root folder (with the same name as your application) to expand it and drag and drop the "app.json" file.&#x20;

You are done! Now you can proceed to publish the application.

#### Publish your application

Publish your application. Click the "Publish" button in the top menu and when the dialog appears, keep the default settings and click the "Publish" button at the bottom right of the dialog.

![](/files/UoYDpEvw5Pfuhuj4Yj5V)

If the publication has been successful, you will see four information messages in the "Build" tab in the bottom panel. Congratulations, you have published your application!

![](/files/X0VEZwwalsq8rdDhugMK)

If you do not see the four information messages, or you see error messages instead, check that you have followed the above steps accurately and, if so, write us a problem, and we will help you solve it.

#### Launch your application on your cell phone<br>

Now that you have your app built and published, it's time to run it on your cell phone.&#x20;

Download the XRHub mobile app for Android by following the Google Play link or scanning the QR code.

![](/files/bNAJj9qOHYPP4NHQ7lJh)

![](/files/M1USPNmnZYOWx7bl8FaJ)

Currently, XRHub works on Android devices that only support ARCore.&#x20;

The iOS version of the app will be released soon. Launch the XRHub app on your phone.

![](/files/BCCxfHH5rKXcISF8B6ly)

Tap the menu button at the bottom center, then tap the account icon and log in to the application using the same email and password you used to register on the Platform.

![](/files/Xlg7FBe6OtOWt0Gb1GFT)

When you are authorized, go through the list of worlds to find the world in which your application has been published (the world is called "layer" in the IDE). Note that if you are not logged in, you will not see the world, because worlds created by developers are private. In the last tutorials you will learn how to add testers to your layer world, also known as "layer".

![](/files/6SXYxjLgPlYHCTrwTuqh)

When you have found your world, tap the "Launch" button, and you will see the coins on the screen. Congratulations, you have successfully run your application on the XRHub! Collect some coins and see how the counter value changes after touching each coin. View the application's real-time logs in the IDE in the "Client" and "Server" tabs in the bottom pane.

#### Troubleshooting

If you have encountered any problems, please let us know by submitting an issue, we will be sure to help you find the solution. Feel free to contact us, as your issues and our feedback will help improve our platform and will be valuable to other developers.

#### What's next?

This quick start has covered the minimum base to start developing AR applications powered by the Spheroid Universe platform.&#x20;

In the next tutorials, we will take a closer look at what we have done by exploring the application source code. We'll get familiar with the Spheroid Script, the platform's language. We will talk about the structure of the project and discuss some key concepts, for example, the division of the code into a client-side part and a server-side part. Finally, we will learn the basics of data persistence in a cloud database using Spheroid SQL.

Until the next tutorial, you can start exploring Spheroid Script by yourself using the [<mark style="color:blue;">documentation</mark>](https://spheroiduniverse.github.io/SpheroidScript/).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://spheroid-universe-academy.gitbook.io/en/demiurge-en/how-to-run-a-sample-xr-application-from-github.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
