Replication Bug with Size and Velocity?

I’ve been trying to work around this issue but I really have no idea what’s even going on and if I’m even able to get around this or fix it.

I’m trying to clone a mesh part and give it some velocity while changing the size at the same time, but when I do that it just freezes in places like it was anchored. This happens on the client. However, when I view it on the server, everything works as normal. I have used tweening and lerping to change the size while it moves and both have the same effect of making it freeze. I also tested to see if the same would happen if I did the same thing in a blank place by making a part, giving it some constant velocity and tweening the size and it has the same exact issues. This occurs both in play testing and in game.

Client:

Server:

Code handling part and velocity creation (don’t know if this would help but I’m pasting it anyway):

local wave = game.ReplicatedStorage.element_parts.universal.half_wave:Clone()
wave.Position = char.HumanoidRootPart.Position - Vector3.new(0,8,0)
wave.Material = Enum.Material.SmoothPlastic
wave.CFrame = CFrame.lookAt(wave.Position,mouse_position.Position) * CFrame.Angles(math.rad(180),0,math.rad(90))
wave.Size = Vector3.new(34,60,68)
game.TweenService:Create(wave,TweenInfo.new(4,Enum.EasingStyle.Linear,Enum.EasingDirection.In),{Size = Vector3.new(34,364,68)}):Play()
wave.CastShadow = false
wave.Parent = workspace.effects
wave:SetAttribute("effect",true)
task.delay(4,function() -- ignore the cringe indentation it forced on me
game.TweenService:Create(wave,TweenInfo.new(1,Enum.EasingStyle.Linear,Enum.EasingDirection.In),{Transparency = 1}):Play()
end)
local force_att = Instance.new("Attachment")
force_att.Parent = wave
local force = Instance.new("LinearVelocity")
local lookat = CFrame.lookAt(wave.Position,mouse_position.Position).LookVector * 160
force.VectorVelocity = Vector3.new(lookat.X,0,lookat.Z)
force.MaxForce = math.huge
force.Attachment0 = force_att
force.Parent = wave

Why are you putting effects on the server? It’s really just a waste of resources when you can just send a remotevent to all clients to let them create the effect themselves.

Effects on the server are temporary. When I feel like everything is ready I’ll switch effects to the client. (makes developing easier)