ScanSpace is a Meta Quest 3 mixed reality concept prototype: capture a real-world object, generate a 3D model from it, and place that model back into your room.
This repository is a lightweight public template. It intentionally does not include the full Unity project, private backend, generated models, credentials, model weights, or deployment files. The goal is to show that the concept is possible and document the pipeline clearly.
Watch the demo on YouTube: https://www.youtube.com/watch?v=fjbvRinMEPQ
- Capture a passthrough image on Meta Quest 3.
- Crop the object from the headset view.
- Send the cropped object image to an image-to-3D server.
- Run the generation model on a GPU backend.
- Return a generated
.glbfile to Unity. - Load the
.glbat runtime. - Place, move, rotate, scale, save, or remove the model in mixed reality.
The model stage is an image-to-3D generation step. In the full prototype, the cropped object image is sent to a GPU-backed server that runs a 3D generation model and exports the result as a binary .glb file.
At a high level, the model is expected to:
- Take a single object image as input.
- Reconstruct a usable 3D mesh from the image.
- Generate or preserve basic texture/material detail.
- Export the result in GLB format so Unity can load it at runtime.
This public repo does not include model weights or private generation code. It only documents where that model fits into the pipeline.
This repo includes only a small Unity-style template:
Packages/manifest.jsonwith the main Unity package ideas.ProjectSettings/ProjectVersion.txtto document the Unity editor version used in the prototype.Assets/Scenes/.gitkeepas an empty scene folder placeholder.Assets/Scripts/ScanSpaceServerConfig.csas a placeholder backend configuration object.Assets/Scripts/ScanSpacePipelineTemplate.csas a conceptual Unity client flow.docs/hugging-face-server.mdexplaining how a Hugging Face hosted server can fit into the pipeline.
This is not a drop-in production build. It is a public concept skeleton for understanding and rebuilding the idea.
The private generation backend can be represented publicly as a Hugging Face-hosted server. A practical setup would be:
- Host the image-to-3D model on Hugging Face Spaces or another GPU-backed Hugging Face deployment.
- Expose an HTTP endpoint such as
POST /generate. - Accept the cropped object image from Unity as multipart form data.
- Run the image-to-3D pipeline on the server.
- Return a binary
.glbmodel to the Unity client.
The Unity template in this repo does not include the private model code, but it shows where the endpoint URL, optional token, and client request flow would connect.
Included:
- Project overview.
- Demo video.
- High-level pipeline.
- Minimal Unity concept template.
- Hugging Face server explanation.
Not included:
- Full Unity source project.
- Private image-to-3D backend.
- API keys or credentials.
- Model weights.
- Generated
.glbfiles. - Local build artifacts.
- Lakshya Singh
- Ayush Kumar
Lakshya Singh
Email: lakshya.singh2706@gmail.com
GitHub: lakshya-02
