Combine :GetPrimaryPartCFrame And :SetPrimaryPartCFrame

As a Roblox developer, it is currently too difficult for new users to understand how to tween the PrimaryPartCFrame of a model. For most users who know how to implement this as a function, you still have to go through the work to create it. TweenService is just an example. If x:GetPrimaryPartCFrame and x:SetPrimaryPartCFrame were just combined to become x.PrimaryPartCFrame not only would character count decrease, but we wouldn’t need those redundant functions. This most likely would improve a user’s workflow considering the use of a model’s PrimaryPartCFrame. It would most certainly improve mine, currently I have a function that uses TweenService to tween a model. Implementing this property would remove that function. Just a simple proposal however, any feedback would be great.

EDIT: Yes, you can access the PrimaryPart directly and change its position. However, it only affects completely unanchored models.

3 Likes

Model.PrimaryPart.CFrame ?

If you were to set that on an anchored model, only the PrimaryPart would move. Which then you would have to resort to :SetPrimaryPartCFrame. Instead a PrimaryPartCFrame property would be nice to have so it’d work on unanchored and anchored models.

It appears as though thou art correct, my bad

1 Like

Like the Elizabethan English!

Why do we even have :GetPrimaryPartCFrame()?


There’s nothing different??

1 Like

Probably because SetPrimaryPartCFrame exists tbh. The only benefit of SetPrimaryPartCFrame is that it moves all the other parts within the model too (albeit this suffers from precision errors, so you still have to write wrapping code around it to properly move around models).

Either this or method tweening (like Godot has), or both.

Support xd

Shameless bump. This needs to be a thing, now. I demand it!

The lack of being able to use TweenService easily on models was annoying at first, but now it’s plain infuriating. I have a game with tons of models that move, and this is essentially my process:

  1. Have the actual model that moves. We’ll call it MoveModel. MoveModel is what the players see moving around.
  2. Have two dummy models at the start and finish positions MoveMovel goes to when it tweens.
  3. Create a bunch of tweens for each individual part in MoveModel (the cringe is real).
  4. Play said tweens.

So because I can’t just tween one property to move my model, I have three separate models, easily 20 calls to TweenService, useless dictionaries for each part so TweenService knows which properties to change, and a ton of time wasted setting this stupid system up physically and in my code.

If this property were added for any reason, it should be for TweenService. Words cannot describe my disappointment with the current way I’m forced to use it.

Edit: Plus I’m (admittedly not very efficiently) manually replicating the tweens so that’s also like 20 calls to the client every time I want to move something. Ouch.