Skip to main content

HTML

Exporting an HTML5 Bundle

Important

At the moment, AR experiences are not yet provided via HTML5 export. Your project must use 3D cameras in order to function properly.

  1. HTML5 export is currently only available for paid accounts. Please review the Account Settings information for more details.

  2. Open your Studio project.

  3. Click Publish. Under the Export section, select HTML5.

  4. Select an environment to build your bundle from.

  5. Click Build to generate your HTML5 bundle.

Once the build is complete, download the .zip file using the download links provided in the build summary.


Publishing your 8th Wall project to gaming platforms

Since 8th Wall HTML5 bundles are fully contained builds, they can be self hosted or published to many gaming platforms.

Self-Host

note

The HTML5 bundle can be self hosted or deployed in many different ways. The instructions below is just one example using npm. For more comprehensive information on self hosting, check out this guide.

  1. Download the .zip bundle, then unzip the file.
  2. If you do not already have npm installed, follow the instructions on this page to set it up.
  3. Run npm install --global http-server to install the http-server npm package as a global CLI tool.
  4. Run http-server <path_to_unzipped_folder>
    1. Example: http-server /Users/John/Downloads/my-project
  5. There should be some logs that list a series of local URLs like:
Available on:
http://127.0.0.1:8080
http://192.168.20.43:8080
http://172.29.29.159:8080
  1. Open one of the URLs in your web browser.

Itch.io

  1. Download the .zip bundle.
  2. Log in to Itch.io and create a new project.
  3. Fill in the project details:
    • Under Kind of project, select HTML.
    • Under Uploads, select Upload files. Upload the .zip file that you downloaded in Step 1. Check the This file will be played in the browser checkbox.
    • Under Embed options, choose the appropriate sizing for your project.
  4. Finish configuring your game and publish it.

Viverse

  1. Sign in to Viverse and go to Viverse Studio.
  2. Under Upload Your Own Build, click Upload.
  3. Click Create New World.
  4. Enter the Name and Description for your project, then click Create.
  5. Click Content Versions.
  6. Under New Version, click Select File. Upload the .zip file that you downloaded in Step 1, then click Upload.
  7. Under iframe Support for Preview, click Apply iframe Settings and enable all permissions that your project requires.
    • Note that Viverse will put your project downloaded from 8th Wall in it's own iFrame, and the Viverse iFrame will need to grant a permission which your project requires.
  8. Finish configuring your game and publish it.

Game Jolt

  1. Sign in to Game Jolt and go to Game Jolt Store.
  2. Click Add Your Game.
  3. Enter the project details and click Save & Next.
  4. On your game dashboard, under Packages, click Add Package.
  5. Under Edit package, click New Release.
  6. Click Upload Browser Build. Upload the .zip file that you downloaded in Step 1.
  7. Configure your game dimensions, or select Fit to screen? if you want the game to fit the screen.
  8. Finish configuring your game and publish it.

GamePix

Important

GamePix does not allow games with external links. Make sure your project does NOT make network calls outside of the bundle.

  1. Download the Full HTML embed code.\
  2. Sign up for a GamePix Developer Account and go to the GamePix Dashboard.
  3. Click Create New Game.
  4. Enter the game details and click Create.
  5. Under Info, select HTML5-JS under Game Engine.
  6. Under Build, click Browse File. Upload the .zip file you downloaded earlier.
  7. Finish configuring your game and publish it.

Newgrounds

  1. Download the Full HTML embed code. Make a .zip file of this index.html file.
  2. Sign up for a Newgrounds account.
  3. Click the arrow in the top right corner and select Game (swf, HTML5)
  4. Under Submission File(s), click Upload File. Upload the .zip file you downloaded earlier.
  5. Configure your game dimensions and check Touchscreen friendly
  6. Finish configuring your game and publish it.

Y8

  1. Download the Full HTML embed code. Make a .zip file of this index.html file.
  2. Log into Y8.
  3. Make sure you have verified your email, then create a free Y8 Storage Account.
  4. Under Game, choose Zip and then HTML5.
  5. Click Choose File. Upload the .zip file you downloaded earlier. If you have not created a Storage Account it will fail. If that happens, click Create Storage Account to create one, then refresh the Upload Your Content to Y8 page and try again.
  6. Finish configuring your game and publish it.

Poki

  1. Go to the Poki Developer Portal.
  2. Fill in your project details, using the link to your hosted project under Link to your game.
  3. Click Share your game.

Kongregate

  1. Email the Kongregate team at bd@kongregate.com. Include the link to your hosted project in your email.

Armor Games

  1. Email the Armor Games team at mygame@armorgames.com. Include the link to your hosted project in your email.

Addicting Games

  1. Download the Full HTML embed code.
  2. Email the Addicting Games team at games@addictinggames.com. Include the .zip file in your email, as well as all of the other information they request in the Addicting Games Developer Center.

Lagged

  1. Email the Lagged team at contact@lagged.com. Include the link to your hosted project in your email.
  2. Once you are approved, you can sign up for a Lagged account using the Invite Code they provide you and upload your game.

Discord

Sample Project

As a starting point to use the Discord Embedded SDK with your project, you can try out our sample project.

  1. Navigate to https://www.8thwall.com/8thwall/discord-activity-example and clone the project to your workspace.
  2. Follow the steps in Exporting an HTML5 Bundle
  3. Download the .zip to a location of your choosing.

Discord Developer Set Up

In order to run a web client in Discord, you'll need to set up an account and create an app in the developer hub.

  1. Create a Discord Account and navigate to https://discord.com/developers/applications

  2. Create a new application by clicking the Button in the top right corner

    1. Enter a name for the application and accept the terms of service

New Activity

  1. Go to the OAuth2 page, under the Settings section:
    1. Add http://127.0.0.1 as a redirect URI for testing.
    2. Save the Client ID somewhere secure.
    3. Click "Reset Secret" to retrieve the Client Secret and store it somewhere safe.
    4. Press "Save" to keep your settings.

Redirect

  1. Navigate to the URL Mappings page, under the Activities section:

    1. Add a temporary target to the root mapping like 127.0.0.1:8888. This will be replaced later with your public URL, but it's required to enable Activities in the next step.
  2. Go to the Settings page, under the Activities section:

    1. Toggle Enable Activities and accept the app launcher agreement.

Enable Activity

  1. Then, go to the Installation tab, under the Settings section:
    1. Copy the link from the Install Link panel and open it in your browser.
    2. Install the application to make it accessible in any server or DM.

Launching an Application

  1. Set up the example server code at https://github.com/8thwall/discord-activity-example

    1. git clone https://github.com/8thwall/discord-activity-example
    2. Run npm install
    3. Unzip the .zip downloaded earlier containing the frontend of the project.
    4. Create a .env file in the root of the repo, and fill it out with the details from the Discord Developer Portal:
    DISCORD_CLIENT_ID=XXXXXXXXXX
    DISCORD_CLIENT_SECRET=XXXXXXXXXX
    DISCORD_CLIENT_HOST_PATH=/path/to/unzipped/folder
    1. Enter npm start to start the server.
  2. Use cloudflared to create a tunnel, so the project will be publicly accessible over the internet.

    1. brew install cloudflared to download the cloudflared CLI tool
    2. Run cloudflared tunnel --url http://localhost:8888.
    3. Make note of the URL that was generated.

    Example:

    2025-10-11T03:05:16Z INF +--------------------------------------------------------------------------------------------+
    2025-10-11T03:05:16Z INF | Your quick Tunnel has been created! Visit it at (it may take some time to be reachable): |
    2025-10-11T03:05:16Z INF | https://sporting-follow-audit-href.trycloudflare.com |
    2025-10-11T03:05:16Z INF +--------------------------------------------------------------------------------------------+
    1. Open the cloudflared URL in your browser to make sure the project loads.
  3. Update your Discord application settings:

    1. Open the Discord Developer Portal and navigate to your application
    2. Go to URL Mappings under the Activities section
    3. Replace the temporary target with your cloudflared URL for the Root Mapping

Cloudflare URL

  1. Test your Discord Activity:
    1. Open Discord and navigate to any DM or server
    2. Click the activities icon (game controller) in the voice channel controls
    3. Find and click your application in the Apps & Commands panel

Example Final View