Implemented Functions
This documentation explains the key features applied to the example game 'Food Truck Venture.'
It provides information on all the structures and usage locations of BACKND functions included in the Food Truck Venture example.
Refer to the documentation linked in each section for details on full implementation and customization.
If you have any other questions, try searching the BACKND Community or the Official SDK Documentation!
User management
Guest and Google login/sign-up
Players can use guest accounts or log in via Google accounts to play the game.
Once a player signs up, the player will automatically log in upon the next launch.
A login change option is provided in-game for players wishing to switch from a guest account to Google account. The account conversion begins after confirming that the Google account is not already signed up.
Refer to Guest Account for more information on guest accounts and Google Login Settings for information related to Google login.
Refer to Federation Login for conversions from guest accounts to Google accounts.
Check the following files and methods for parts in the project where guest and Google login have been implemented.
BackndLogin.cs //File name
├── GuestLogin //Method name
├── GoogleLogin
├── CustomSignUp
├── CheckUserInBackend
└── ChangeCustomToFederationLogin
Token login
The game will attempt a token login at the title screen upon launch if a guest or Google login was previously attempted.
If the token login is successful, the player is redirected to the loading scene, and the game starts.
Refer to User Authentication Token for details on token login.
The following is the part where the token login is implemented in the project:
BackndLogin.cs //File name
└── IsLoginWithTokenSuccess //Method name
Nickname
The player's nickname is set.
Only none-duplicate nicknames can be set.
Refer to Modify Nicknames for details on nickname modifications.
The following is the part where the nickname modification is implemented in the project:
BackndUserInfo.cs //File name
└── SetUserName //Method name
Loading User Information
GetUserInfo method is used to load user information from the BACKND Console.
Refer to Loading User Information for details on loading user information.
The following is the part where the user information loading is implemented in the project:
BackndUserInfo.cs //File name
└── LoadData //Method name
CDN chart and probability
Chart management
Charts are used to store shared in-game data. The relevant data cannot be modified unless directly updated in the BACKND Console.
The loaded chart data is saved in and used through in-game ScriptableObjects.
The following are pieces of handled by in-game charts:
Kitchen utensil upgrade : Cost, profit, bonuses upon reaching max level on each stage
Stage upgrade : Provides permanent buff for the current stage
All in-game items : Runs cross-examination in-game by saving item data and distributes items through the mail system
Refer to Chart Table Lookupand Look up Chart Content for details on implemented charts.
The following includes parts where chart loading and ScriptableObjects saving are implemented:
Load Chart
BackndChart.cs //File name
└── GetChartDatas //Method name
Save to ScriptableObject
SO_ChartData.cs
Probability management
When a player spends a specific currency to purchase a probability-based item, the item granted is determined based on the probability and its resulting grade and type.
Refer to Probability Table Lookup and Draw Probability Content Lookup for more details on the implemented charts.
Load Probability
BackndProbability.cs //File name
└── GetProbabilityContentData //Method name
Save to ScriptableObject
SO_ProbabilityData.cs
Game information management
Insert, look up, modify, and delete game information
This data is dynamically recorded on the server to save the player's progress in-game.
It includes information such as the player's gem count, accumulated logins, upgrades, and specific event completion statuses.
Refer to Game Information Management to safely save and load player status at anytime.
UserDailyLoginDataManager.cs //File name
UserStageDataManager.cs
UserDataManager.cs
UserWardrobeDataManager.cs
Auto-save
The timer in AutoSaveTimer.cs runs to attempt auto-save according to the set interval. Invoke is called on an action method named OnSaveTime. Then, the SaveData methods registered to OnSaveTime are called to attempt saving.
UserDailyLoginDataManager.cs //File name
└──SaveData //Method name
UserStageDataManager.cs
└──SaveData
UserDataManager.cs
└──SaveData
UserWardrobeDataManager.cs
└──SaveData
AutoSaveTimer.cs
└── Update //OnSaveTime.Invoke
User leaderboard
The leaderboard is a function that compares scores of all players to encourage competition.
In Food Truck Venture, the user leaderboard is utilized to make players compete based on the gold they've obtained.
Refer to Data Table and Leaderboard Settings for project setup instructions and
User Leaderboard for information on more detailed usage.
BackndLeaderboard.cs //File name
├── LoadLeaderBoard //Method name
├── UpdateLeaderboard
├── UpdateLeaderboardAsync
└── GetMyDataInLeaderboard
Mail system
This system is utilized to send information from the server to players.
The mail is used to distribute rewards or send important announcements to users.
The function for users to send mail has not been implemented.
Refer to How to Set Mail and Announcements for project execution instructions.
Refer to Mail Function for more details.
BackndMail.cs //File name
├── LoadMailData //Method name
├── ClaimMail
└── DeleteMail
AbstractMailReceiveReward.cs
In-app payments and receipt verification
Check whether the user purchased the item through in-app payments and confirm each purchase history through receipt verification.
The purchase restoration function can check whether transactions were successfully completed in-game.
In-app payment products in the game are as follows:
Consumable : Gems
Non-consumable : Bundles and Costumes
The purchase restoration function prevents repeated purchases of one-time items. (When device change or payment error occurs)
Refer to the In-app Payments and Receipt Verification Settings page in the example game for more details.
Check project status
You can check whether the game is playable or under maintenance and determine the game's accessibility depending on the server status.
Refer to Project Status Lookup for more details.
BackndServerState.cs //File name
└── CheckServerStatus //Method name
Version management
Manage game versions through the BACKND Console and force updates to prevent the game from running if the versions do not match.
Refer to the Version Management page for more details.
BackndServerState.cs //File name
└── CheckVersionStatus //Method name
Announcements and temporary announcements
You can utilize them to deliver in-game announcements to users.
Various messages including maintenance schedules, game updates, or other issues can be displayed.
Temporary announcements are separate from normal announcements, and only one can be posted at a time.
Announcements can be delivered to users even if they are not logged in.
Refer to How to Set Mail and Announcements on tasks required to execute the project.
Refer to Lookup Announcement List and Lookup Temporary Announcements for more details on the implementation.
BackndAnnouncement.cs //File name
├── LoadAnnouncement //Method name
└── GetTemporaryNotice
AbstractMailReceiveReward.cs