How to tween object without keeping goal properties constant?

Let’s say I have two objects, the first one is moving and the second one is anchored. If the objects were anchored and I wanted to tween the second one to the first one I could just set the tween goal to {Position = firstObject.Position}. Although in my situation where the first object is moving, the position isn’t constant and the goal references the position at time t of referencing it, therefore moving the second object to the first object’s old position.

Therefore my question is very simple, how can the goal of a tween be updated while it plays?

Why dont you use WeldConstraint For this?

Because I don’t want the second object to attach to the first one. I want it to smoothly animate before fading away, thus for my case I need to smoothly change multiple properties at once.

How about using AlignPosition would it go smoothly i heared Tweening is the best for physical stuff

What’s stopping you from tweening both parts to the same destination as opposed to tweening part B to part A?

One of the parts is a vehicle, therefore managed by the player(and the movement is physics-based using velocities and such).

How about try Lerping instead?
Something like this:

local A = Instance.new("Part")
A.Name = "A"
A.Anchored = true
A.CFrame = CFrame.new(0, 10, 0)
A.Color = Color3.fromRGB(255, 0, 0)
A.Parent = workspace

local B = A:Clone()
B.Name = "B"
B.Color = Color3.fromRGB(0, 255, 0)
B.CFrame = A.CFrame * CFrame.new(0, 0, -10)
B.Parent = workspace

game:GetService("RunService").Heartbeat:Connect(function(dt)
	B.CFrame = B.CFrame:Lerp(A.CFrame, dt)
end)

You can also manipulate the alpha by a tweening style by using

local alpha = game:GetService("TweenService"):GetValue(dt, Enum.EasingStyle.Sine, Enum.EasingDirection.Out)
-- and then pass this value to lerp function in the Heartbeat connection
B.CFrame = B.CFrame:Lerp(A.CFrame, alpha)