Equippable Virtual Goods Explained

At SOOMLA, we’re investigating and reviewing games all the time. We do that so we can create better solutions for our indies’ problems. In our open-source projects we introduced the SOOMLA Economy Model. Currently the Economy Model is in version 3.0 so we called it “modelV3” (sophisticated right? :)).

What does Equipping really mean?

The SOOMLA data model consists of several, commonly used, virtual good types. In this post we’ll talk about the EquippableVG which is the Equippable Virtual Good. This virtual good is for items in your game that your users can equip, meaning these are items that, after they have been purchased, can be used or just “left on the shelf”. It’s easy to say that EquippableVGs are bought once and stay for life (they inherit LifetimeVG).

The EquippableVG’s characteristics are:

  1. Can be purchased only once.
  2. Can be equipped by the user.
  3. Inherits the definition of LifetimeVG.
  4. Contained in a VirtualCategory.

What types of Equipping do we have?

EquippableVGs can be equipped in different ways. We found out that some games allow equipping of only one EquippableVG at once at any given time. Other games allow equipping of only one EquippableVG for the entire VirtualCategory that contains it. Some other games say that if you equip an EquippableVG it doesn’t need to affect any other EquippableVG whatsoever.

Hence, we came up with the 3 types of EquippableVGs:

  1. LOCAL – The current EquippableVG’s equipping status doesn’t affect any other EquippableVG.
  2. CATEGORY – In the containing category only, if this EquippableVG is equipped, all other EquippableVGs are unequipped.
  3. GLOBAL – In the whole game, if this EquippableVG is equipped, all other EquippableVGs are unequipped.

Examples of the 3 types of EquippableVG’s:

  1. LOCAL EquippableVG Example: Say your game offers 3 weapons: a sword, a gun, and an axe (LifetimeVGs). Let’s suppose your user has purchased all 3. These are euippables that do not affect one another – your user can “carry” (use) the sword, gun, and axe at the same time if he chooses to!
  2. GLOBAL EquippableVG Example: Suppose your game offers multiple characters (LifetimeVGs): RobotX and RobotY. Let’s say these are the only EquippableVG’s in your game, and your user owns both characters. He can only play as (i.e. equip) one character at a time, either RobotX or RobotY, but never both at the same time!
  3. CATEGORY EquippableVG Example: Suppose your game offers “shirts” and “hats”. Let’s say there are 4 available shirts and 2 available hats, and your user has purchased them all. He can equip a shirt and a hat at the same time, but cannot equip more than 1 shirt or more than 1 hat at the same time. In other words, he can equip at most one of each clothing category (shirts, hats)!

Real Game Example

We’re sure you love the awesome mobile game “Subway Surfers” just as we do at SOOMLA. In the game, you run on the subway tracks and try to avoid oncoming trains, jump to grab coins along the way, and do missions to earn more coins. You also have an option of using a board to glide through the tracks while staying protected from obstacles for 30 seconds.

In its store, “Subway Surfers” offers many types of products that you can purchase. From single use products to upgrades, they have it all. The game has 2 types of EquippableVGs: “Characters” and “Boards”. In the store you can select from a range of different characters, as well as a number of boards that can be equipped. When you first begin to play the game you play as “Jake”. If you want to play as any other character, you have to purchase him in exchange for virtual coins or real money $$$. You’re also given one free board, the “Hoverboard”, and you’ll have to purchase additional boards if you want to use them.

“Characters” and “Boards” are VirtualCategories that contain the EquippableVG’s that you can purchase. You can equip only one character and one board at any single moment in the game. When you equip a character, your equipped board doesn’t become unequipped, and vice versa. This is what makes the EquippingModel of “Characters” and “Boards” ‘CATEGORY’.


Equippable Virtual Goods can be found in many mobile games. This type of virtual good is very useful and fits a lot of different game genres. Equippables are an important part of the game economy, and SOOMLA is proud to make them available for game devs to use.


Feel free to share:


  1. could you explain what to do if I need SingleUse items which should be added in some sort of menu or should be equipped..
    I can’t add category in SingleUse VG, and onGoodBalanceChanged I receive all items. Is there any better solution then using switch in onGoodBalanceChanged? Could you assist, please?


Please enter your comment!
Please enter your name here