Latest Post
All Posts
Finding the Zstd Bug in Roblox's Binary Format
Building the RBXL Stats tool (upload a .rbxl/.rbxm, get an instant object count without opening Studio) went smoothly right up until I tested it on a real place file instead of a small model export. It failed with a cryp...
Pulling Live Data from Roblox, DevForum, and YouTube
A portfolio site full of "Coming Soon" placeholders isn't much of a portfolio. Once the page layouts were in place, the next step was replacing every placeholder with data pulled live from somewhere real: Roblox, the Dev...
Building a Live .rbxm Viewer
Parsing Roblox's .rbxm binary format turned out to be a much bigger project than expected. Roblox has shipped several different mesh formats over the years, and none of them are officially documented in one place. A .rbx...
Launching UnofficialRobloxTutor.com
This site started as a way to put my Roblox development work, tutoring, and tools all in one place instead of scattered across DevForum posts and Discord messages. - A portfolio of scripts, models, and builds - Live tool...
Making Discounts From the Admin Panel
I wanted to run an offer on the paid plans, such as a $1 first month, without living in the Stripe Dashboard. So Commerce Discounts in the admin panel now makes one. An offer is a Stripe coupon plus a promotion code. Str...
When Documentation Pages Showed Code Instead of Content
A reader reported that /docs/roblox-production-ad-placements-1speed showed a page of JavaScript instead of an article. When I went looking, ten other pages did the same. The documentation is imported from Roblox's Creato...
Putting a UI Builder Pro Card on 4,500 Documentation Pages
Every documentation page now carries an ad for UI Builder Pro. It's the site's own product rather than an ad network, which shaped how it works. The documentation is imported from Roblox, and a refresh overwrites every p...
Scrollbars That Fit, and Pages That Stopped Scrolling Sideways
On a dark documentation page, the sidebar had a nice thin orange scrollbar and everything else had the browser's default light one, arrows and all. Fixing that led to a more annoying bug: some pages scrolled sideways whe...
Why the Documentation Pictures Were Blocked
The imported Roblox documentation looked fine in the text, but the pictures and videos weren't loading. The browser console was full of lines like "Loading the image ... violates the following Content Security Policy dir...
A Color and a Picture Behind Your UI
Designing a HUD on a black rectangle is awkward when the HUD will sit over a bright game scene. The UI Builder's canvas now has a color and a picture behind your UI. The only swatch the builder had changed the area aroun...
Side Panels That Fold Away
The UI Builder's two side panels took a lot of room on a laptop. They now fold away, the way they do in Draw. The left panel and the Inspector each have a button that folds them to a 44px rail. The left rail keeps its fi...
Rotating Layers Right on the Canvas
You can now turn layers directly on the UI Builder canvas, using the same logic as the Draw tool. In Design and Animation, drag from just outside a corner of the selected layer to rotate it about its centre. The cursor b...
Teaching the UI Builder UICorner's Four Radii
Roblox's UICorner now has four radii of its own (TopLeftRadius, TopRightRadius, BottomRightRadius, BottomLeftRadius), available as a Studio beta under File Beta Features New UI Capabilities. The UI Builder had to learn t...
Why New UI Builder Layers Start With No Border
A new layer in the UI Builder now starts with a border width of 0. It used to start with Roblox's 1px dark outline, which nearly every design then had to remove by hand. A default like this touches a lot of places. The c...