How can I make body movers to almost behave like a weld constraint?

BodyPosition and BodyGyro should work:

The code below shows you what to set your bodygyro/body position’s properties to and the loop below that makes sure the npc follows your character.

local model = your model in the workspace

local bodyPosition = Instance.new("BodyPosition")
local bodyGyro = Instance.new("BodyGyro")

bodyGyro.MaxTorque = Vector3.new(math.huge, math.huge, math.huge)
bodyGyro.D = 100

bodyPosition.D = 1000
bodyPosition.P = 25000
bodyPosition.MaxForce = Vector3.new(math.huge, math.huge, math.huge)

bodyPosition.Parent = model.HumanoidRootPart
bodyGyro.Parent = model.HumanoidRootPart

local character = game.Players.LocalPlayer.Character 

while true do
	wait()
	local offsetedCF = character.HumanoidRootPart.CFrame  * CFrame.new(1,2,2)
	
	bodyPosition.Position = bodyGyro.CFrame.p
	bodyGyro.CFrame = offsetedCF 
end

https://streamable.com/gpg3nn
demo.rbxl (27.9 KB)