HingeConstraints or Manual CFrame Manipulation?

I have multiple interactable objects in a singleplayer game that loads absolutely everything in the client. A vast majority of these interactable objects use HingeConstraints such as this door:

As you might notice, the door contains two constraints. One is between the knob and a cylinder connected to the door to simulate using the knob. The other is obviously for the door itself, connected to an anchored portion of the door’s frame to the side.

The player doesn’t walk into it to turn it. I changed the ActuatorType to servo and implemented ProximityPromptService to listen for an interaction with the door and redefine the desired angle according to its state and the location of the player (if the player is on one side, open it towards the other).

Hinges have been serving me well so far, but I have some concerns about its potential inconsistency when used in this way. Would you recommend keeping this system or simply performing rotation manually?

1 Like

This kind of stuff is what the new constraint system was made to do. Personally, I think it’s the more ideal option over doing other things with CFrame, 100%.

Unless you actually have issues, this is definitely the way to go.

2 Likes