TL;DR: Gather.town is a virtual office — a place remote teams go to. floors.js is a social presence layer that comes to your visitors, embedded on your existing site with one line of code. Choose Gather for team collaboration with video. Choose floors.js to make a public website feel alive.
Why people look for a Gather.town alternative
Gather.town nailed one thing: spatial presence makes remote interaction feel human. But many people who search for a Gather alternative don't actually want a virtual office — they want that spatial, avatar-based magic on their own website, for real visitors, without forcing anyone into a separate app.
The common friction points: every participant needs a Gather account and has to leave your site to join a dedicated space. Pricing scales with reserved capacity and members, so costs climb as you grow. And it's built for teams that meet — not for the thousands of anonymous visitors who land on a public site for ninety seconds and leave.
If your goal is engagement on a website — a launch page, a community, a docs site, a portfolio — Gather is the wrong shape. You need something that embeds, not something people travel to.
A destination vs. a layer on your site
This is the core difference. Gather.town is a destination: you create a space, share a link, people sign up and walk in. It's excellent for a distributed team that wants a persistent office with proximity video.
floors.js is a layer: you paste one script tag and every page of your existing website becomes a room. Visitors who are already there see each other as 3D avatars, walk around, and chat in real time — with zero signup. They never leave your site because the experience is your site.
Same spatial idea, opposite delivery. One asks people to come to it. The other goes to where your people already are.
floors.js vs Gather.town — honest comparison
These tools solve different problems. Here's a straight side-by-side so you can pick the right one.
| Feature | Gather.town | floors.js |
|---|---|---|
| Where it lives | Separate app / destination | Embedded on your website |
| Account required | Yes, per participant | No — instant join |
| Pricing | Free / paid per member & capacity | $14/mo or $99 lifetime, per site |
| Best for | Remote team virtual office | Public website visitor engagement |
| Proximity video / audio | Yes | No (text + presence by design) |
| Setup | Build a space, invite members | One script tag |
| Visitor friction | High (signup + leave your site) | Zero |
| Works on any site | N/A — it's the destination | Yes (WordPress, Shopify, Next.js…) |
Who should use floors.js instead of Gather.town
Who should stick with Gather.town
If you need a persistent virtual office for a remote team — proximity video calls, desks, meeting rooms, scheduled events with hundreds of logged-in attendees — Gather.town is genuinely good at that and floors.js does not try to replace it. floors.js has no video, no audio, and no concept of private team spaces. It's a public-website social layer, not a workplace. For team collaboration, Gather (or Teamflow / SpatialChat) is the right call.
One line to install
Paste it before </body> in your site's layout. Works on any platform — static HTML, WordPress, Shopify, Next.js, Webflow, or anything else. Pages become rooms automatically. No space to build, no members to invite, no configuration.