How to Embed Shopify Stores into your Unity Mobile Games

Using Shopify Unity Buy SDK

Unity is one of the most popular game engines in existence today.

With over 50 percent of all new mobile games developed using Unity, and 2.4 billion unique devices running Unity games, it's obvious that this engine plays an important role in the global game market.

When looking for new game monetization strategies, selling merchandise is a common way to add revenue. In fact, some game developers already do this through online stores associated with their gaming site.

While this can be a straightforward purchase flow for PC games, for mobile games leaving the in-game experience to make a purchase in-browser, is not an optimal flow.

To help make in-game sales and purchases possible, we launched our Shopify SDK for Unity at Unite, Shopify’s partner and developer conference. This SDK allows game developers to embed shops that sell real-world items for real-world currencies, directly into their games.

Using Shopify Unity Buy SDK: Alto's Lost Llamas

Today, we’re going to walk you through a simple tutorial we’ve created that will show you the steps for integrating an existing Shopify Store into a game.

How to connect a Shopify store to a game

Since these steps are based on connecting an individual game to a single store, we’ll build a private app. This app will act as a means of communication between a Shopify store and the Unity game.

We'll start by setting up permissions for our private app to interact with our game's Shopify store. Then, we'll initialize the Shopify SDK for Unity, walk through adding a product to a cart, and generating a checkout.

Initializing a private app

Within your Shopify store account, click on Apps, located at the bottom of the left-hand navigation bar, and then hit Manage private apps in the main content panel.

Using Shopify Unity Buy SDK: Shopify store account

From here, we'll be generating API credentials for the store. In the description field, name your app “unity-sdk-demo”. Then, enable Custom Storefront by hitting the checkbox beside Allow this app to access data from your storefront

Now you'll see a generated API key for your application, a password, shared secret, and store access token.

Using Shopify Unity Buy SDK: Store access token

If you don't currently have any products in the test store, add one now by selecting Product in the left-hand navigation bar. Access the product's information view, and notice the Sales Channel panel in the top right-hand corner.  

A Sales Channel is an alternative way for customers to browse and buy merchandise. The Unity app is a sales channel because customers can buy items from a store without visiting the store’s webpage.

By connecting these channels to a Shopify account, you’re able to keep track of all products, orders, and customers through the Shopify Admin. The private app we’ve created will become a sales channel when it connects to the store.

The Sales Channel panel allows you to manage which channels have access to displaying a product. If not already visible, click Manage and the checkbox beside your new app to enable it.

Using Shopify Unity Buy SDK: Manage sales channels

It's important to note that a product will only be accessible to your private app (and therefore queryable through the Shopify SDK for Unity) if it’s marked as visible in the Manage Sales Channel Visibility modal we discussed above.

You might also like: How to Generate a Shopify API Token.

Initializing the Shopify SDK for Unity in your project

Now that we have everything setup on Shopify, let’s jump into Unity.

Create a new project and call it, "Unity SDK Demo".

Download the Shopify SDK for Unity from the Github link. Once .unitypackage has been downloaded, simply open that file and press Import.

Using Shopify Unity Buy SDK: Import file

You’re ready to roll with the SDK!

Create a new empty Game Object by clicking GameObject > Create Empty. This is the Game Object we’ll attach a script to, in order to test the Shopify SDK for Unity.

Click on Assets > Create > C# Script and name it UnityBuySDKDemo.

Using Shopify Unity Buy SDK: Unity Buy SDK demo

Using your editor of choice, update the UnityBuySDKDemo script to import the Shopify.Unity package. In the Start method, initialize the SDK using your store's access token and domain (the access token was displayed when setting up permissions for your private app and checking the box for enabling storefront access).

Querying a product

With the SDK initialized, we can retrieve products from our Shopify store.  

In your same UnityBuySDKDemo file, update the Start() method with the following:

Add your script as a component of the new GameObject by either dragging and dropping the script icon onto the GameObject, or by selecting the Add Component button in the GameObject's inspector.

Using Shopify Unity Buy SDK: Add your script

Now when you press Play above the scene view in Unity, you should see similar output in the console (depending on the number of products in the store, of course):

Using Shopify Unity Buy SDK: Press play in Unity

You might also like: Custom Storefronts — Building Commerce Anywhere.

Creating a cart, adding products, and creating a web checkout link

Finally, let's create a cart object, add a product to the cart, and display a Shopify checkout page.

Update your script, replacing the product query with the following:

When you press Play you should see a log with your product's ID, and a browser window should open with a pre-populated cart:

In the above code sample, we first initialize a new Cart object, and then retrieve the first variant of our first product.

A variant is an option applied to a product in your store. For example, you may stock a t-shirt as one of your products with the different size options of small, medium, and large. These sizes would be your product's variants.

Finally, we add this product variant to our cart object and generate a URL to display the cart to the user. Below is an example of what this set-up looks like.

Using Shopify Unity Buy SDK: Cart object setup
An example of what the final screen of the cart object set-up looks like.
Using Shopify Unity Buy SDK: In-game storefront
An example of the final in-game storefront.
Using Shopify Unity Buy SDK: Customer checkout experience
An example of the customer checkout experience.

You might also like: Building for Developer Success with Shopify’s Newest APIs.

More references to get you started

In addition to this tutorial, you can access more query examples using the Shopify SDK for Unity, by visiting the API Reference. For more information on the SDK in general, visit the Shopify SDK for Unity Help page.

Get started with the Shopify SDK for Unity

What are your thoughts on the Shopify SDK for Unity? Let us know if the comments below!

Topics:

Grow your business with the Shopify Partner Program

Learn more