MIRA: Multiplayer Interactive World Models with Representation Autoencoders Researchers from General Intuition, Kyutai, and Epic Games released MIRA, a 5-billion-parameter latent diffusion world model that generates real-time 2v2 Rocket League matches at 20 FPS on a single GPU. The model, trained on a dataset of synchronized player views and actions, enables interactive gameplay inside the simulation and is available as open-source code with a live demo at mira-wm.com. readme.mp4 MIRA is a real-time world model of Rocket League: a 5B parameters latent diffusion model generates the video frame by frame from all four players' actions, so a full 2v2 match can be played inside the model at 20 FPS on a single GPU. Play it live at mira-wm.com https://mira-wm.com . This is the official code release for the technical report: MIRA: Multiplayer Interactive World Models with Representation Autoencoders https://github.com/mira-wm/mira , a collaboration between General Intuition https://www.generalintuition.com , Kyutai https://kyutai.org , and Epic Games https://www.epicgames.com/site/home . @article{mira2026, title={{MIRA}: Multiplayer Interactive World Models with Representation Autoencoders}, author={Hu, Anthony and Volhejn, V{\'a}clav and Ramanana Rahary, Adrien and Mulder, Chris and Makkar, Aditya and Royer, Am{\'e}lie and Liao, Alyx and Orsini, Manu and Jelley, Adam and Alonso, Eloi and Laurent, Florian and Nor{\'e}n, Fredrik and Swingos, James and H{\"u}nermann, Jan and Rollins, Kent and Hosseini, Lucas and Le Cauchois, Matthieu and Peter, Maxim and de Witte, Pim and Brown, Tim and Micheli, Vincent and B{\"o}hle, Moritz and de Marmiesse, Gabriel and Sharmanska, Viktoriia and Specia, Lucia and Black, Michael and P{\'e}rez, Patrick}, year={2026} } pixi run setup one-time: creates the environment and installs MIRA requires an NVIDIA GPU pixi run test run the test suite Requires pixi https://pixi.sh and torch = 2.8 installed for you . Each sample is a 4-second window of a 2v2 match, captured from all four players' synchronised views. For every frame of every view, the dataset provides the video frame, the player's keyboard action, and the game state ball, cars, and score . The full dataset is on the HuggingFace Hub https://huggingface.co/datasets/kyutai/rocket-science see the dataset card /mira-wm/mira/blob/main/docs/dataset card.md . python from mira.data import RocketScienceDataset Download the test split. shards=1 pulls just one shard for a quick look; omit it for the full split. ds = RocketScienceDataset.from hub "kyutai/rocket-science", split="test", shards=1 Load the clips of the first match 16 frames each, sampled at 20 FPS and take the first one. clips = ds.load match ds.match ids 0 , clip len=16, target fps=20 clip = clips 0 A clip holds P=4 synchronised player views over T=16 frames: clip.frames tensor P, T, C, H, W uint8 — the rendered video, one per player clip.actions tensor P, T, 9 int32 — multi-hot keyboard state, aligned to each frame clip.events list of game events overlapping this window goals, boost pickups, ... clip.physics per player, per frame: game state ball, cars, score Explore it interactively 4-player grid, keyboard overlay, top-down overview of the game using the game state : pixi run explore Entry points under scripts/ are Hydra apps — override any config key as key=value . Multi-GPU runs go through torchrun ; single-GPU works too. Train the codec python scripts/train codec.py dataset.train index=/path/to/train dataset.test index=/path/to/test Train the single-player world model python scripts/train world model.py \ model.architecture.config.codec checkpoint=/path/to/codec ckpt \ dataset.train index=/path/to/train dataset.test index=/path/to/test Train the 4-player world model, warm-started from a single-player checkpoint python scripts/train world model.py model=multi wrapper world model dataset.n players=4 \ model.architecture.config.wm config.codec checkpoint=/path/to/codec ckpt \ run.finetune from=/path/to/single player ckpt \ dataset.train index=/path/to/train dataset.test index=/path/to/test Codec training uses a frozen DINOv3-L/16 encoder whose weights are gated by Meta. Download dinov3 vitl16 pretrain lvd1689m-8aa4cbdd.pth from the DINOv3 page https://ai.meta.com/resources/models-and-libraries/dinov3-downloads/ and set RS DINO WEIGHTS DIR=/path/to/weights . World-model training and inference don't need it. python scripts/eval world model offline.py /path/to/checkpoint-1000/checkpoint.pth Apache License 2.0 — see LICENSE /mira-wm/mira/blob/main/LICENSE .