Mosaic reads your .psd or .svg straight into Roblox Studio and rebuilds it as native Frames, TextLabels and UIGradients. Not a flattened image you have to re-export every time a pixel changes.
In Roblox, an image can't just live in your file. Every image has to be uploaded, pass moderation, and get referenced by a numeric ID before it exists. A native UI object needs none of that. It's just a Frame, with properties, and it's there the moment it's created.
Want to nudge one pixel? Repeat all five steps.
No queue, no ID, no re-export. It's just an object.
No exporting first. Mosaic opens the file itself and keeps what a flattened image would throw away.
Point Mosaic at a .psd directly, or import an .svg from Photopea, Illustrator, or Figma. Photoshop's own SVG export flattens most content to raster. Reading the .psd itself is what keeps the layer tree, vector masks, layer effects, and type layers intact as structured data.
Internally, the file becomes a DesignDocument: what you meant, including things Roblox can't render on its own. That document runs through a series of compiler passes that decide how each piece should become a real Roblox object.
The output is a RobloxPlan: Frames with UICorner, UIStroke and UIGradient, TextLabels with mapped fonts, UIListLayouts recovered from evenly spaced rows. Every element ships with a reason.
Right now you rebuild every mockup pixel-by-pixel inside Studio afterward: twice the work, once billed. Mosaic turns the same .psd into the Frame hierarchy itself, so what you send the client is closer to what ships.
Bulk-import your PNGs once through Studio's own Asset Manager. Mosaic matches and binds them to the right layer by name automatically. Anything left unmatched is flagged clearly, not silently skipped.
Moderation queues exist for pictures. Mosaic keeps everything that can be represented as a native object (corners, strokes, gradients, layout) out of that queue entirely.
Fonts, gradients, and effects decided once in the design file are gone the moment someone hand-fixes a re-import in Studio. Mosaic re-imports the same file the same way every time.
Every design tool has limits. Mosaic's rule is that you always know exactly which ones you hit, and why. Nothing is silently dropped.
A plugin can't upload assets. That's a Roblox platform restriction, not a Mosaic one. Bulk-import your PNGs through Studio's Asset Manager first; Mosaic matches and binds them by name. Anything left over is flagged, not dropped.
Until a real asset is bound, what you see drawn in the preview is session-only. Mosaic tells you this in-app, before it matters. It never breaks silently later.
A design font that isn't native to Roblox gets mapped to the nearest built-in family. Every substitution is named in the capability report, so you know exactly what changed.
Roblox's UI system has no native blur or inner shadow. Mosaic reports these as unrepresentable instead of quietly leaving them out of the plan.
UICorner takes one radius per element. A design with a different radius on each corner gets approximated to the closest single value.
UIGradient is linear-only on Roblox. Radial gradients are rasterized to an image rather than faked with a linear one.
A layer hidden in your source file comes in hidden (Visible = false), never deleted. Conditional states you built on purpose stay intact.
Design files are treated as untrusted input. Document size, nesting depth, element count, coordinate range, and text length are all bounded. A malformed or hostile file is refused with an explanation, not a frozen editor.
Everything runs on your machine: no server, no upload of your design file, no account required to use the plugin.
Save $82 a year versus paying monthly
Prefer not to subscribe? Mosaic is also planned as a one-time purchase on the Roblox Creator Store, separate from this subscription, since Roblox's marketplace doesn't support recurring billing for plugins.
Mosaic is made by a solo developer, not a company. There's no corporate entity behind it yet, just "the developer," reachable at the same email address used everywhere else on this site. These terms will get more formal if and when that changes.
The 7-day trial gives you the full plugin, nothing gated, and it expires on its own after 7 days. There's nothing to cancel. It's meant as one trial per person; please don't request repeat trials to keep using Mosaic for free past that window.
A verified email is required to receive a working license key, trial or paid. Signing up issues you a key immediately once your email is confirmed, no card needed. The plugin checks that key against the server at most once every ~24 hours and otherwise works fully offline from a cached result — this is meant to stop a cancelled subscription from working indefinitely, not to be tamper-proof DRM.
The $36/month or $350/year plan is billed as described on the pricing above, processed by Lemon Squeezy. No refund policy has been decided yet. If you have a billing question, contact the developer and it'll get sorted out directly.
The capability report the plugin generates for each import (the one marking every element native, approximated, rasterized, or unrepresentable, with a reason) is the authoritative answer to what Mosaic can and can't do for your specific design file. See the limits section above for the general shape of that.
These terms may be updated as the plugin and its pricing mature. Nothing here should be read as a promise of a specific refund window — that part genuinely isn't decided yet.
Questions about any of this go to hassankakamel1@gmail.com, the same inbox as the trial requests, read by the maker of Mosaic.
Mosaic is built to keep your design files off any server. This page covers both the plugin and this website.
Mosaic runs entirely inside Roblox Studio, on your machine. Your .psd or .svg file is never uploaded or sent anywhere — the only network call the plugin makes is a periodic check that your license key is still valid, which sends the key, not your file.
Creating an account requires an email address (and a password, if you choose that login method over one-time codes). This is handled by Supabase, our account and database provider — we don't run our own auth system or store your password ourselves. If you subscribe, payment details are handled entirely by Lemon Squeezy; this site and its database never see your card information.
There is no third-party tracking or analytics on this site right now: no ad pixels, no analytics scripts, nothing running in the background.
Questions about your data go to hassankakamel1@gmail.com.
There's no checkout wired up yet. The trial request goes straight to the founder's inbox and you'll hear back personally.
Mosaic runs entirely inside Studio, on your machine.
Your design file never leaves your computer.
Nothing to sign into just to use the plugin.