Making a game using only meshes?


I wonder whether it is possible to make a roblox game using only meshes? Let’s say you make a sci-fi game, could you make the hallways, models and all that in blender? How does collision and physics affect this, and most importantly the performance?

Thanks in advance!


I think performance will drop hard. From what I know meshes cause more lag then parts.


As sated before, it would cause a lot of lag depending on the polycount of your meshes.

You could change the hitboxes with the CollisionFidelity set to PreciseConvexDecomposition(?) and it will create more accurate hitboxes, keep in mind it isn’t a 1:1 hitbox.

Some games, such as Welcome to Bloxburg by Coeptus use a lot of mesh assets, probably more than parts.


Would you recommend making walls, floor and the roof as one mesh, or would it be better to separate all the meshes into smaller meshes? Also would doing so, affect performance?


Depends. I would say have them as separate meshes as higher poly meshes could have less accurate hitboxes, even with the collision fidelity. If you’re planning on using textures, you could definitely use one mesh, but as I said before, the collision fidelity. Not to mention the relatively low max polycount, it’s only around 10,000.

I don’t know if it would affect performance very much, or at all. I would say more precise hitboxes make a bit more lag, so I would use the box or hull collision fidelity as much as possible.


A game with only meshes would probably be more of a showcase than a game. Where are the scripts? GUI? There needs to be gameplay.

If you mean meshes in place of bricks and unions then that would make more sense.


I think he meant just the physical aspects, I think scripts would work relatively close to the same as normal parts.


If your doing that you should probably take into account that your main focus should be on a showcase place/game. If your doing this you should add a lot of details, realism, fix, special effects, light casting, and etc… Anyways, I hope this helped, Good luck🙂

If you want a game without scripts but want things to happen you could also use plugins and models that have scripts embedded in them. Just make sure their not malicious.

Are you looking to make money off this game or is it just for fun? Because, if it is to make money then you should probably veer away from a showcase-type of game.


I do plan on making the game’s main focus to be a showcase like game, however I might gonna have some minor gameplay in it too.

Oops, forgot to add this: ensure you take advantage of Blender’s smooth lighting feature. You may know about it considering you want to make a full game around meshes, but thought I would let you know. It will aid in optimizing the performance while keeping the mesh looking somewhat high-poly. I will show you what I mean. Keep in mind I didn’t add or remove any faces in the following examples, just turned on smooth shading.

Here’s a sphere with flat shading vs smooth shading:
Screen Shot 2020-06-13 at 6.05.48 PM Screen Shot 2020-06-13 at 6.06.27 PM

For sharp edges, use edge split to give your shape more dimension. For example, here’s a cylinder without vs with edge split:
Screen Shot 2020-06-13 at 6.07.28 PM Screen Shot 2020-06-13 at 6.08.19 PM


If that’s the case your game would probably be like a role-play, military, Scp-game/place, etc…


Oh great, thanks for the notice. I always thought smooth shading just added more faces when I exported it to an obj file so I usually avoided it.

1 Like

It depends on how many different mesh files/assets you use and the vertices/tris of each mesh. But usually if you were to do this you would probably only get players from people with higher-end devices.


Yeah, might gonna be role-playing game as I want to make the map more sci-fi/futuristic based.


@7z99 I 100% agree with you on this🙂

1 Like

This is everything you need to know about the MeshPart object:

But to address your concerns:


MeshPart has a CanCollide property called PreciseConvexDecomposition. This property will try to calculate collisions to the best of its ability. The reason I’m not using the word perfect here is because it does still mess up on some occasions. This can be due to really complex geometry or just a flaw in the current system that is likely to be improved upon eventually. It is still usable but keep your geometry basic, seperate any complex objects if need be.

You can check collisions with this plugin:


MeshParts can be instanced. This basically means that any meshes that share the same MeshId will be rendered in a single draw call. Properties like TextureId, Transparency and Material will prevent it from instancing even if they share the same MeshId, so avoid changing those if you want them to instance.

MeshParts also have a build-in LoD (Level of Detail) system which also helps performance. Take note that RenderFidelity must be set to Automatic in order to apply.

Parts can be instanced as well so if you can get away with using a Part in cases that don’t require any unique geometry, use a Part. Roblox handles Part rendering pretty well.


If you can use a Part, use a Part. Use a MeshPart in instances that require complex geometry or a unique texture. It’s trial and error but I’m pretty sure you can make it work with the majority being MeshParts if you take all of the above into consideration.

Good luck.


Please take into account that Mesh-Parts now ignore Special-Mesh Parts so that they don’t break.

Sorry if this is off-topic, anyway there was just a post about it yesterday🙂


You should probably use SpecialMeshes as much as possible as they don’t calculate the hitboxes if I recall correctly. It just has the hitbox of its parent, should its parent be a part.

1 Like

Here’s a post about the update with Mesh-Parts and Special-Mesh Parts SpecialMesh under MeshPart behavior correction
I hope this helped🙂


Yeah, that would work as well. I was just thinking if he wanted a cube/rectangular prism mesh as a floor or something, he could use that, assuming he wanted to use a texture over the materials Roblox provides.

1 Like