Arena is a gaming platform that makes it easy and fun for office teams to play games together online.
Combining robust backend services with engaging gameplay, Arena delivers a smooth, interactive experience directly in your browser.
- Website & Authentication: Built with Next.js, featuring secure sign-in powered by NextAuth and Azure AD (via Azure Entra OpenID).
- Player Progress & Leaderboards: Managed through PlayFab, tracking stats, achievements, leaderboards, and virtual currencies.
- Game Experience: Developed in Unity WebGL, supporting both single-player and multiplayer game modes.
- Real-Time Multiplayer: Enabled by Photon Fusion 2 for seamless multiplayer interactions.
This is a Next.js project bootstrapped with create-next-app.
First, setup the database:
npx tsx lib/init-db.tsSecond, setup environmnet variables
- change the .env.template to local
- update the values in .env.local
Third, run the development server:
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun devOpen http://localhost:3000 with your browser to see the result.
This project uses next/font to automatically optimize and load Geist, a new font family for Vercel.
To learn more about Arena, take a look at the following resources:
- Next.js Documentation - learn about Next.js features and API.
- Azure - learn about Azure authentication.
- PlayFab Documentation - learn about playfab and playfab API.
- Unity Documentation - learn about unity.
- Fusion 2 Documentation - learn about Fusion2 Multiplayer SDK for Unity.
- React Unity WebGL Documentation - learn about unity and web integration.
- Three Js Documentation - learn about three js.
The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.
Check out our Next.js deployment documentation for more details.








