Egg rotation not working in ViewportFrame

Hey devs,

For a youtube video I’ve been trying to make a small egg collecting system like Egg Hunt 2022

My egg stops rotating in the view port frame and is incorrectly positioned.

Any help? Thanks!

Video:

Egg Collecting:

local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local RemoteEvents = ReplicatedStorage.RemoteEvents
local Debounce = false
local Model = script.Parent

script.Parent.Touched:Connect(function(Object)
	if Object.Parent:FindFirstChild("Humanoid") and Debounce == false then
		Debounce = true
		local Player = Players:GetPlayerFromCharacter(Object.Parent)
		if not Player.Eggs.LavaEgg.Value then 
			RemoteEvents.Handler:FireClient(Player, "NewEgg", Model)
			Player.Eggs.LavaEgg.Value = true
		elseif Player.Eggs.LavaEgg.Value then
			RemoteEvents.Handler:FireClient(Player, "AlreadyEgg", Model)
		end
		--task.wait(0.001)
		--Debounce = false
	end
end)

Client Code:

local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local TweenService = game:GetService("TweenService")
local RemoteEvents = ReplicatedStorage.RemoteEvents

local EggFrame = script.Parent.EggFrame
local ViewportFrame = EggFrame.ViewportFrame
local EggLabel = EggFrame.EggLabel

local TweenInformation = TweenInfo.new(5, Enum.EasingStyle.Linear, Enum.EasingDirection.InOut)
local Tween
local Camera
local outcodeEgg 

local function SetEgg(Egg)
	local ClonedEgg = ReplicatedStorage.Eggs[Egg.Name]:Clone()
	ViewportFrame:ClearAllChildren()
	ClonedEgg.Parent = ViewportFrame
	EggLabel.Text = Egg.Name.." Egg"
	outcodeEgg = Egg
	
	Camera = Instance.new("Camera")
	Camera.Parent = ViewportFrame
	ViewportFrame.CurrentCamera = Camera
	Camera.CFrame = Egg.CFrame * CFrame.new(0, 0, Egg.Size.z * 1.5)
	
	Tween = TweenService:Create(Egg, TweenInformation, {Orientation = Vector3.new(0, 360, 0)})
end

RemoteEvents.Handler.OnClientEvent:Connect(function(Argument, Egg)
	if not Argument then return end
	if Argument == "NewEgg" then
		Egg:Destroy()
		SetEgg(Egg)
		EggFrame.Visible = true
	elseif Argument == "AlreadyEgg" then
		Egg:Destroy()
	end
end)

while true do
	if outcodeEgg then
		Tween:Play()
		Tween.Completed:Wait()
		print("t")
	end
	task.wait()
end

I think the rotation issue has something to do with your ViewportFrame not having WorldModel as their child?

I doubt that. I made this before and that one worked. I re-wrote the code, and now it doesn’t. I think it has to do something with

Camera.CFrame = Egg.CFrame * CFrame.new(0, 0, Egg.Size.z * 1.5)

"t’ gets printed though, but the script doesn’t rotate the egg.

Anyone an idea?