Inspiration
This project is for anyone that has ever needed to hang a painting straight and central or fit wall fixtures or calculate the cost and quantity of paint / tiles / flooring etc. RoomMate can also be used by tradespeople to remotely plan solutions while collaborating with customers in virtual rooms.
For Home improvements
You can access various tools using the hand menu:
The multi-purpose ruler
- Can be resized by dragging either end and optionally snapped to surfaces.
- You can also snap to a wall's centre line if required.
- Rulers can be snapped to the centre of other rulers to allow more complex centring arrangements.
- Wall measurements are shown when a ruler is added to it, showing the distance from each end of the ruler to the end of the wall.
- You can add numerous droplines that can be dragged, precisely set and optionally mirrored and extended perpendicular to the ruler. With a click you can evenly distribute them. Useful to calculate bracket spacing, spacing lights in a ceiling etc.
- Preview mode allows you to add a height and depth to the ruler and have it draw a solid or outlined 3d shape. This is useful to quickly preview the fixture (shelf/cupboard/painting) in place before fitting it. You don't have to fix to walls, so you can position your preview anywhere to check the if you have sufficient space.
- You can save a plan of where and how you want to position items in your room. You're still advised to use a spirit level to check levels, but you will have a useful visual reference guide, benefit from seeing a preview before you commit to the work and have a raft of measurements effortlessly produced by the app.
- Each ruler has properties where you can set its name, and whether it snaps to walls / centre lines, and whether it should snap horizontally or at some other angle.
Other tools
- VR Mode - switch to virtual mode to fly around your virtual room to use your tools in difficult to reach places (ceiling / behind furniture). You use a virtual 3d hand-tracked joystick for movement.
- Surface coverage - select surfaces to include and set the product unit coverage and cost and find out how many units you need to buy and the total cost. Windows and doors are automatically excluded from walls unless they are selected too.
- Grid - set height and width and attach to a wall to preview tiling and check suitable positioning before you start.
- Laser - general purpose laser measure will instantly tell you the distance between surfaces.
- Eye gauge - simply look around to check if wall fixtures are straight and plumb as the gauge follows your gaze and auto aligns to surfaces.
- Quote form - add prices for each ruler you have placed, price any surface coverage and optionally add labour costs. The quote form allows you to select / omit items and see a total price.
For Tradespeople
Use the hand menu to invite a guest. They will see the virtual version of your room and have access to all the same tools as described above. You both have full control of the tools so can work together to decide what you need. Size and place rulers in 3d preview mode to show where you want switches / sockets / radiators etc. Launch the quote form from the hand menu to list labour, products, wall coverings etc and see a total price. If tradespeople use the Meta Quest Pro they can benefit from eye and face tracking, to communicate more naturally and form a better bond with their client. With the Quest 3 you will still get hand, body tracking and mic based mouth movement for a quality experience.
How we built it
This is a native OpenXR project that uses StereoKit. I use hand tracking (no controllers required, but they are supported), passthrough, scene understanding, and the movement sdk (including eye, face and body tracking). Epic Online Services are used for multi-user.
Challenges we ran into
I would have liked to include AI legs but these are not currently supported by Meta in native OpenXR projects. As always, time was my main obstacle.
Accomplishments that we're proud of
I’m proud of the simplicity and intuitive nature of the app, and how it can supplement real-life tools and processes. Even in this early stage it has practical benefits for consumers and tradespeople.
Hand tracking can be imprecise but the app has several features to maintain precision: surface and centre snapping, buttons to lock tools in place to stop accidental movement, nudge buttons adjust all draggable items in 1mm increments.
What we learned
I learned just how effectively hand, body, eye and face tracking improves communication and makes the avatar more relatable. I increased my exposure and knowledge of Meta's OpenXR extensions.
What's next for RoomMate
I'd like to continue exploring the possibilities of using XR for home improvements. Show the room mesh in the virtual mode. Have a feet / inches mode. Support custom avatar importing for tradespeople. Include standard models for switches / electrical sockets and more that can be shown in the ruler's preview mode. Adjust mapped surfaces within the app, Draw exclusion zones to further improve surface coverage calculations. Draw lines to show wiring / pipes and estimate material cost based on lengths.
Built With
- epiconlineservices
- metamovementsdk
- metasceneunderstandingsdk
- openxr
- passthrough
- stereokit



Log in or sign up for Devpost to join the conversation.