model change of gun while playing

I had an idea for a swep, but its very complicated. My idea is, your shooting a machine gun like a mp5 or something, then you right click and the models changes in a smooth like transition into the model of a shotgun and now you can shoot like a shotgun. Is this possible? If so, please tell me how.

i dont think so, maybe try making 2 diffrent sweps, but with a relative interface saying give secondweapon on secondary fire and stuff?

Smooth transition between models? how’d you imagine that?

Create 2 models, fade one out. Fade one in?

Maybe check what type of gun you have each time you shoot. Such as when you turn it into a shootgun do
self.IsShotgun = true

then when you shoot do

if self.IsShotgun then do
elseif self.IsSniper then

but he wants to CHANGE teh model, so why not use mine?