🛠️ UModeler X: Free 3D modeling in Unity. https://xitter.cf/t.co/od6DXxA5a5 🤖 PicoBerry: AI 3D asset generation (1,000 free monthly credits). https://xitter.cf/t.co/n6ve3XwuSF

Seoul, Republic of Korea
Joined October 2016
Fable 5 just relaunched, so I hooked up the PicoBerry API to test it 🙂 I only said "generate some fitting assets and decorate the background." It generated everything automatically — quality way past what I expected, all game-ready. Fable even read the scene and placed it all itself 😳🎮
6
12
1
286
24,507
私「ねぇねぇOpusさん、VRChatワールドのここに筒状で1方向開いたオブジェクト置いてエレベータにしたいんだけど…プロジェクトにUModeler導入してるんで、それ使ってうまいこと作れない?」 Opus5さん「ガッテン承知のスケ~💪」 できちゃった
7
23
1,280
I built this house in Unity without opening a DCC tool once. It started as a single box. UModeler X does the modeling inside the editor — extrude the walls, cut the openings, array the roof tiles, then build the interior and paint the materials. The whole thing is one 3-and-a-half-hour tutorial series, cut down to 54 seconds here. If you can shape a box, you can already do this. And that sense is what lets you take an AI-generated asset and change it into what you actually wanted.
5
485
Models are converging on capability. What's left is art direction. I built a kart racer with GPT-6 Sol, then tried the same thing with Opus 5.5. The driving came out right on both — drift, boost, item attacks. The characters and karts came out as basic shapes on both too. Changing the model didn't change the art. So I dropped in 3D assets made with PicoBerry and rebuilt the look: characters, karts, background, UI, effects. Top is what the model made on its own. Bottom is KARTPOP — the art I had in mind. Playable link in the first comment. #gamedev #indiedev
1
4
284
Play it in your browser: neon-rush-racing.umodeler-in… Desktop only, it needs a keyboard. Arrow keys or WASD to drive, Shift to drift, Ctrl for boost and items.
114
I generated the same prompt with two AI models, side by side, on my phone. PicoBerry runs in the mobile browser — no install, nothing to send anywhere. I typed "a black bear wearing a cape, stylized," ran PB Slim 2 and PB Ultra at once, and kept the one that read better. Then I opened Unity. The bear was already sitting in the panel, and so was the golem I had made earlier. No upload, no export — UModeler X reads the same asset library the phone writes to. Picking the model is the step most people skip. There is no single best one, and the fastest way to find out is to run two and look at them next to each other.
4
303
GPT-6 Astra rigged this face for me, and I honestly didn't think it would get this far. I just asked for facial rigging. It worked because the head came out of PicoBerry — PB Slim 2 laid clean topology across the face and built the eyeballs as separate objects, so the structure for expressions and eye movement was already there before Astra touched it. We've seen this level in Unreal with MetaHuman. Seeing it run in Unity is the part I'm still sitting with. Full prompt in the first comment. Paste it into an agent connected to Unity through MCP and try it on your own model.
3
16
1,403
Full prompt. 42 blendshapes, eye + jaw bones, draggable Scene View controls and an 8-second demo clip — all from one paste. Select your character in Unity, then paste this prompt into an AI agent connected to Unity through MCP. Build a fully functional facial rig for the character currently selected in Unity. Use the connected Unity MCP tools and available file-editing tools to complete the implementation: mesh analysis, blendshape creation, rig setup, controls, animation recording, and validation. Do not stop at instructions or suggested code. The target architecture is: Blendshape-based facial deformation + eye and jaw bones + draggable Scene View curve controls. Support models that do not already contain facial blendshapes. 1. TARGET AND SOURCE PRESERVATION - Use the currently selected character's head. - If nothing is selected, inspect the current scene for candidates. Ask only if the intended character is ambiguous. - Back up the current scene, including unsaved changes, before modifying it. - Duplicate the source mesh and create separate working mesh assets, a rig prefab, and a result scene. - Preserve the body, hair, materials, textures, UVs, and existing animations. - If a facial rig already exists, inspect and reuse it where appropriate. - Make the setup safe to rerun without duplicating rigs or controls. - Follow the project's folder conventions. Otherwise, place generated assets under Assets/FacialRig. 2. ANALYZE THE ACTUAL MODEL Inspect mesh data and scene structure rather than relying on object names. Identify: - Facial meshes, existing blendshapes, bones, and skin weights. - Anatomical forward, up, left, and right axes. - Model scale. - Eye centers, eyelid margins, eyebrows, lip boundaries, mouth corners, and jaw location. - Whether eyes, eyebrows, eyelashes, teeth, and tongue are separate objects or disconnected components within a shared mesh. - Mouth interior geometry and whether the topology supports opening the mouth. - Existing Animators and scripts that affect facial deformation. Use the character's anatomical left and right consistently. Do not reuse vertex indices, coordinate axes, or dimensions from another character. If important landmarks cannot be identified confidently, create adjustable Scene View markers. Inspect and correct their placement before committing deformation data. 3. CREATE REAL BLENDSHAPES Validate and reuse existing expression data where available. If expression data is missing, generate vertex displacement data from this model's topology and facial landmarks, then save it as actual blendshapes on the working mesh. Target the following 42 blendshapes. 15 left/right pairs - 30 shapes: - Blink_L / Blink_R - BlinkArc_L / BlinkArc_R - LidFollow_L / LidFollow_R - BrowInnerUp_L / BrowInnerUp_R - BrowOuterUp_L / BrowOuterUp_R - BrowDown_L / BrowDown_R - Smile_L / Smile_R - Frown_L / Frown_R - Sneer_L / Sneer_R - UpperLipUp_L / UpperLipUp_R - LowerLipDown_L / LowerLipDown_R - Stretch_L / Stretch_R - CornerX_L / CornerX_R - CornerY_L / CornerY_R - CornerZ_L / CornerZ_R 12 shared shapes: - JawOpen - JawSide - Pucker - Funnel - LipPress - MouthCloseCorrective - MouthX / MouthY / MouthZ - MouthRotX / MouthRotY / MouthRotZ Every implemented control must drive meaningful deformation. Do not create empty targets or disconnected sliders just to satisfy the list. Equivalent existing targets may be mapped without renaming them. Deformation requirements: - Use mesh connectivity and region masks to isolate anatomical areas. - Avoid relying only on distance-based falloff, which can unintentionally pull eyelids, lips, or eyeballs together. - Blend deformation smoothly into surrounding skin. - Keep coincident vertices at UV seams moving consistently. - Preserve intentional hard edges while handling deformation normals. - Preserve neutral vertex positions, UVs, submeshes, and material assignments. - Save the deformation data in persistent mesh assets so it survives an editor restart. 4. PRIORITIZE BLINK AND EYEBROW QUALITY Complete and validate blinking before building more complex expression combinations. - Move the upper and lower eyelids along the eyeball surface. - Inspect the blink at 0%, 25%, 50%, 75%, and 100%. - Use BlinkArc corrective shapes to improve intermediate motion. - Make the outer eyelid margins meet when fully closed. - Prevent inner eyelid surfaces from protruding through the closed lid. - Make eyelashes follow their roots with appropriate translation and rotation. - Transfer nearby skin deformation to detached eyebrow geometry. - Separate eyebrow influence from the eyelid seal so raising the eyebrows does not reopen closed eyes. - Reduce vertical gaze-driven eyelid follow as the blink approaches full closure. Do not hide or shrink the eyeballs to conceal eyelid problems. 5. SET UP EYE AND JAW BONES - Reuse appropriate existing bones. Otherwise, create head, left eye, right eye, and jaw bones. - Rotate each eyeball around its actual center. - Support separate eye objects and disconnected eye components within a shared mesh. - Provide a shared gaze target and individual left/right gaze adjustments. - Keep eyeballs rigid and unaffected by eyelid deformation. - Use JawOpen and JawSide blendshapes for facial skin around the jaw. - Attach existing lower teeth and tongue to the jaw as appropriate. Upper teeth should follow the head. - If teeth, tongue, or mouth interior geometry is missing and needed for the demonstration, create clearly named, simple proxy geometry. Identify it as proxy geometry in the completion report. - Combine JawOpen with MouthCloseCorrective to support lip closure while the jaw is open. 6. IMPLEMENT THE RIG COMPONENT AND CONTROLS Create a runtime component that manages facial deformation. Provide: - Shared and independent left/right controls for blinking, eyebrows, smiling, and other paired expressions. - Explicit rules for combining and clamping shared and individual values. - XYZ translation and rotation for the mouth master. - XYZ translation for each mouth corner. - Appropriate signed ranges for bidirectional channels. - Reset Neutral, restoring all expression channels and bones to their neutral state. Store model-specific axes, pivots, limits, and mappings as persistent configuration. Create draggable curve controls in the Scene View: - In front of the face: shared gaze, individual gaze, mouth master, and mouth corners. - Beside the face: an expression board for eyelids, eyebrows, jaw, and lips. - Character-left controls: blue. - Character-right controls: red. - Shared controls: gold. - Make drag directions and control limits easy to understand. - Support selection, dragging, Undo, and left/right mirroring. Scene controls, the Inspector, and the control window must operate on the same underlying rig values. Avoid feedback loops between control display transforms and rig values. Editor curve controls must not appear in the rendered Game view. 7. BUILD THE CONTROL WINDOW AND ANIMATION WORKFLOW Create this menu: Tools > PicoBerry > Facial Rig > Open Controls Include: - Eyes / Brows / Jaw / Mouth tabs. - Individual control sliders. - Reset Neutral. - Basic expression presets with adjustable intensity. - New Take: create an AnimationClip. - Key Pose: record the current pose at a specified time. - Preview Time: sample a saved animation. - Play Demo / Stop Demo. Record animation keys on the actual rig channels, not on derived display-control transforms. In manual mode, prevent the newly created facial Animator from overwriting manual controls. Do not arbitrarily disable an existing body Animator. Create an 8-10 second demonstration: Neutral -> blink -> left/right gaze -> smile -> eyebrow movement -> jaw opening -> neutral. Provide a simple Play Mode panel that controls the actual rig. Runtime code must not depend on UnityEditor or an external DCC application. 8. VALIDATE THE RESULT After compilation, validate the rig in both Edit Mode and Play Mode. Check: - Actual mesh deformation for every implemented channel. - Independent left/right operation. - Intermediate and fully closed blink states. - Combined eyebrow, gaze, and blink controls. - Combined jaw opening, smiling, and lip closure. - Eye rotation and teeth/tongue following. - Manual poses remaining stable over multiple frames. - Actual Animator playback and stopping. - Recorded keys reproducing the expected pose when sampled. - Accurate neutral restoration after Reset. - Mesh, bone, and controller references surviving scene save and reload. - Any new compilation or runtime errors. Inspect actual Unity renders from front and three-quarter views, and correct visible issues. Numerical checks alone do not establish natural expression quality or collision-free deformation. Do not report checks as passed unless they were actually performed. 9. FINISH WITH A READY-TO-USE SCENE When complete: - Save and open the result scene. - Open the facial control window. - Frame the character's face clearly. - Restore the neutral pose. - Briefly report the scene path, how to use the controls, implemented features, and remaining limitations. Do not assume that existing Maya expression data or files from a specific computer are available. Generate missing deformation data from the current model. If model structure or tool access prevents a feature from being implemented, explain the specific limitation. Continue completing the features that are possible. Start by inspecting the selected character now.
1
463
Play it in your browser: neon-rush-racing.umodeler-in… Desktop only, it needs a keyboard. Arrow keys or WASD to drive, Shift to drift, Ctrl for boost and items.
78
Six mobile games our team shipped to Google Play this year. Every 3D asset in them was modeled inside Unity with UModeler X, no Blender, no Maya. Bloom Garden is the one exception: PicoBerry generated its assets from prompts. Hell Hero, Bloom Garden, Tiny Chef Town, Perfect Cake: Sort & Stack, Tales Screw 3D, Fortune Forge. The modeling never left the engine, so the art never left the game.
2
200
Props get made in bulk. Fifty of them in a level, and the one that needs an hour of cleanup is the one that costs you the day. So the test is not which looks nicest. It is which one reads at a glance and arrives lean enough to drop in as it is. PB Slim and PB Slim 2 on the same reference, compared on silhouette and topology before texture enters the conversation. Here it is with a wooden trash can, from a set of props generated in one style. #GameDev #Design
1
6
403
GPT-6 Sol + PicoBerry result: I built a racing game with Sol in under 12 hours. I gave it the concept and the PicoBerry API, then we tuned the details together in three.js. Honestly, Astra and Sol felt about the same. The assets made it my game. Assets decided the look. Sol's primitive-modeled cars and racers looked blocky and generic. PicoBerry's, from my concept images, looked like the game in my head. Play link in the first comment. Breakdown coming soon.
2
1
25
2,641
GPT-6 Astra modeled the Colosseum for me and nailed it. 200 reference images in, and proportions, arches and stairs between floors all matched the drawings. I had it build it twice: in Blender, and inside Unity with UModeler X. Same quality. In Blender, Astra has to work a huge toolset. In UModeler X it combines parametric shapes: a stair already has step count, height and width, so it copies the numbers off the drawing. And I was walking through it in first person as soon as it finished.
1
7
681
Hard surface work lives on crisp edges and clean panel lines. Mushy, rounded detail is the first thing to reject. PB Ultra and Hunyuan 3.1 are the two worth trying on the same image. Generate both, then look along the edges rather than at the render as a whole. The one you keep gets remeshed to a lean polygon count, and the real question there is whether those edges survive the trip down. Here it is with an industrial press machine, frame and panels and all. #GameDev #Tech
2
272
A creature gets judged twice. Once on its silhouette, and again the moment it starts to move. Anatomy that reads from the outline is the first half. The second is topology with loops that deform cleanly at shoulders, hips, spine and tail. PB Slim 2 and Meshy 6 are the two to try on the same reference. Quad topology, around 5,500 faces, then auto-rig the biped ones in PicoBerry. Here it is with an ice elf warrior, a slime king and a small fluffy creature. #GameDev #AI
3
396
A character rig is decided long before you rig it. It is decided by the reference you start from. A clean T-pose with the arms out gives the model the joints it needs to find. Anything else and the auto-rig is left guessing. PB Ultra and PB Slim 2 from that same T-pose, judged on silhouette and on whether the topology is rig friendly. Quad, around 5,500 faces. Here it is with an anime adventurer, generated as a four view sheet first, then turned into a mesh. #GameDev #AI
3
369
Image to 3D is only as good as the image you hand it. Flat concept art has no depth to read, so the model has to invent the sides and the back. So the art gets prepped first. Ask Image Generation to redraw it dimensional, same character with depth and shading, then send that into Image to 3D. Run it on PB Slim 2 and PB Ultra from the same image, and check the hidden sides rather than the front you already know. Here it is with a stylized JRPG set, drawn, turned, and compared. #Design #AI
4
8
890
There is no single best AI 3D model for a game asset. A stylized prop, a hard surface machine and a character each suit a different one. Meshy, Hunyuan and Tripo all sit in PicoBerry, so trying another one is a dropdown away. Compare multiple models goes further. Pick several, send the same reference once, and the results come back next to each other. Here it is with one mech reference and three models in a single run, each with its own polygon target. #AI #GameDev
6
798
GPT-6 Astra + UModeler X: modeling the Colosseum directly inside Unity. I handed Astra reference photos and section drawings and it built the scene down to the interior stairs — 17,927 parametric shapes, 253 of them stairs. Astra wasn't carving geometry, it was filling in parameters. That's what made it quick, and it means none of it is frozen: pick any arch and its radius and depth are still numbers you can type into. Every stair came in with a collider, so I hit play and walked straight in. Breakdown tomorrow.
10
693
An environment kit is not one hero rock. It is dozens of pieces sharing scale, style and a poly budget, and that consistency is what slips first. So the set gets split by what each piece needs. PB Slim 2 for the low poly bulk, PB Standard where a piece carries more form. Here it is with an ancient stone set — archway, pillars, brick walls, ferns. Quad topology, around 5,000 faces each. Collections holds the kit together, so next week's piece still belongs with today's. #GameDev #Tech
2
267