Improve exporting of selected objects

As a Roblox developer it is currently too hard to export my game’s geometry (maps, terrain and assets) to be used in third party software (Blender, Maya, etc.).


There are many different reasons why a developer might want to export their selection, such as:

  • Using Blender to create a thumbnail render of a new map they just added to their game.
  • Displaying some of your game’s new shop items on your personal website using a library such as Three.js.
  • Using Blender to render a top-down image of your map to be used for heatmaps that display data about your game.

Right now Roblox only supports exporting your geometry as an .obj file when you use the Export Selection… button when you right-click on an object. In the past there have been feature requests for additional exporting options such as fbx support or gltf support. However I want to focus on exporting assets in general in this request because right now even just the .obj export option seems completely neglected. And there are many issues I believe should be addressed before we could even consider additional exporting options. Take this map below that I made for example.

When I export this model as an .obj file and then import it into Blender I get this absolute nightmare.

Let’s dive into some of the issues I have been able to observe:

Issue 1: Materials

The exported .obj file seems to have 134 materials applied to it. These materials also seem to be applied to the wrong parts of the mesh.

This creates an absolutely bonkers effect in Blender where certain faces are incorrectly being rendered in front of other faces.

The only solution I can think of is manually deleting all 134 materials and then redoing all of it in Blender. This is incredibly tedious.

Issue 2: MaterialVariants and Use2022Materials

The second issue I’ve observed is that the export button seems to completely ignore any custom materials. It will only export your mesh using the built-in 2022 materials. Here is a comparison of a Rock surface using a MaterialVariant in studio (with Use2022Materials set to false) and the 2022 rock material appearing in Blender on that same surface.

image

Issue 3: Disjointed surfaces

When you export your selection, Roblox will split apart certain geometry which normally would be joined together. Here I am trying to press L to select all connected geometry at once in Blender, but only part of the mesh is getting selected because the geometry has been split apart. The objects I am trying to select here are meshes I originally created in Blender, so the problem should lie within Roblox’s code instead of my meshes’ geometry.


There are probably a ton of other problems I have missed and I understand that the export feature may be incredibly difficult to maintain. However, if it works correctly it’s an incredibly powerful feature as it allows developers to work on their content in third party software which may have features that Roblox currently does not support.

Please consider revisiting the export feature!

15 Likes

Support! I love that you created such a detailed thread!

Heavily support, especially the third issue. Not only the disjointed surfaces, this also creates more polygons than it used to, resulting in a high-poly mesh.