Studio GuideWorld SDK Guide
Log In

Build an economic system with ZEPETO Product

With ZEPETO Product systems, World Creators can earn profits by building economic systems and selling items.

❗️

Caution

  • For previously implemented worlds using IWP components, it is recommended to use IWP's higher compatible ZEPETO.Module Packages.
    • Support for the IWP package has been terminated. If there are worlds using IWP, please update them using the ZEPETO.Module package and release them as a new version.

STEP 1 : Setting up a product at ZEPETO Studio

STEP 1-1 : Registering a World ID

The first thing you need to do is issue a World ID at ZEPETO Studio and then proceed with the product registration.
Also, you must register a world cover image.

2880

Check out the link below for more information.

📘

Please refer to the following guide. [Making a World Console]


STEP 1-2 : Registering Currencies

There are two main types of currencies available in ZEPETO World.

  • ZEPETO Official ZEM
    • This is a currency that can be charged and used for a fee.
  • Custom Currency
    • Currency that can only be used in the world.
    • Custom Currency can be created and managed in ZEPETO Studio.
    • Custom Currency can be registered as a 'Currency Package' product in ZEPETO Studio and sold as a ZEM product.

📘

Please refer to the following guide. [World Currency]


STEP 1-3 : Register an item

Please register the items you want to use in the inventory in ZEPETO Studio.

Items can be sold as ZEM and my own currency.

📘

Please refer to the following guide. [World Products]


STEP 2 : Installing the ZEPETO.Module Package

Install Window → Package Manager → ZEPETO.Module


❗️

Caution

  • As part of performance improvement efforts, ZEPETO.Product has been moved from an independent package to be included in the ZEPETO.Module package, version 1.0.6 and later.
    • Please delete the previously installed ZEPETO.Product package.
    • Install version 1.0.6 or higher of the ZEPETO.Module package.

ZEPETO Multiplay Server must be added to work with ZEPETO Studio.

Select ZEPETO → Multiplay Server on the [+] menu at the top left of the [Project] panel, or go to Assets → Create → ZEPETO → Multiplay Server.


❗️

Caution

  • You don't have to do any schema work to use ZEPETO products.
  • Instead, server scripts and client scripts need to be implemented to communicate with the server.
  • Please refer to the ZEPETO Product sample and the ZEPETO Product API for implementation of the script.

STEP 3 : ZEPETO Product Sample

The following is a sample implementation of ZEPETO Product.

To understand the ZEPETO Product system, we recommend that you follow the guide to understand the implementation of the sample.

Samples include examples of currency systems, inventory systems, item acquisition, purchase, and UI resources.

1351

ZEPETO Product Sample UI

❗️

Caution

  • Please feel free to use the UI resources and scripts provided in the sample when you create the ZEPETO World.
  • However, it is prohibited to use the resources of the published samples other than ZEPETO World.

📘

ZEPETO Product


How to apply a sample of ZEPETO Product

  1. Please register the currency and products with the same name as those used in the sample at ZEPETO Studio.(If the currency ID and product ID are different, they cannot be linked with the sample.)
  • Currency
IDCurrency Name
starstar
energyenergy

  • Item
IDNameSales CurrencyPriceType
note1note1star10Nonconsumables
potion4potion4energy4Consumables
potion3potion3energy3Consumables
potion2potion2energy2Consumables
potion1potion1energy1Consumables

  • Currency Package
IDNameSales CurrencyPricePackage Configuration
energy4energy4ZEPETO ZEM4energy, 40
energy3energy3ZEPETO ZEM3energy, 30
energy2energy2ZEPETO ZEM2energy, 20
energy1energy1ZEPETO ZEM1energy, 10

  • Item Package
IDNameSales CurrencyPricePackage Configuration(item)
potion_packagepotion_packageZEPETO ZEM3potion4, 3
704

Package configuration example


  1. Import Product Canvas located in Assets/ProductSystem/Prefab into Scene.


  1. Enter your World ID in Open World Setting.

  1. Run Unity menu bar > ZEPETO > Product > Settings.
  • If the currencies and product list are displayed well, the link will be successful.

  • You can verify that the icon image in the Assets>Product>Resources folder is set.

  • You can register the cover photo of the product directly.

❗️

Caution

  • If you can't see the product properly, please check the following.
    • Please make sure that the account information logged in to the Unity Editor is the same as the World id creator's information.
    • Please verify that the WorldId information entered in World Settings is correct.
    • Please confirm that you have registered the same id currencies and products as those used in the sample.

  1. Please turn on the multi-server and press the Play button to run the sample.


STEP 4 : ZEPETO Product Sample Function Instruction


◦ Gain Energy : When you click a button, you get one energy product.

◦ Use Energy : When you click a button, you can deduct one energy item

◦ Increase EXP : Click the button to obtain experience value by 10. If you get an experience value and your level goes up, you get 5 Star currency.

◦ Acquire Random Item : Click the button to randomly add one of the four potion items to the inventory.

◦ Purchase Immediately : When you click the button, you can deduct one energy item and purchase Potion 1. The purchase window does not appear, and the purchased items are immediately in the inventory.

◦ Purchase through UI : Click the button and the purchase window will appear.You can purchase Note 1 by deducting 10 Star currency from the purchase window.


◦ Purchase ItemPackage : Click the button and the purchase window will appear.You can purchase potion package products by deducting ZEPETO ZEM from the purchase window.


  • Bag icon: Click on the button to display the inventory window. You can check the list of items you have, select them, and use them.


  • Shopping cart icon: When you click the button, the purchase window for energy currency appears. You can purchase currency package products by deducting ZEPETO ZEM from the purchase window.


STEP 5 : Precautions for ZEPETO Product Test

  • When multi-server is turned on, ZEPETO Product testing is possible on the sandbox server.
  • The changes made in the editor will not be reflected in ZEPETO Studio.
  • Changes made to Pretest and released World will be reflected in ZEPETO Studio.
  • Sandbox test environment will be initialized when multi-server is turned off.(It will be initialized with ZEPETO studio data.)
  • Testing non-consumable items
    • If the multi-server is on, you cannot purchase it again once you purchase it.
    • If you turn off the multi-server, the test environment will be initialized, so if you turn on the multi-server again, you can purchase it.
  • Without registering a World Cover Image, you cannot properly perform Product testing. Please make sure to check whether the World Cover Image has been correctly registered in ZEPETO Studio.
2880

Without registering a World Cover Image, you cannot properly perform Product testing


STEP 6 : Implement content after purchasing a product

Samples do not implement content after the item is used.
That part must be implemented directly as intended by the world's producers.
Please refer to the script in UICommonBtn.ts.

this._multiplay.Room.AddMessageHandler<InventorySync>("SyncInventories", (message) => {
  this.OpenInformation(`${message.productId} has been ${InventoryAction[message.inventoryAction]} in the inventory.`);
  // Item use sample
  if(message.inventoryAction == InventoryAction.Used){
    if(message.productId == "potion1"){
      console.log("potion use!");
    }
  }
});

The key is to implement the content code according to the product ID when using the product.

If you want to implement when using potion2, make the following changes:

this._multiplay.Room.AddMessageHandler<InventorySync>("SyncInventories", (message) => {
  this.OpenInformation(`${message.productId} has been ${InventoryAction[message.inventoryAction]} in the inventory.`);
  // Item use sample
  if(message.inventoryAction == InventoryAction.Used){
    if(message.productId == "potion2"){
      console.log("potion2 use!");
    }
  }
});

STEP 7 : Using Product Purchase Button

In addition to the buttons provided by the sample, you can easily add the direct purchase button.

Click Hierarchy > ZEPETO > Product Purchase Buton to automatically create a button.


You can choose which product you want to link with on the button inspector.

Please select the product id you want to work with.


Please turn on the multi-server and press the Play button to run the sample.

If you click the button, you can see the sales window automatically.


If you click the button after linking other products, you can see the sales window of the linked products automatically.


Products purchased through Product Purchase Buton can also be checked in the inventory.


Product Application Example

  • Here is an example of an In-World Product applied to the official ZEPETO World Slime Party.
  • The product items have been registered in ZEPETO Studio as follows:

  • For consumable buff items that accelerate the growth of slimes for a certain period, the settings are as follows:

  • When integrated into the actual in-world UI, you can purchase the registered items as follows.


  • When the item is successfully purchased, the buff's effect is triggered.