Need help to find out how to make a 3D user interface

SOLOUTION FOUND

UI3D Module fixed it

They used bobbing on the GUI to make it look 3d i think

Modified script
local function Bob(Object, Speed)
	local StartPosition = Object.Position
	local Tween

	local function TweenMiddle()
		Tween = TweenService:Create(
			Object,
			TweenInfo.new(Speed, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
			{["Position"] = StartPosition}
		)

		Tween:Play()
		Tween.Completed:Wait() 

		return
	end

	while true do
		TweenMiddle()

		Tween = TweenService:Create(
			Object,
			TweenInfo.new(Speed, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
			{["Position"] = StartPosition + UDim2.new(0.025, 0, 0.05, 0)}
		)

		Tween:Play()
		Tween.Completed:Wait()

		TweenMiddle()

		Tween = TweenService:Create(
			Object,
			TweenInfo.new(Speed, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
			{["Position"] = StartPosition + UDim2.new(-0.025, 0, 0.05, 0)}
		)

		Tween:Play()
		Tween.Completed:Wait()
	end
end

task.spawn(Bob, script.Parent, 0.25)

What about the health user interface, it really doesn’t look like its a ScreenGui

its a part with a SurfaceGui in it

I know but how would you do that, what I mean is how would you attach it to the camera and make it sway.