Skip to content

Game Methods

Game methods perform operations related to game logic. They include commonly used game functions such as room management, scoring, data saving, leaderboards, and ads.

createRoom

Creates a new multiplayer game room.

js
const result = await gameTegra.createRoom({
  maxPlayers: 4,
  gameMode: 'classic'
})
csharp
var result = await gameTegra.createRoom(
    gameTegra.@params("maxPlayers", 4, "gameMode", "classic")
);
gdscript
var result = await gameTegra.createRoom({
    "maxPlayers": 4,
    "gameMode": "classic"
})

Parameters:

FieldTypeRequiredDescription
maxPlayersnumberNoMaximum number of players in the room
gameModestringNoGame mode
...anyNoOther parameters supported by the backend

Return Type: Determined by the backend. Typically returns room info (roomId, players, etc.).


joinRoom

Joins an existing room.

js
const result = await gameTegra.joinRoom({ roomId: 'room-abc-123' })
csharp
var result = await gameTegra.joinRoom("room-abc-123");
gdscript
var result = await gameTegra.joinRoom("room-abc-123")

Parameters:

FieldTypeRequiredDescription
roomIdstringYesID of the room to join

leaveRoom

Leaves the current room.

js
const result = await gameTegra.leaveRoom()
csharp
var result = await gameTegra.leaveRoom();
gdscript
var result = await gameTegra.leaveRoom()

Parameters: None


quickMatch

Performs quick matchmaking and automatically joins a suitable room.

js
const result = await gameTegra.quickMatch({
  gameMode: 'ranked',
  skillLevel: 5
})
csharp
var result = await gameTegra.quickMatch(
    gameTegra.@params("gameMode", "ranked", "skillLevel", 5)
);
gdscript
var result = await gameTegra.quickMatch({
    "gameMode": "ranked",
    "skillLevel": 5
})

Parameters:

FieldTypeRequiredDescription
gameModestringNoGame mode for matchmaking
skillLevelnumberNoPlayer skill level
...anyNoOther parameters supported by the backend

getScore

Gets the player's current score.

js
const score = await gameTegra.getScore()
csharp
int score = await gameTegra.getScore();
gdscript
var score = await gameTegra.getScore()

Parameters: None

Return Type: number / int - The player's score


saveData

Saves game data.

js
const result = await gameTegra.saveData({
  level: 5,
  coins: 1200,
  inventory: ['sword', 'shield']
})
csharp
var result = await gameTegra.saveData(
    gameTegra.@params("level", 5, "coins", 1200)
);
gdscript
var result = await gameTegra.saveData({
    "level": 5,
    "coins": 1200,
    "inventory": ["sword", "shield"]
})

Parameters:

FieldTypeRequiredDescription
(free-form)objectYesData to save. Structure is determined by the backend.

loadData

Loads previously saved game data.

js
const data = await gameTegra.loadData({ key: 'player_progress' })
csharp
var data = await gameTegra.loadData(
    gameTegra.@params("key", "player_progress")
);
gdscript
var data = await gameTegra.loadData({ "key": "player_progress" })

Parameters:

FieldTypeRequiredDescription
(free-form)objectNoFilter/query parameters. Determined by the backend.

showAd

Shows an ad.

js
const result = await gameTegra.showAd({ type: 'rewarded' })
csharp
var result = await gameTegra.showAd(
    gameTegra.@params("type", "rewarded")
);
gdscript
var result = await gameTegra.showAd({ "type": "rewarded" })

Parameters:

FieldTypeRequiredDescription
typestringNoAd type (e.g. "rewarded", "interstitial")
...anyNoOther parameters supported by the backend

createLeaderboard

Creates a new leaderboard.

js
const result = await gameTegra.createLeaderboard({
  name: 'high_scores',
  sortOrder: 'desc'
})
csharp
var result = await gameTegra.createLeaderboard(
    gameTegra.@params("name", "high_scores", "sortOrder", "desc")
);
gdscript
var result = await gameTegra.createLeaderboard({
    "name": "high_scores",
    "sortOrder": "desc"
})

getLeaderboard

Gets leaderboard data.

js
const leaderboard = await gameTegra.getLeaderboard({
  name: 'high_scores',
  limit: 10
})
csharp
var leaderboard = await gameTegra.getLeaderboard(
    gameTegra.@params("name", "high_scores", "limit", 10)
);
gdscript
var leaderboard = await gameTegra.getLeaderboard({
    "name": "high_scores",
    "limit": 10
})

updateLeaderboard

Updates the leaderboard (e.g. submits a score).

js
const result = await gameTegra.updateLeaderboard({
  name: 'high_scores',
  score: 9500
})
csharp
var result = await gameTegra.updateLeaderboard(
    gameTegra.@params("name", "high_scores", "score", 9500)
);
gdscript
var result = await gameTegra.updateLeaderboard({
    "name": "high_scores",
    "score": 9500
})