GetPhysicsObject() returning null

I am trying to create a SENT that will basically interact when you press E on it. For some reason the GetPhysicsObject() is returning nil. Is it because the model has no physics? The witchhat is from this collection:

Also a note that the model when spawned from the collection has the green circle which is used to move the model which can be turned off by doing cl_draweffectrings 0. This is what makes me think the model has no physics because you need to move the object by physgunning the green circle. ( I have no idea about models/physics so I am making a guess about this)

Below is my code:

cl_init



include("shared.lua")

function ENT:Draw()

	self:DrawModel()
	
end

shared



ENT.Type = "anim"

ENT.Base = "base_gmodentity"

ENT.Instructions= "Spawn and press E to select your house"

ENT.PrintName = "Sorting Hat"

ENT.Spawnable = true

ENT.AdminSpawnable = true



init


AddCSLuaFile("cl_init.lua")
AddCSLuaFile("shared.lua")

include("shared.lua")

function ENT:Initialize()

	self:SetModel("models/gmod_tower/witchhat.mdl")
	self:PhysicsInit(SOLID_VPHYSICS)
	self:SetMoveType(MOVETYPE_VPHYSICS)
	self:SetSolid(SOLID_VPHYSICS)
	self:SetUseType(SIMPLE_USE)
	
	phys = self:GetPhysicsObject();
	
	if IsValid(phys) then
		phys:Wake();
	end
	

end

function ENT:Use(activator, caller)
	print(caller)	
end


You’re correct, it has no physics mesh

Alright thought as much cheers.