No coding needed · Unity + gea-rt

Make a real Unity game without writing code.

You describe the game in your own words, the AI writes it, the Studio puts it into Unity for you. You press Play. Accounts, coins and results live in your own website; rooms run on your own Go server.

Who it is for

If you can explain a game to a friend, you can make it.

You never write C#

The AI writes every screen, rule and 3D world. The Studio checks it before anything touches your project.

You never touch the engine

The Vybev core in Unity stays the same; the AI only adds your game on top, so an AI mistake cannot break Unity.

Fix by talking

“The enemy is too fast”, “add a shop” — say it, upload the new ZIP, play again.

No server code either

Login, coins, leaderboards and match results come from the website you already have.

What you still do yourself: install Unity once, press Play, and press Build when you publish. Knowing Unity helps for custom art and fine tuning, but it is not needed to get a working game.
What you can build

From a game of caro to a 3D arena for hundreds.

One Unity core reads what the AI writes: screens, UI, 3D worlds, objects, rules. The AI never touches the engine, so every game stays mountable.

Turn-basedCaro, chess, cards, ludo, quiz, board games

The board is shared state with a version: two players moving at once cannot overwrite each other. The host checks every move, the result goes to your database.

Real-time 2D.io games, snake, top-down shooters, racing seen from above

Positions 15–20 times a second, each player only receives the players near them. Hits and pickups are decided by the host from server positions.

Real-time 3DArenas, party games, 3D racing, open-world hubs

3D worlds, characters with animation, camera that follows, joystick and keys — described as data, built by the core at run time. Hundreds of players in one room.

Server-refereedRanked PvP, shops, loot, auto-battlers

A Linux build of the same game runs as referee: players only send requests, money and damage are decided on the server, simulations are deterministic.

Co-op PvEMonsters, NPCs, waves, bosses

The host owns the monsters; every player sees them move smoothly. Bullets and effects are pooled so phones stay fast.

Single-playerPuzzle, idle / clicker, runner, match-3, tower defense

No room needed. Progress on the phone per signed-in user; coins, items and leaderboards through your website's APIs.

Also in the core: real models and animations (FBX, Mixamo), artist packages (.unitypackage), URP with post-processing, joystick and HUD buttons, Vietnamese fonts, graphics that follow each phone (render resolution, shadows and particles adjust to the real FPS, an on-device benchmark picks the right level), hot reload on a phone while you edit. Not yet: NavMesh path-finding, terrain generation, cutscenes; realtime does not run on WebGL.
Five steps, no code

From an idea in your head to a game on the phone.

Say what you want

Studio → Prompt → Game. Copy it into Claude or ChatGPT and write your idea in plain words, Vietnamese is fine: “a caro game for 2 players, coins for the winner”. Add your pictures if you have them.

The AI answers with one ZIP

The game, the website part (coins, shop, leaderboard) and the realtime rooms come in the same ZIP. You do not open or read it.

Upload it

Studio → Unity → Upload ZIP. Everything is checked first: if the AI made a mistake, nothing is written and you get the sentence to send back to the AI.

Press Play

Open the folder in Unity 6, press Play. Want a change? Tell the AI “make the board bigger”, upload the new ZIP — only the changed files move.

Publish

Build the APK / AAB for Google Play or the iOS app from Unity's Build Profiles. The game signs in with your website's accounts.

How it connects

The game never holds a database password.

Everything goes through your website and gea-rt — the same accounts, the same data, the same permissions as your web pages and your app.

UnityAndroid · iOS · PC
HTTPS
signed for your domain
Your websiteaccounts · APIs · database · results
signed API
gea-rtrooms · chat · positions
WhatWhereHow
HTTPSign in/login/defaultthe website's own accounts — no second user list
HTTPYour data/api/view/<api>coins, items, friends, shop, leaderboards: APIs of your website, written with the Website prompt
HTTPRealtime ticket/_gx/rt-ticketa 2-minute, one-time ticket for the signed-in player; the game never sees a secret
WSRooms & chatwss://rt.<domain>/wsgea-rt (Go): matchmaking, shared state, positions, lobby chat, who is online
HMACMatch results/_gx/rt-resultgea-rt signs the result and the website stores it in <prefix>_game_matches / _game_scores; rewards are given by your API after checking it
Like the mobile app, every game carries a signature made for your website's domain. Set the game name and logo in Studio → Unity: the signature is added only while your code signature is active, and the website refuses unsigned games — sign-in, APIs and realtime tickets included.
A game needs two things: a backend (Laravel or Python, with MySQL / PostgreSQL / MongoDB) for accounts, coins and results, plus the Unity package ($99, was $165, once per e-mail). Realtime gea-rt is a $99 add-on (was $165) — you only need it for multiplayer. Pick them together on the pricing page and pay once. See pricing
Install

gea-rt on your server, Unity on your computer.

gea-rt is one Go binary: no runtime, no database (Redis only when you run several machines).

gea-rt: binary and secret

Linux amd64 / arm64. One secret per website project.

bash
sudo install -m 755 gea-rt-linux-amd64 /usr/local/bin/gea-rt
sudo useradd --system --no-create-home --shell /usr/sbin/nologin gea-rt
sudo mkdir -p /etc/gea-rt/secrets
gea-rt -gen-secret | sudo tee /etc/gea-rt/secrets/shop.secret
sudo chown -R root:gea-rt /etc/gea-rt && sudo chmod 750 /etc/gea-rt/secrets && sudo chmod 640 /etc/gea-rt/secrets/*

gea-rt: configuration

/etc/gea-rt/gea-rt.json — origins = your website, results_url = where match results go.

/etc/gea-rt/gea-rt.json
{
  "listen": "127.0.0.1:8090",
  "public_url": "wss://rt.shop.vn/ws",
  "apps": [{
    "id": "shop",
    "secret_file": "/etc/gea-rt/secrets/shop.secret",
    "origins": ["https://shop.vn"],
    "results_url": "https://shop.vn/_gx/rt-result"
  }],
  "rooms": { "max_players": 500, "max_tick": 30 }
}

gea-rt: service + HTTPS

systemd keeps it running; Nginx gives it wss:// on its own subdomain.

bash
gea-rt -check -config /etc/gea-rt/gea-rt.json
sudo cp deploy/gea-rt.service /etc/systemd/system/
sudo systemctl daemon-reload && sudo systemctl enable --now gea-rt
curl -s http://127.0.0.1:8090/healthz     # ok
# Nginx + HTTPS: deploy/nginx-gea-rt.conf → rt.shop.vn, then
sudo nginx -t && sudo systemctl reload nginx

Website: turn on Realtime

Nothing to code on the website: tickets, results and tables are built in.

Website config
Website → Config → Realtime
  Enabled ............ on
  URL ................ http://127.0.0.1:8090        (server to server)
  Public WS URL ...... wss://rt.shop.vn/ws
  App id ............. shop
  Secret ............. contents of /etc/gea-rt/secrets/shop.secret
  Games .............. on
  sub / pub .......... presence:lobby               (lobby chat + who is online)
  Results table ...... game_matches · Players table: game_scores
→ press "Test connection"

Unity: your computer

The Studio writes the files; you only open, play and build.

Steps
1. Install Unity Hub + Unity 6 LTS (Android Build Support; iOS Build Support on a Mac)
2. Studio → Unity → Upload ZIP (the name comes from the ZIP, no need to create it first)
3. Put the files in my folder: choose an empty folder (Chrome / Edge; every later upload is written there too)
4. 2 · Name & logo: name on the phone, bundle ID, square PNG logo ≥ 1024 px → Save
5. Libraries to install: shows the Unity packages your game needs, if any
6. Unity Hub → Add → the folder → Gx → Check project → Play

Unity: build on a server (optional)

Ubuntu + Unity 6 in batch mode: check, APK, AAB for Google Play.

bash
export UNITY=/opt/unity/Editor/Unity
$UNITY -batchmode -nographics -quit -projectPath . -executeMethod GxKit.EditorTools.GxBuild.Check -logFile -
$UNITY -batchmode -nographics -quit -projectPath . -buildTarget Android -executeMethod GxKit.EditorTools.GxBuild.Android -gxout out/game.apk -logFile -
$UNITY -batchmode -nographics -quit -projectPath . -buildTarget Android -executeMethod GxKit.EditorTools.GxBuild.AndroidAab -gxout out/game.aab -gxkeystore release.keystore -gxalias game -logFile -
Full guide with domains, Nginx, HTTPS, name & logo and gea-rt: Install guide
Questions

Before you start.

Do I need gea-rt for every game?

No. Single-player games only talk to your website. gea-rt is needed for rooms, lobby chat and who is online.

Why does the website refuse my game?

The website only answers games signed for its own domain. The signature is added when you save the name & logo in Studio → Unity, and only while the website's code signature is active.

Can players cheat?

They cannot fake another player, teleport, or end a match. Points are decided by the host or by a referee server, and your API checks every stored result before giving real rewards.

Camera, microphone, notifications?

Studio → Unity → 🔐 Permissions & libraries: tick what the game uses. The Unity packages go into Packages/manifest.json, the Android permissions and iPhone permission texts are applied when you build — nothing to edit by hand.

WebGL?

Unity's realtime runs on Android, iOS and PC. For browser games, use a web page with gea-rt.js — same rooms, same backend.

What does the AI not do?

It never edits the core, never writes database code inside the game and never invents binary files: it tells you which models, sounds and APIs are still needed.

Pricing

Pay once. Ship for as long as you want.

From $59, lifetime. Free updates. Unlimited projects on your own server.