Part Surface Weld Changes [Activated!]

Hi Developers!

Over a month ago we announced some changes to how Surfaces behaved when building in Studio, and gave you the opportunity to try it out as a Studio Beta Feature. We have made a few small bug fixes to it since then, and I want to thank everyone for your feedback.

Please read the details on the changes here.

Observe this fancy diagram I made that summarizes what’s changing.

This change has now been activated for everyone.

Most people will not need to make any updates or changes to their games. This will only impact the behavior of building in Studio.

The only developers that may want to make changes are ones using JoinToOutsiders. This function will follow the behavior changes of Studio building and create Weld instances for all surfaces except Hinge and Motor, which still create their respective Rotate joint instances. Many games that use JoinToOutsiders still won’t notice a difference here if all that mattered was that parts were joined together. MakeJoints still follows old joining rules and creates old joints.

You can ask questions about the change here but please read the original post that describes the changes in detail first!


I think that this is a good update. It will make building a lot easier due to we no longer have to specify how we want to join. It’s either on or off. I like this. Maybe in the future, parts would be automatically anchored when you insert them from the advanced objects panel.


I agree, however, it should be noted that this can already be accomplished via the use of Plugins or Ctrl + A, then clicking Anchor if you’re not working with the traditional physics system in a map.


The change has been activated! Please let me know if you run into any issues.


better yet, parts not move or shift when they are not anchored while building.


a quick question, is the “join surfaces” a permanent setting to turn on and off for parts or models that are not wanted to be welded together? (i hope so…)


I understand the concept but what is the general use for this, is it to make building easier, if so mind showing an example. I will try my best to find out new ways to use this.


I work with mesh vehicles using A-Chassis.

As of around 6 PM today, several games that I play and a car development community reported that cars refused to move at all when spawned. One of the community members said it might be because the wheels are being welded to the Baseplate.

Is this a likely issue, and if so, how can we roll out a fix? Many games use the same cars, so a bug like this could be affecting at least 30-40 games immediately if the issue is with the cars.

Edit: what might be a fix is turning off Join Services and then use F3X in-game to move whatever’s directly under the spawned car. However, this is obviously not viable in the long-term.


Not sure if it’s related to this change, but people spawning in my game have their feet welded to the terrain.

As funny as it looks, they can’t move unless they remove the terrain block they spawned on.


The units in my game are getting welded to other parts in my map. I tried making everything smooth to no effect.
Please undo this/fix the issue. It is making my game unplayable.


@Garnold @Alkan @Deferend

The change has been reverted back to a Beta Feature.


Will this problem be returning if/when these changes are rolled out?

1 Like

Hope it won’t because Broken will go into another drain.


Just out of curiosity, what was the problem that caused these welding issues? Did MakeJoints accidentally get changed to weld everything?


No, we will make sure that this issue does not occur, its a bug.

The parts welding on insertion is on by default for clients (its on by default in Studio too, but it can be disabled), so that caused more things to be welding that weren’t before. I’ll let you know whatever the new solution is.


I thought that inserting models didn’t weld them to other things by default, unless the tool that inserts them manually creates the welds. This blows my mind. How would I reproduce this behavior?

Remember that joints were changed to be explicit and everything (models and worlds) that once used implicit surface joints are now automatically welded upon loading?

Maybe the backend that automatically converts old models to explicit joints depends on something that was changed in the update.

this was also a concern of mine, everything becoming solid objects, wheels welded to the frame and the ground, i honestly dont see why all this is necessary, i used surface welds and what not since 2010 and i never had a problem or complaint, i had full control over what a part is welded to, and what said part wont weld to, i get that your trying to simplify the system, but this is TO simple, having a part weld to everything automatically, and completely out of our control seems just ridiculous and a annoyance.


There are WeldConstraints. You can visually control which blocks are joined with them. You can even join a group of intersecting parts together by selecting all the parts and then clicking the create WeldConstraint option on the Model tab.

This allows you to visually edit joints as you see fit without accidentally joining your models to other things.

Of course, I believe it is possible for a plugin to visually-display legacy joints, such as those created while dragging bricks around in Studio, so you can break the ones you don’t want.

Though the WeldConstraints linger around when you duplicate and drag parts, you can quickly find and break them, which makes up for the extra effort.


ok, so dues the automatic welding permanently stay as something you can turn on and off on top of this?

Automatic welds are created with legacy welds. You can’t see them visually without a plugin, but they are automatically created and broken as you drag blocks around.

In constrast, WeldConstraints are completely manual. They don’t automatically break, and you need to create them with some button clicks as I described before, but you can see them visually using only built-in tools.

The sole exception I know of to their manual nature is that Explosions automatically break them by disabling them.