Bloxender — Blender-style mesh editing inside Studio (WIP)
What it is
Bloxender is a Studio plugin that gives you a real polygon modeller in the
viewport. Not a primitive-assembler and not a wrapper around Solid Modelling —
actual vertex / edge / face editing on MeshPart geometry, with extrude, inset,
bevel, loop cut, knife, bridge, a live modifier stack and UV unwrapping.
It exists because the round trip is the expensive part. Fixing one wrong vertex
today means opening Blender, importing, editing, exporting, re-uploading and
re-linking — for a change that takes four seconds once you are in front of it.
Bloxender keeps that four seconds inside Studio.
The plugin owns its own mesh structure — vertices, edges and n-gon faces with
full adjacency — and EditableMesh is only the display layer. That is what
makes edge-centric tools possible at all: extrude, loop cut and dissolve need
face loops and neighbour information that EditableMesh does not expose. The
cage is serialised onto the part, so a model can be re-opened and edited again
later, and it survives save/reopen.
Status: work in progress. The geometry, the operators, the modifiers and the
UI are all real and in daily use; expect rough edges, and expect the keymap to
keep moving as Studio collisions get found.
Edit mode, with real topology
Tab into any MeshPart you own. Vertex / edge / face select, box, circle-paint
and lasso selection, hidden-line removal so you cannot accidentally grab the
corner behind the one you meant, and Alt+Z X-ray when you want to.
Extrude, inset,… any tools you often used inside blender are here
A live modifier stack — fifteen types
Mirror, Array, Subdivision, Solidify, Bevel, Weld, Smooth, Spherify, Twist,
Taper, Bend, Cast, Displace, Triangulate, Decimate.
Non-destructive: you keep editing the base cage and the stack evaluates on top of
it. Reorder with ▴/▾, apply with ✓, delete with ✕, and toggle the whole stack out
of the viewport while you work. The stack is per-object, stored next to the mesh
data, so switching parts never carries the last one’s modifiers over.
Mirror can use another part as its plane — pick a part, press Use Selected
Part, and it mirrors about that instead of the mesh origin. The pivot is live.
Decimate is the one to reach for when a part is over budget: it collapses the
shortest edges until the face count hits the fraction you ask for.
Example of subdivision with some loopcut
Measurement, in studs
Roblox is measured in studs and the number matters. One edge gives its length,
two vertices give the distance between them, several edges give a total and an
average, faces give area. Alt+M writes the length beside every selected edge in
the viewport.
All of it is world studs, not cage units — scale the part after building it
and the numbers follow. Labels that would land on top of each other are dropped
rather than nudged, because a number moved away from its edge looks like it
belongs to a different one.
UV unwrapping with a 2D view
Mark seams, smart-unwrap, shelf-pack, and read texel density as a range —
an average hides the case that matters, a mesh whose faces disagree wildly.
U opens a 2D view over the 0..1 square. Click an island to select its faces in
3D, drag to move it, G/R/S to transform with Ctrl snapping, plus exact
quarter turns and mirrors. Selection is shared with the mesh rather than
mirrored, so there is no second selection to keep in step.
UVs are per face corner, not per vertex — a cube corner belongs to thre
faces that land in three different places on the texture. Opening an existing
mesh loads its UV map rather than discarding it.
Undo history you can click, and repeating yourself
The History panel lists recent states by the operator’s own name. Click any
to jump straight there — forwards as well as back, which a plain undo stack
cannot do without counting redo presses.
Shift+R repeats the last operator at the same amount, no modal: bevelling
six edges to 0.15 is one drag and five keypresses instead of six drags that all
land on slightly different numbers. F9 re-opens the last operation seeded with
the amount it used, so you can change your mind about a bevel after the fact —
confirming replaces the operation rather than stacking a second one.
Requirements
- Game Settings ▸ Security ▸ enable the Mesh / Image API. Per place. Without
itEditableMeshis unavailable and nothing will build. - Meshes you want to edit must be owned by you — Roblox only allows building
anEditableMeshfrom an asset the creator owns, so toolbox meshes from other
accounts cannot be opened. Re-upload under your own account, or build fresh.
Known limits, stated up front
- No sculpt mode. There is no bulk vertex-write API — roughly 11ms/frame at
2,000 moved vertices, and everyEditableMeshmember is thread-unsafe so
parallel Luau cannot help. Proportional editing and the Smooth / Spherify /
Displace modifiers cover part of the intent. This is a poly modeller. - Bevel drops UVs. Every other operator preserves them; bevel’s new faces are
not a subdivision of any parent, so there is nothing to interpolate yet.
Unwrap after bevelling. - Edge bevel takes closed loops, not a lone edge. It refuses clearly rather
than producing a cracked mesh. - No armatures, rigging or animation, by design. (yet, if enough support, i might make bonerig inside studio as a plugin)
This plugin might have 2 version, Free and premium one (with only 5$ and have 1 week trial with it).
I hope you guys like it, leave a like and support me








