Skip to main content

Option Types

In an interactive story, choices are the primary way players influence the narrative. They allow players to shape their character's personality and determine the path of the story.

Currently, there are three types of options available for use in your scripts:

  1. Normal Option
  2. Premium Option
  3. Ads Option

Normal Option

This is the standard choice type. A Normal Option is free for the player to select. It allows for branching storylines or character expression without any currency barriers or restrictions.

Syntax:

-> [OptionText]

Parameters:

ParameterTypeDescription
OptionTexttextThe text displayed on the choice button.

Examples:

What do you want to order?
-> Sushi
-> Pasta
-> I don't want to order

The player is free to choose any of these three options. None of them require gems or ads.


Premium Option

A Premium Option requires the player to spend in-game currency to make a specific choice. These are typically used for exclusive scenes, romantic interactions, or special advantages that enhance the gameplay experience.

Currently, the system supports gem as the currency type.

Persistence

Once a Premium Option is purchased, it is permanently unlocked. If the player replays the story, this choice will appear as a Normal Option and will not require payment again.

Syntax:

To create a premium option, add a hashtag followed by the cost definition at the end of the option line. Note the underscore _ separating the currency type and the amount.

-> [OptionText] #cost:[Currency]_[Amount]

Parameters:

ParameterTypeDescription
OptionTexttextThe text displayed on the choice button.
CurrencytextThe type of currency used (currently gem is supported).
AmountnumberThe cost value. This must be separated from the currency by an underscore _.
How it works in-game

When a player clicks a Premium Option:

  1. Sufficient Funds: If the player has enough currency, the cost is deducted, and the story proceeds immediately.
  2. Insufficient Funds: A pop-up window appears informing the player they do not have enough currency to choose this option.

Examples:

What do you want to order?
-> Sushi
-> Pasta #cost:gem_10
-> I don't want to order

The player can freely choose "Sushi" or "I don't want to order." However, choosing "Pasta" will deduct 10 gems from their balance.


Ads Option

An Ads Option allows the player to unlock a special choice by watching a rewarded video advertisement. This is an excellent alternative for players who may not have premium currency but still wish to access special content.

Persistence

Similar to Premium Options, once an Ads Option is watched, it is permanently unlocked. Upon replaying the story, it will function as a Normal Option.

Syntax:

To make an option require an ad, use the #cost:ads tag at the end of the line.

-> [OptionText] #cost:ads

Parameters:

ParameterTypeDescription
OptionTexttextThe text displayed on the choice button.
cost:adstagThe specific tag that triggers the video ad logic.
Editor vs. Mobile Behavior
  • On Mobile: The game checks for ad availability. If an ad is ready, the player watches it to unlock the choice. If no ad is available (e.g., due to connection issues), the game will automatically grant the choice to prevent the player from getting stuck.
  • In the Editor: Since real ads cannot play in the Unity Editor, a pop-up window will appear confirming that the "Watch Ad" logic was triggered successfully.

Examples:

What do you want to order?
-> Sushi #cost:ads
-> Pasta #cost:gem_10
-> I don't want to order

In this scenario:

  • Choosing Sushi triggers a video ad.
  • Choosing Pasta costs 10 gems.
  • Choosing I don't want to order is free.