First off: No my game won’t have guns, these viewmodels are for different items since it’s supposed to be a horror game.
Second: I’d like to have the viewmodels to always be tracking the camera, so most of the time the viewmodels will be on screen unless changed via animations. So not tool based, the viewmodels will always be active.
Well, you’ll want to have a model, with a humanoid, animator and 2 parts for arms.
Then, in a function that runs every frame, set the models primary part CFrame to the cameras CFrame.
(The primary part would be where the camera is positioned)