O backend do seu jogo Unity

Contas de jogadores, placares, configuração remota, salvamento na nuvem e recompensas diárias — um SDK para Unity, um painel, tudo pronto em minutos.

Plano Free com 1.000 jogadores. Sem cartão de crédito.

Um backend para todas as engines

Login instantâneo como convidado que sobrevive a reinicializações; depois, vincule a um e-mail ou ao Google por uma página web segura — o progresso vai junto.

JogadorLogincoins
NovaGoogle1.240
KaitoE-mail860
LunaConvidado410
RakaGoogle1.975
MiraConvidado95
POST/v1/auth/guest
{ "ok": true, "auth_method": "guest", "player": { "player_id": "player_3f9c…", "display_name": "Guest 4821" } }

Poucas linhas na sua engine

Faça login de um jogador, envie uma pontuação e leia a configuração ao vivo. Toda chamada retorna um resultado em vez de lançar uma exceção.

Unity
SDK em C# para Unity 2021.3+ com async, corrotinas e uma cena Starter.
Godot
Addon em GDScript para Godot 4.2+ com autoload e configuração pelo editor.
Web / JavaScript
Um único arquivo JavaScript para jogos HTML5, sites e Node.js.
REST API
HTTPS e JSON puros para qualquer outra engine ou servidor.
using MajacloudSdk;
using UnityEngine;

public class GameStart : MonoBehaviour
{
    private async void Start()
    {
        // Restores the saved session or creates a guest
        var signIn = await Majacloud.Auth.SignInAnonymouslyAsync();
        if (!signIn.Ok)
        {
            Debug.LogWarning(signIn.Error.Message);
            return;
        }
        Debug.Log("Hello " + signIn.Value.DisplayName);

        await Majacloud.Leaderboards.SubmitScoreAsync("coins", 120);
        int damage = Majacloud.RemoteConfig.GetInt("enemy_damage", 25);
    }
}

Tudo o que um jogo ao vivo precisa

Cada serviço funciona de forma independente e pelas mesmas chamadas do SDK, do editor até builds WebGL e mobile.

Mude o jogo sem precisar de atualização

Cada alteração é versionada e assinada. Reverta qualquer valor com um clique; os jogos recebem a mudança na próxima busca.

Configuração remota
Configuração remota
Versão publicada 14 RSA-SHA256
ChaveTipoValor
enemy_damagenumber30
player_speednumber4.5
double_xp_weekendbooleantrue
event_bannerstringLunar festival: 2× coins!
shopjson{"sale": 0.2}
enemy_damage 25 → 30Restaurar

Conheça cada jogador

Login instantâneo como convidado que sobrevive a reinicializações; depois, vincule a um e-mail ou ao Google por uma página web segura — o progresso vai junto.

Jogadores
JogadorLogin
NovaGoogle
KaitoE-mail
LunaConvidado
RakaGoogle
MiraConvidado
Nova
player_3f9c…
Carteira
coins1.240
gems15
Documentos
progressr12
settingsr3

Salvamento na nuvem

Salve qualquer objeto serializável por jogador, com revisões, para que dois dispositivos nunca sobrescrevam um ao outro sem aviso.

Salvamento na nuvem
Phone
PUT/v1/cloud/progress
{ "revision": 12, "data": { "level": 9 } }
200"revision": 13
Tablet
PUT/v1/cloud/progress
{ "revision": 12, "data": { "level": 8 } }
409revision_mismatch · current_revision 13

Depure com requisições reais

Volume diário e erros, além de cada requisição com status, latência e ID de requisição.

Logs
Volume de requisições
7 dias
RequisiçãoStatusLatência
POST/v1/leaderboards/coins/scores20034 ms
GET/v1/config30412 ms
PUT/v1/cloud/progress40921 ms
POST/v1/rewards/claim20019 ms
POST/v1/auth/refresh20018 ms

Do zero à primeira requisição

  1. Crie um projeto

    Cadastre-se, crie um projeto e tenha à mão o ID do projeto e a chave de cliente. O conteúdo Starter é adicionado para você.

  2. Importe o SDK do Unity

    Importe o .unitypackage, abra Tools ▸ Majacloud ▸ Setup, cole suas chaves e teste a conexão.

  3. Aperte Play

    A cena Starter faz login, envia pontuações, salva o progresso, resgata uma recompensa e lê a configuração — depois é só copiar o que você precisa.

Não usa Unity? O mesmo backend funciona com Godot, o SDK Web.

1.240Space Runner
CoinsReinicia semanalmente
1Nova12.480
2Kaito12.290
3Luna12.010
4Raka11.840
5Mira11.620
Recompensa diáriaResgatar +50

Seguro por padrão

O que costuma dar errado em um backend de jogos já está resolvido para você.

  • As chaves secretas são armazenadas como hash e exibidas uma única vez; a chave de cliente pública só pode agir em nome de jogadores conectados.
  • Tokens de acesso de curta duração, com refresh tokens rotativos e detecção de reutilização.
  • A configuração remota é assinada com RSA-SHA256 e verificada no dispositivo antes de ser usada.
  • Pontuações, recompensas e carteiras são validadas no servidor, sem nunca confiar no cliente.
  • Limites de taxa, cotas diárias e logs de cada requisição, com IDs de requisição, para todos os projetos.
GET/v1/config200
{
  "ok": true,
  "version": 14,
  "configs": [
    { "key": "enemy_damage", "type": "number", "value": "30" },
    { "key": "double_xp_weekend", "type": "boolean", "value": "true" }
  ],
  "checksum": "9c41f0…e27b",
  "signature": "Kq3vR8yJ…Wm0=",
  "signature_algorithm": "rsa-sha256",
  "signing_key_id": "config-v1"
}

Preços mensais simples

Pague em Rupiah com QRIS, carteiras digitais, transferência bancária ou cartão via Midtrans. Sem cobranças automáticas — renove quando quiser.

Free

Tudo o que você precisa para lançar um jogo pequeno.

R$ 0 / mês

 

  • 4.000 requisições de API / dia
  • 1.000 contas de jogadores
  • 1 projetos
  • 1 placares por projeto
  • 3 chaves de configuração remota
  • 32 MB armazenamento na nuvem
Comece grátis

Starter

Espaço para crescer em jogos com uma comunidade de verdade.

≈ R$ 9,67 / mês

Cobrado em Rupiah: Rp29.000

  • 10.000 requisições de API / dia
  • 10.000 contas de jogadores
  • 3 projetos
  • 3 placares por projeto
  • 10 chaves de configuração remota
  • 256 MB armazenamento na nuvem
Escolher Starter

Max

Capacidade máxima para jogos grandes e movimentados.

≈ R$ 99,67 / mês

Cobrado em Rupiah: Rp299.000

  • Ilimitado requisições de API / dia
  • Ilimitado contas de jogadores
  • 25 projetos
  • 30 placares por projeto
  • 1000 chaves de configuração remota
  • 10 GB armazenamento na nuvem
Escolher Max

Os limites valem por conta. Ao atingir um deles, a API responde com um erro plan_limit claro — nada é excluído. Os preços em BRL são aproximados. A cobrança é feita em Rupiah indonésia (IDR) pela Midtrans; a taxa de câmbio final é definida pelo seu banco ou carteira digital.

Perguntas frequentes

Quais versões do Unity são compatíveis?

Unity 2021.3 LTS e mais recentes, incluindo o Unity 6. O SDK não tem dependências de terceiros e funciona com os pipelines Built-in, URP e HDRP.

Funciona em WebGL e mobile?

Sim. O SDK nunca usa threads, então as chamadas async funcionam em WebGL, Android e iOS. Todo método async também tem uma versão com corrotina.

Posso usar com Godot ou em um site?

Sim. O Unity é o SDK principal, e há um addon para Godot 4 e um SDK JavaScript sem dependências para jogos HTML5, sites e servidores Node.js. Todos falam com a mesma API REST, então você também pode chamá-la de qualquer outra engine.

O que acontece quando um jogador está offline?

A configuração remota continua funcionando a partir de um cache local verificado, a sessão de convidado é restaurada na próxima abertura do jogo e toda chamada retorna um resultado com código de erro em vez de lançar uma exceção.

O que acontece quando atinjo um limite do plano?

Novos itens são recusados com um erro plan_limit que seu jogo pode exibir. Jogadores e dados existentes continuam intactos, e fazer upgrade remove o limite na hora.

Como funcionam os pagamentos?

Escolha um plano e pague um mês pela Midtrans. Pagar de novo o mesmo plano adiciona mais um mês. Enviamos um lembrete por e-mail antes do fim do período.

Posso consultar ou excluir dados dos jogadores?

Sim. O painel mostra cada jogador com suas pontuações, salvamentos e carteira, e permite excluir qualquer um deles. Excluir um projeto remove todos os dados dele.

Adicione recursos online ao seu jogo hoje

Comece de graça. Sua primeira requisição pode estar a poucos minutos de distância.