Integration guide for Unity

Start using Unity and selling your own game merchandise

Version: 4

Date: 16/05/2019

Prerequisites: Prerequisite for this SDK to work: Your Unity Version should support the new prefab system, introduced in Unity 2018.3

Process:


Step 1. Installation

1.1. Unity sdk Supports iOS, Android, WebGL and Desktop builds. If you wish to download plugin click here. Or you can clone full project from github using command:

git clone git@github.com:themonetizr/Unity-sdk.git

or you can download it as .zip from github (download here):

download


1.2. If you cloned or downloaded complete Unity development project, it does include Demo scene, you can open and play around with pre-filled values, or wait for a bit until Monetizr launches Unity Asset store plugin, or you can export project as assets from your own Unity development environment.


1.3 Importing plugin is as follow: Assets -> Import Package -> Custom Package -> {select your acquired plugin version from file system}

package


1.4 From the SDK you’re interested in one Prefab, called “MonetizrPrefab”. Drag prefab into your first scene. This Prefab exposes 4 properties:

  • Access Token - this is your oAuth Access token, provided from Monetizr. Access tokens are being given per request, contact: martins@themonetizr.com For testing purposes you can use access token: 4D2E54389EB489966658DDD83E2D1
  • Root Canvas - As the Monetizr uses Unity UI, the product panel should be placed inside the UI Canvas. 99% of mobile games have the UI so it’s pretty common that your game will also have one. This should be the Root Canvas inside your scene. You can view at the example in the DemoScene and on the screenshot below:

root_canvas

  • Product Prefab - A product prefab is an another prefab created by us for you in order to show the product to the end user. If this field is empty for you, the prefab that should be attached there, is located at the following path: Monetizr -> Prefabs -> MonetizrProductPrefab
  • Horizontal Product Prefab - A product prefab for a horizontal view. If this field is empty for you, the prefab that should be attached there, is located at the following path: Monetizr -> Prefabs -> MonetizrProductPrefab_Horizontal

Step 2. Showing products

The SDK is written using the singleton pattern in order to simplify the workflow. There are two ways to show the product to the user:

2.1. Access the function MonetizrMonoBehaviour.ShowProductForTag(string) from the unity editor on ButtonClick or any other relevant event. And as a parameter for this function use your product tag (examples for test access token are monetizr-sample-t-shirt, 1-credit, 30-credits):

first_way


2.2. You can also call the function from code like this:

MonetizrClient.Instance.ShowProductForTag("monetizr-sample-t-shirt");

2.3 Run the game and check if product is being called on your specified event. Example t-shirt product look as following:

vertical_unity_product horizontal_unity_product


2.4. If you want to integrate Monetizr, we will provide you with access token, your individual customized products and tags that you wish to integrate. We do have an analytics dashboard and we are building a new customizable front-facing dashboard that will provide you with full possibilities to integrate without human intervention.


Step 3. How to integrate plugin into your game

3.1. Applying behavioral incentives

For those new to the game, Octalysis is gamification framework that defines 8 core drives behind human motivation. The system was designed by Yu-kai Chou after a 10-year long research, and it has already favorably impacted more than 1 billion user experiences around the world. Now let us show you best practices on how we apply behavioral incentives for our customers through the lens of Octalysis. We’re applying all 8 core-drives to reward gamers.


3.1.1. Epic Meaning & Calling

This core-drive motivates players because they are doing something greater than themselves, or they were “chosen” to do something. A player who devotes a lot of time to maintaining a community, a forum or is helping to create value for others (think Wikipedia or Open Source projects).

Motivational drivers: Narrative, Elitism, Humanity hero, Revealed heart, Beginners luck, Destiny child, Creationist, a.o.

Example of Meaning from the game - Blackbox with Coca-Cola: Coca-Cola will match every dollar donated to game developer with $10 amount donated to “Water for People”.

Calling an epic meaning functionality from within your game would be like:

MonetizrClient.Instance.ShowProductForTag("donate-water-for-people");

water_for_people


3.1.2. Development & Accomplishment

A core-drive that sees the player desiring to learn more in order to overcome challenges, make progress, develop skills, and eventually - overcome challenges. The word “challenge” here is very important, because giving out badges or trophies without a challenge is not meaningful at all.

Development & Accomplishment s are one of the easiest to design for points, badges and leaderboards.

Motivational drivers: Status points, Badges, Achievement symbols, Fixed action rewards, Earned points, Leaderboard, Progress bar, Quest list, Dessert oasis, High five, Crowding, Anticipation parade, Aura effect, Step-by-step overlay tutorial, Boss fights, a.o.

Example of Quest points from the game - Hatch-it Hatch-it is a puzzle game where a little robot has to hatch dinosaur eggs in order to save them from falling asteroids. Merch items are unlocked throughout the game, saving exclusive swag and bigger discounts for higher achievements. The more the user plays, the higher exclusivity product and discount he/she gets. At the final level called “winter”, the user can unlock really rare, one-of-a kind items.

Calling an accomplishment from within your game would be like:

MonetizrClient.Instance.ShowProductForTag("unlocked-status-points");

hatch_it


3.1.3. Empowerment of Creativity & Feedback

Core-drive that sees when users are engaged in a creative process where they have to repeatedly figure things out and try different combinations. Players need to express their creativity and see results, receive feedback, and respond in turn. This is why playing with Legos and painting is fun in-and-of itself and often becomes Evergreen Mechanics, where a game-designer no longer needs to continuously add more content to keep the game fresh and engaging.

Motivational drivers: milestone unlocks, real-time control, evergreen combos, instant feedback, boosters, blank fills, plant pickers, poison pickers, a.o.

Example of Milestone unlocks from the app - Slopes Slopes is an app for tracking skiing and snowboarding activities. It uses smart recording functions, works without wi-fi or even cellular service and activities can be easily shared with friends and family. By skiing and/or snowboarding, players earn the right/opportunity to buy limited edition branded swag. Every ride unlocks a new level and new merchandise.

Calling an empowerment from within your game would be like:

MonetizrClient.Instance.ShowProductForTag("unlocked-limited-edition-swag");

slopes


3.1.4. Ownership & Possession

Core-drive where the player feels intense motivation because they own something. When the player is motivated by ownership, there is a strong desire to both acquire items and to own even more. This deals with many virtual goods or virtual currencies within systems and the intrinsic desire to accumulate wealth. Also, if a person spends a lot of time customizing their profile or avatar, they automatically feel more ownership towards that too. Finally, this is also the core-drive that makes collecting stamps or puzzle pieces fun.

Motivational drivers: Exchangeable points, Virtual goods, Build from scratch, Alfred effect, Collection sets, Avatar, Protection, Recruiter burden, Monitor attachment, a.o.

Example of Ownership of the solved puzzles from the game - LazyPixel LazyPixel is a coloring puzzle game. Ownership of long collected puzzles now will be saved and worn in the real world.

Calling an ownership from within your game would be like:

MonetizrClient.Instance.ShowProductForTag("collected-1-credit");

lazy_pixel


3.1.5. Social Influence & Relatedness

This core-drive incorporates all the social elements that drive people, including: mentorship, acceptance, social responses, companionship, as well as competition and envy. When you see a friend that is amazing at some skill or owns something extraordinary, you become driven to reach the same level. This is the drive where we draw closer to other people, places, or events that we can relate to. For example, it could be a product that reminds the player of their childhood. The sense of nostalgia would likely increase the odds of a player buying the game swag. Many companies are optimizing their online social strategies nowadays to take advantage of this drive.

Motivational drivers: Friending, Social treasure, Gifting, SeeSaw bump, Group quests, Tout flags, Brag, a.o.

Example of Social status influence from the game - Live Blackjack 21 Live Blackjack 21 is a live mobile multiplayer Blackjack / casino game. The game has a live chat, the possibility to challenge friends and also customize game avatars. Each game is a new mix of players, keeping it social. Just like karate, players earn more exclusive “belts” aka game hoodies, to show their skill level to their peers. Of course, the black belt or the premium gold hoodie is the best one.

Calling a relatedness from within your game would be like:

MonetizrClient.Instance.ShowProductForTag("right-to-brag-available");

blackjack


3.1.6. Scarcity & Impatience

Core-drive with a simple premise — the player wants to have something for the fact alone that they can’t have it yet. Many games have Appointment Dynamics (come back 2 hours later to get your reward) – the fact that people can’t get something right now motivates them to think about it all day long.

Motivational drivers: Appointment dynamics, Magnetic caps, Dangling, Prize pacing, Options pacing, Last mile drive, Countdown timer, Torture breaks, Moats, The big burn, a.o.

Example of Impatience from the game - Nitro Nation Nitro Nation is a car racing game. Each race the player wins provides parts to upgrade the car. As car upgrades get better the races get harder. Nitro Nation and Audi combined efforts and offered players a weekend challenge. TOP 20 players won prizes by Audi but due to high participation, getting and staying in leaderboard took some serious car racing.

Invoking impatience from within your game would be like:

MonetizrClient.Instance.ShowProductForTag("come-back-in-two-hours");

nitro


3.1.7. Unpredictability & Curiosity

A constant harmless desire of wanting to find out what will happen next. If you don’t know what’s going to happen, your brain is engaged and you think about it often. People watch movies or read novels because of this drive. This drive is also the primary factor behind gambling addiction. Also, this core drive is utilized whenever a company runs a sweepstake or lottery program to engage users. The very controversial Skinner Box experiments, where an animal irrationally presses a lever frequently because of unpredictable results, are exclusively referring to the core-drive of Unpredictability & Curiosity.

Motivational drivers: Glowing choice, Mini quests, Visual storytelling, Easter eggs, Random rewards, Obvious wonder, Rolling rewards, Evolved UI, Sudden rewards, Oracle effect, a.o.

Example of Curiosity from the game - Blackbox Blackbox is series of puzzles that are ever-growing and all involve not touching the screen. Game notifications are used for various accomplishments to drive curiosity. Just when the player thinks he/she has done it all, a secret surprise comes along. Even the box that t-shirts are delivered in, is a part of an elaborate Blackbox Easter egg.

Creating unpredictability from within your game would be like:

MonetizrClient.Instance.ShowProductForTag("an-easter-egg-was-created");

blackbox


3.1.8. Loss & Avoidance

Core-drive is based upon the avoidance of something negative happening. On a small scale, it could be to avoid losing previous work. On a larger scale, it could be to avoid admitting that everything you did up to this point was useless because you are now quitting. Opportunities that are fading away have a strong utilization of this emotional drive, because people feel like if they didn’t act immediately, they would lose the opportunity to act forever.

Motivational drivers: Limited time offer, Sunk cost prison, Progress loss, Rightful heritage, Evanescence opportunity, Status quo sloth, Scarlet letter, Visual grave, FOMO punch, a.o

Example of Loss and avoidance from the game - Blackbox Blackbox is series of puzzles that are ever growing, that all involve not touching the screen. Three days to get where everybody in the game could purchase a shirt that is available only to the elite players. This was supported with a price booster that would disappear in three days.

Avoiding a loss from within your game would be like:

MonetizrClient.Instance.ShowProductForTag("you-avoided-problem-have-a-t-shirt");

blackbox_loss_avoidance


3.2. Creating merchandise store in-game

You can create a merchandise store inside your game to provide in-game opportunity to buy real life goods. As a starting point you can use example that we have provided. We will be glad to help you with designing a custom store for you!

Create a new view for the merch store.

For each product, create a block that consists of both, a product image and a button with the price.

Link the buttons to the correct product as described in Step 2. Showing products

 

merch_vertical merch_horizontal


The merch store view can be created in both vertical and horizontal arrangements. See examples:

vert1 vert2 vert3


hor1 hor2

You're done!

You have successfully integrated Monetizr SDK. You can now test it by making a test order.


Contact Information

If you have other questions, book a meeting.

I’m also available at 📧 martins@themonetizr.com 📱🇺🇸: +1 917-943-8791

martins

Got questions? Contact me!

Martins