Asset Layer Docs
Asset LayerAPI Docs
  • 👋Welcome
  • Getting Started
    • Quick Start
      • Quick Start for Developers
      • Quick Start for Creators
      • Quick Start for Unity
    • Core Concepts
      • Users
      • Auth + Permissions
      • Teams
      • Apps
      • Slots
      • Expressions
      • Assets + Collections
      • Currencies
      • Marketplace and Shops
      • Core Concepts in Action
    • SDK Docs
      • Setup
      • Users
        • getUser()
      • Apps
        • info()
        • getApp()
        • getApps()
        • slots()
        • getAppSlots()
        • getAppSlotIds()
      • Slots
        • getSlot()
        • collections()
        • getSlotCollections()
        • getSlotCollectionIds()
        • getSlotExpressions()
        • createExpression()
        • updateExpression()
        • getExpressionTypes()
      • Collections
        • info()
        • getCollection()
        • getCollections()
        • assets()
        • getCollectionAssets()
        • getCollectionAssetIds()
        • createCollection()
        • updateCollection()
        • updateCollectionImage()
        • activateCollection()
        • deactivateCollection()
      • Assets
        • info()
        • getAsset()
        • getAssets()
        • user()
        • getUserAssets()
        • getUserAssetIds()
        • getUserAssetCounts()
        • getUserCollectionAssets()
        • getUserCollectionsAssets()
        • getUserSlotAssets()
        • getUserSlotsAssets()
        • mintAssets()
        • send()
        • sendAsset()
        • sendAssets()
        • sendCollectionAssets()
        • sendLowestAsset()
        • sendRandomAsset()
        • update()
        • updateAsset()
        • updateAssets()
        • updateCollectionAssets()
        • expressionValues()
        • updateAssetExpressionValue()
        • updateAssetsExpressionValue()
        • updateCollectionAssetsExpressionValue()
        • updateBulkExpressionValues()
      • Equips
        • getEquips()
        • setEquip()
        • removeEquip()
      • Currencies
        • info()
        • getCurrency()
        • balance()
        • getCurrencyBalance()
        • getCurrencySummary()
        • increaseCurrencyBalance()
        • decreaseCurrencyBalance()
        • transferCurrency()
      • Listings
        • getListing()
        • user()
        • getUserListings()
        • getUserListingsCounts()
        • getUserCollectionListings()
        • getUserCollectionListingsCounts()
        • getUserSales()
        • getUserSalesCounts()
        • getUserPurchases()
        • getUserPurchasesCounts()
        • collection()
        • getCollectionListings()
        • getCollectionsListings()
        • getCollectionListingsCounts()
        • getCollectionsListingsCounts()
        • getCollectionListingsStats()
        • getCollectionsListingsStats()
        • app()
        • getAppListings()
        • getAppListingsCounts()
        • getAppListingsStats()
        • new()
        • listAsset()
        • listAssets()
        • listCollectionAssets()
        • updateListing()
        • buyListing()
        • removeListing()
      • Shop
        • buyItem()
        • summary()
      • Core Types
        • User
        • App
        • Slot
        • Expression
        • Collection
        • Asset
        • Equip
        • Currency
        • Listing
        • Shop
        • Basic
      • SDK Repo
      • C# SDK for Unity
    • Guides
      • How to Integrate Asset Layer into your Unity Game
    • API Docs
    • Asset Layer GPT
  • Build an app
    • App Setup
      • Creating an App
      • Managing Apps
      • App Info
      • Manage Permissions
      • Manage Slots
      • Manage Collections
      • Manage Currencies
      • App Settings
    • App Development
    • Build With Unity
      • Unity App Setup
      • Advanced Unity Setup
        • WebGL App Setup
      • Asset Layer Unity SDK
        • Login + Authentication
        • Create Assets in Unity
        • Import Assets Into Your Scene
        • Inventory Manager
        • Sync Your Assets
        • Asset Layer Game Server
        • C# SDK
    • Sample App
      • Getting Started With Sample App Locally
      • Environment Variables
      • API Routes
      • Deployment
      • Default Pages
      • Deploying Your Unity WebGL Game Through Sample App
  • Create and Manage Assets
    • Create Assets With Code
    • Create Assets Without Code
      • Create Assets for My App
      • Submit a Collection for a 3rd Party App
      • Create an Independent Collection - Coming Soon!
    • Create Assets in Unity
    • Managing Collections from 3rd Party Creators
  • Manage Assets
    • My Assets
      • Listing Assets for Sale
      • Sending Assets as a Gift
      • My Listings
      • Marketplace History
    • Marketplace
  • Settings
    • Team Settings
    • Account Settings
    • Pricing
  • Details
    • Expression Types
      • Image
      • Audio
      • Video
      • Unity
      • Spine 4.0 (2D Animated Characters)
      • Additional Expression Types
Powered by GitBook
On this page
  • Configure and Deploy the Asset Layer Game Server
  • Add Your Game Server to Your Unity Project
  • Configure and Deploy Your Server Through Heroku
  1. Build an app
  2. Build With Unity
  3. Asset Layer Unity SDK

Asset Layer Game Server

PreviousSync Your AssetsNextC# SDK

Last updated 1 year ago

Asset Layer requires using a server for user authentication in order to keep your App Secret secure. The Asset Layer Game Server is an Express server that can be easily configured and deployed to handle all of your Asset Layer needs. You are welcome to extend the Asset Layer Game Server to fulfill all of your game's server-side needs. You can also add Asset Layer functionality to your existing game server using our API and SDK.

Configure and Deploy the Asset Layer Game Server

You can find the Asset Layer Game Server at this GitHub repo, . You can fork or create a remote repository for your game's server.

Once you've forked ore created a remote repository for your game's server, you can deploy and configure the server through a service such as Heroku. See below for detailed instructions on deploying and configuring your server through Heroku.

Add Your Game Server to Your Unity Project

Once your server has been configured and deployed, you can add your server's URL to your Unity project settings. You can access the project settings through the Edit menu in the navbar. You'll see a tab, "Asset Layer App Settings". In this tab, there is a field "Proxy Server URL". Enter your server's URL here.

Configure and Deploy Your Server Through Heroku

If you don't have a Heroku account, you can sign up for free at heroku.com

Once you are logged in, create a new app. Give your app a name and create your app. You will need to have a payment method on file with Heroku to create your app.

Once your app is created, select GitHub as your deployment method. You'll need to connect your GitHub account to Heroku first.

Once your GitHub account is connected, you will be able to search for your game server's repo. If you plan to make changes to your game server, you can enable automatic deploys so that these changes are pushed to your server automatically from main.

Next, configure your server with your App ID and App Secret. Go to your Heroku app's Settings section and select "Reveal Config Vars". Create two config vars, "ASSETLAYER_APP_ID" and "ASSETLAYER_APP_SECRET". Add your app's app ID and app secret from the App Info page in your dashboard.

You can scroll down to get your server's URL in the Domains section. You can add your server to a domain you own as well.

Now, all you have to do is add your server URL to your Unity project settings. For directions, see the above section. For a video demonstration of this process, see How to Integrate Asset Layer into your Unity Game

https://github.com/unbounded-enterprise/asset-layer-proxy-express