MML Objects

Create scriptable 3D building blocks for your virtual world, powered by open source

Use standard web technology and the MML library:
<m-group z="1.137" ry="0" id="DJ Booth">
  <m-group x="1" yid"="decks">
    <m-model src="https://public.mml.io/speaker.glb" id="deck-1"></m-model>
  </m-group>
  <m-audio id="music" src="https://public.mml.io/beats.mp3" 
    enabled="false" y="2" z="-2" ></m-audio>
  <script>
    document.getElementById("deck-1")
      .addEventListener("click",
      () => {
        const music = document.getElementById("music");
        music.setAttribute("enabled""true");
        music.setAttribute("start-time"document.timeline.currentTime);
      });
  </script>
</m-group>
Create living objects you can easily embed in a Web World:

Build with familiar web tech

MML Objects work like web pages, leveraging well-known technologies such as HTML and JavaScript. Powered by the open-source MML library, they’re easy to create and integrate using your favorite tools like React and TypeScript.

The logos for JavaScript, HTML, TypeScript, webpack and React.

Live and in charge

Changes made to your MML object are visible to all users, letting you build multiplayer experiences with ease.

You write. We run

Ship your code to us for an instantly available object address, ready to be added to your Web Worlds.
A screen recording of the mserve command line tool being used to deploy a project.

Infra made easy

We host and manage your object, ensuring it’s always available to your users, anywhere and anytime.
Stylized map of the world

Explore hundreds of open-source community creations on MML Explore

A sphere with a knitted-styletexture
An avatar, wearing a hat, beneath a chat bubble containing the words "Click my hat"
An avatar standing over a teleporting portal
An avatar chatting with a brain in a jar
An avatar stood outside of a stage with the words "The Building" written on it
A bear-like avatar with no mouth and sleepy eyes
Excited to start building?Visit the MML website