Stuck on this fps system for a week, (fixed)

This is mainly just how I am loaded animations

I have been working on an fps system for a while now and im making a better version, and I am roughly following this tutorial Writing an FPS framework (2020).

But I am stuck on loading animations, as they keep coming back as nil. I am sharing my main script for this and along with that I will send my rblx file if needed. fpsplace.rbxl (727.5 KB)

local GunController = {}
GunMT = { __index = GunController }

local ReplicatedStorage = game:GetService("ReplicatedStorage")

function GunController:New(Viewmodel, CurrentGun)
	local self = setmetatable({}, GunMT)

	self.Viewmodel = Viewmodel
	self.Gun = ReplicatedStorage.Storage.Guns:WaitForChild(CurrentGun)
	self.Gun.Parent = self.Viewmodel

	self.AnimationController = self.Viewmodel.AnimationController
	self.Animations = {
		Equip = self.AnimationController:LoadAnimation(self.Gun.Animations.Equip),
		Idle = self.AnimationController:LoadAnimation(self.Gun.Animations.Idle)
	}

	return self
end

function GunController:Equip()
	self.Animations.Equip:Play()
	self.Animations.Idle:Play()
	self.Equipped = true
end

function GunController:Update(dt)
	if self.Equipped then
		self.Viewmodel.PrimaryPart.CFrame = workspace.CurrentCamera.CFrame
	end
end

return GunController

{40F9A262-50E3-4442-A552-EF9A4895749D}

ReplicatedStorage.Framework.GunController:23: attempt to index nil with ‘Equip’ - Client - GunController:23

:pizza:Thanks for taking the time to read my post and help,

Can you please show how you are calling the :Equip() function? Just want to make sure that you are using : rather than .

someone in a discord server saw my post and solved my issue. But yes, I am using :
(Solution : I was calling it wrong in the framework controller)

Please post the solution and mark it as the solution, otherwise it helps no one else.