Building Optimisation | Tips and tricks!

This is a very informational tutorial, nice visuals!

19 Likes

This will help me a lot in Building, thanks for the interesting tutorial.

12 Likes

This is the guide of my life. I love you :heart:. Ultra useful, bookmarked, shared, and going to be used!

15 Likes

I shall take this into consideration when working on big projects. Thanks for the advice!

5 Likes

If i understand this correct, meshes are more efficient than union operations, but i prefer to model with unions.
Would it be more efficient to save your unions as 3D models on your computer and then upload them as meshes?

3 Likes

From what I remember, I was describing that you should use whatever is most efficient for that specific task. I usually use unions for convenience as I can 3D model anyway, but really it depends on the task/model you were trying to create with the union. If it was a highly complex model, you will want to keep in mind that meshing may be more effective for optimization sakes, but you should try to make sure your models are as abstract (simplified) as possible.

I’m not quite sure whether it’ll make any difference in performance or not, as all you are doing is exporting the same “CSG” file, including all the triangles that go with it, and placing it back in. My preferences are that I suggest you use meshes instead of unions for objects/props as you can optimize a mesh far easier than you can with a union, but if you want to use unions for convenience sakes, then go ahead! It should be noted that exporting and importing a union can leave some texturing issues and if you want an aesthetically pleasing product, you should stick with either unions or mesh-parts, but not a union exported and imported back in.

6 Likes

From how I understand it, yes; but it is not an optimal solution.

UnionOperation objects need to contain child data (data which describes what parts they are made out of) so they can be ‘disassembled’ in studio. This means they take up more data than identical meshes which do not have to support those union/negate/separate operations. In that sense it would be more efficient to translate your object into a MeshPart.

However, unions do not have optimal geometry. What I mean by that is that the shape of a union is hard to calculate and as a result your shapes may often contain more faces (surfaces) than needed. This means that if you were to export your union, import it into a modelling program and then export it as a mesh, your new mesh would be sub-optimal. You could still do it, but it might be better to use the modelling software to take a look at the union and see if you can optimize the shape in some places.

If you do not plan on building super complex unions and/or using a ton of them in your place(s) I wouldn’t worry too much about it though. If you run into performance issues there are usually better solutions than to translate unions one-to-one into meshes.

9 Likes

That’s a great guide,most of these informations are really useful and i didn’t know them! Thanks for letting those things,and nice eiffel tower! <3

2 Likes

I understand I am super late to this. But thank you so much for this. Now I can make my creations lag 10x less then they should!

3 Likes

Extremely useful tips and information.
This will help me alot!

3 Likes

This is very helpful, thanks for sharing!

3 Likes

Very Helpful, Thanks! Im definitely going to apply these in my builds :smiley:

Awesome guide. I am building my first low poly map and it seems to me that building lowpoly buildings is easier in roblox, but all the assets around/inside of it in blender.

I had a question about mass.
I know it is better to have parts anchored, but if something does move, could you make it perform better by making parts mass-less?

Great tutorial!

It’s funny how much has changed in 12 years! :happy1:

4 Likes

I’m not fully certain about the performance impacts of having a part massless or not, only that enabling the property means that if the part is connected or welded to another part that has mass, it won’t contribute to the bodies inertia (or total mass). However, I think it’d be safe to say that it shouldn’t make a difference if you do or don’t have massless toggled on a part.

However, if you are using meshes or unions, I would double-check the “But Mario, I thought Unions were bad” section of the guide, as CollisionFidelity is a universal property that both Unions and MeshParts have, and may prove useful as it can simplify the impact of a mesh/union colliding with another object, through decomposition and by reducing the number of potential points a union/mesh could be collided with. (i.e - box collision is designed to be a complete cube around a mesh or union, so if you walked into this, you’d collide with it as if it were a cube of the same size.)

I hope this helped!

2 Likes

This topic is incredibly helpful for builders like me who is looking forward to learn and improve their building skills that wish to provide their clients the best game performance they can have while playing the game!

I will definitely start paying more attention into optimizing buildings when creating large projects to avoid running into performance issues. :slightly_smiling_face:

3 Likes

this is the Holy Grail.
some of the most important information you can put in Developers’ hands.
Thanks bro for doing the leg work and for posting the findings of your research.

@Theranium We should definitely implement this.

I thought terrain hollowing was actually a bad thing?

Not at all. I used it to optimize my game and it doubled the amount of performance. I know I’m really late to replying on this, but it should be replied to either way I feel.