Changes to Part Surfaces

Are you able to provide an example of this? I’m pretty sure this only happens when you insert new parts rather than duplicating existing ones.


I wouldn’t consider it hours wasted, the more you learn how to do stuff the best way available, the happier you’ll be with your work :slight_smile:

I get that newer, less-experienced builders may have a hard time figuring out what the surface types do. It makes sense to at least hide an unused feature of the Roblox engine. Those who specifically want to use legacy surface joints can use MakeJoints (or for now, JoinToOutsiders), though I’d prefer it be hidden via an advanced setting in case someone needs it to work with older builds.

I couldn’t help but notice that the change hasn’t become mainstream yet. Are you keeping the legacy surfaces around a little longer for older builders to adapt?


Oh. Nevermind. I found the announcement.

Will yellow hinges be replaced with a constraint to power vehicles? Or do we have to script everything now… many people who develop cars and locomotives don’t know anything about making or installing scripts, so will this mean newer developers will no longer be able to power a vehicle without learning how to program? If this is true, its rather conflicting with all the other updates that have been done to making roblox easier for new developers…

1 Like

Haven’t heard anything about part surfaces in some time, and like @ForbiddenJ said,
“less-experienced builders may have a hard time figuring out what the surface types do.” I don’t know a whole lot about part surfaces so I think it may be helpful in the near future.:+1:t6:

Yellow surface hinges have been replaced by HingeConstraints for a few years now. We have a very simple tutorial with a script included to create a car using constraints. There’s also tons of cars and chassis on the toolbox that can be taken and customized.

That being said, this change is not removing the ability to use yellow surface hinges, as stated in the post. You will still be able to use them to build cars with VehicleSeats after this change.

1 Like

Is there any plan to eventually phase out hinges and motors?

I think that most developers script/build their own versions of hinges and motors -or some of the like- so the idea of phasing them out might have some positive feedback.

[Correct me if I’m wrong, I’m not a super expierenced developer]

1 Like

Just use this bit of code in the command bar and will delete everything with the name “ManualWeld” in the game, or whatever name you put in the if statement.

for i,v in pairs(workspace:GetDescendants()) do
	if v.Name == "ManualWeld" then

We may continue to hide and remove them from various studio tools, but they will always exist as an instance you could insert with a script to maintain backwards compatibility.

Surface Hinges and Motors have been replaced by HingeConstraints and other physics Constraints.

1 Like

So creating motors with a script would still work?

Ehm no, surface types are way easier to understand than those wierd constrains. Even if not many use it, it still important for me as a transport developer, it would damage my work flow, like all of my trams base of hinges. But the remaining questions is if you will also remove the Surface Property in the “Properties” Window.


@kleptonaut posted this on the released thread, for any people that aren’t viewing that:

1 Like

Do not remove VehicleSeats. I use their ThrottleFloat and SteerFloat values in my scripts. They are very comfortable and fast to use.

1 Like

Totally same here. Copying wheels or bogies takes a lot longer with constraints because you need to move or edit attachments every time.

Constraints are much better than surface types ever will be.

I’d suggest using the search tool first:

1 Like

If I have a ‘old’ game that relies deeply on SurfaceTypes, I’m getting the idea that it will not be impacted. What if I wanted to add an update to that game? Will I have to find some other way using constraints?

1 Like

I couldn’t help but notice that this change been hasn’t been reissued for a while.

If I understand correctly, one change is that workspace:JoinToOutsiders("Surface") acts like workspace:JoinToOutsiders("All"), where it joins blocks without regard to surface types.

And then the change was reverted because many games had characters and things randomly welded to the ground.

Was there a change to an underlying surface system that caused other builtin systems to randomly weld stuff?

I also have another question: Even if all the Studio tools pertaining to legacy joints are removed, won’t it confuse new developers more if they see something using legacy surfaces and have hardly any means of experimenting and learning about it in Studio? For example, there are numerous MakeJoints and BreakJoints calls in toolbox scripts.

1 Like

What does this mean? Does this mean like studs will be removed, but Hinges and Motors will stay?

1 Like