EasyFirstPerson: Drag-and-drop first person view models!

Have you ever tried to make one of those nice first person view model systems complete with camera sway, bobbing when you walk, etc. but didn’t have the programming knowledge to do so? Or maybe you know how to do it, but don’t want to have to write up custom code from scratch. Either way, EasyFirstPerson is the system for you.

Just add the script and watch as all the tools in your game now have that satisfying First-Person-Shooter view.

Not sure what I’m talking about? See the example below.

R15 rig before EasyFirstPerson

R15 rig after EasyFirstPerson

See R6 comparison

default R6 rig:

R6 rig after EasyFirstPerson:

Click here to play the testing game (it’s much smoother than it looks in the videos).

Get the model here:

Be sure to see the “README” file inside for installation instructions.


  • Works with R6 and R15!
  • does not override animations! If your tool plays animations, they will still affect the view model arms as expected!
  • fully customizable! Easily pick and choose which sway/camera methods are applied.
  • Drag and drop functionality. Just Plug and Play.
  • all code is thoroughly commented, allowing you to see how the system works so you can create your own FPS camera systems.
  • Automatically applies the view model system whenever you go into first person view.
  • ability to customize the transparency/visiblity of the view model arms.
  • designed to interfere as little as possible with the pre-existing systems in your game.


check out my other open-sourced projects:

See my development portfolio


Woah! It’s really cool of you to open-source this! Making this kind of first person view is a real pain to get right, so I’m glad that there’ll be an easy way to just have it in the future. Props to you!
Alas, in the testing game, I found this bug:

If you zoom in and out quickly enough, you can trick the view into getting stuck on your camera. Kinda weird to look at, but it doesn’t seem like something people would accidentally do (they’d have to try for it). Either way, amazing resource!!


Amazing job, this could be potentially useful for any game, I can’t imagine any scenario where the default first person of roblox looks better than this. Although a custom First Person Viewmodel could allow for best compatibility with a game’s weapons or so, this is an easy and simple solution, and it seems to be more than enough for any game that can be played in first person.

Will definitely use it! :heart:


Thanks for the feedback! The problem has been fixed.



Fixed a ton of bugs that people sent me, also added new feature that allows this system to work when the camera is locked in first person.

Seen a bug In the system? Shoot me a message here on the forum and I’ll fix it in no time!


It seems like there is a LOT of issues regarding tools and first person, which kinda defeats the purpose of this if it doesn’t work.

Big bugs to note:

  • Walking into a seat with a tool equipped will cause players tools to fly across the map at fast speeds, but it only shows to them. Upon getting up, it continues until you go out of first person and back in first person.

  • Melees with Touched functions that damage humanoids will damage you if you look down and use the tool or walk with it and used it, but that doesn’t occur in 3rd person.

Video: Proof of Bugs

I didn’t intend to put the code for this in my Vibe Game, I just inserted since I have a lot of admin tools in the game that I mess around with.

The first person camera can also get you on seats that are above you or are behind walls. I was simply walking, and when I looked up, it put me on the seat of my roof, when I didn’t even jump.

Turns out, jumping and walking will sometimes make your body parts fly across your camera at very fast speeds, and again going out of first person and back in will prevent the issue.


I have released over 10+ updates to the model over the past days which have fixed many of these bugs, so try deleting your current version and re-inserting the model.

My system wouldn’t have caused this unless your melee system is set up to allow damage to your character. adding a damage check like the one below will fix that.

if hitcharacter ~= mycharacter then
-- damage the enemy 

If this keeps happening after you’ve inserted the latest version of the system, it’s likely because other scripts in your game are interfering with the system like you said here:

Try re-inserting the system. If it still happens, message me on the forum with more details and I’ll get it sorted out.

1 Like

Just inserted this today, so it cannot be that. Keyword from you is “past days”, and I just inserted it today.

That isn’t the case because all my tools don’t use any camera system manipulation. Just your generic average tool with a handle.

I’ll try this now, but I doubt it’d make a noticeable difference.

Also yes I’ll run a check on that tool. It’s just never happened before so I figured it might have been because of your module. I feel like any post should be left out in the open so other people can learn from it. Thanks :slight_smile:


It appears the latest version of this fixed the problem, but if it occurs again I’ll be sure to post back here. Thanks for the help.


How do I make it so that certain guns have 2 arms?

I think I found a bug…

Learning how to fly (video)

I’m not sure if this is a Roblox problem or an EasyFirstPerson problem, but animations are definitely a part of it. The guns are made up of two non-collidable, massless parts that are rigged together, and the guns are also rigged to the right hand of the character to give me more control over the animations. I know this isn’t the cause, though, since the same problem occurred when I tried using the original single mesh models for the same guns without any rigging, and it didn’t happen at all when I disabled the equip and idle animations for the guns. My guess is that this is due to roblox tools acting weird sometimes, but it didn’t happen with EasyFirstPerson Disabled or when in third person, so I’d say it’s worth looking into.

Edit: This also happens in the test place:

But wait, there's more! (video)


You should use a Modded version by bluric_64bit

Just tried it, that version has the same flight bug.

have you turned off cancollide inside tool parts?

Thanks for the report! After rewriting much of the system (and adding a bunch of cool new features) the bug is now fixed. The model has been updated - please re-insert the model into your game to get the updated version. Big thanks to @thienbao2109 for showing me a different method of creating the viewmodel

link to the model →

This topic is not the place to advertise modded versions. Please take this down.


Welp my post have taken down

Edit: I can finally use this model.

Good update! I like the new jump sway feature. However, I do have some bad news…

oh no

The weird flight bug is still present. It’s harder to make it happen now, but it still happens nonetheless.

1 Like

when you reset the view model does not work

maybe it’s collide i guess?
idk how did that happen lo

How do I use this? Is it for the player’s character or a viewmodel???