First Person Preview Plugin

This plugin has been superseded by ViewportBuilder

Note: This plugin is 1 year old at the time of editing. I was inexperienced in creating plugins at the time, and even after the rewrite it’s not to a standard that I’m happy with. There are bugs and quality issues that some users may experience. This plugin also has the potential to cause performance problems within Studio because it doesn’t properly clean itself up when not in use. That being said, if you have use for it as an animator, I hope it can still serve as a useful (free) tool in your workflow!

First-person animation can be tedious work. It’s dangerous to go alone, take FPP!

First Person Previewer allows you to preview your first person view-models as you build and animate them. It’s pretty straightforward: All it needs is a camera part in a model. It displays whatever is inserted into that model in a viewport frame!

Hotfix 7/29/2021

Fixed an issue that made this plugin unusable for many people. See this reply for an explanation of the issue.

Hope this helps whoever needs it!

The plugin in action:


(They haven’t changed in the new version; it still works in roughly the same way!)

  1. Create a model
  2. Insert a part named “CameraPart” into the model
  3. Ensure that the front of the CameraPart is facing where you want the preview to display

And that’s it! I initially created this for internal use, but I decided to release it into the wild. I plan on adding support for precise aspect ratio definitions in the future (you will be able to set your own aspect ratio).

As always, feedback and criticisms are encouraged!

I hope you find this to be useful! :wink:


This is amazing, thank you for this! I can now make First Person Shooters with ease!

1 Like

This is something I never knew we needed… it’s really creative, I love it.

1 Like

I’ve been collaborating with animators for viewmodel animations these past months, so I have a few insights:


I have a feeling most viewmodel rigs will have the origin part also be the camera part. Regardless “CameraPart” is a good universal touch. Finding the root part in a rig is a matter of scanning for the part that doesn’t have a Motor6D Part0 parent joint (but has other parts connected to it).


To keep everyone’s work standards in the team consistent, I request for previews that are 70 FOV and displayed in a 16:9 preview screen. A widget that would fit the whole 16:9 preview (Automatically scale to widget size) would be helpful

I also base weapon positioning by how the gun is placed in relation to the middle horizontal and vertical lines of the screen:

The crosshair helps me see that relation. Crosshair in the plugin would be a nice touch


These are all very good suggestions, thank you! I will be implementing all of these in an update soon.


Recently, I reworked the UI and added an FOV slider and crosshair. Unfortunately, there is no aspect ratio selection yet, but the widget should now default to a 16:9 ratio. Your mileage may vary, though.


Doesn’t work for me! Any help?

1 Like

I’ve noticed it works great the first time, but after making my animation, save my place and continue later it no longer previews the same view model again. Same issue AlexandreTheGreat is happening it seems.

1 Like

I’ve received multiple reports about this now; I’ll look into a fix when I can. I do apologize for the inconvenience.


Over a year later, and I finally got around to fixing this issue. Sorry haha, it was low on the priority list but once it started affecting me (I’m using this quite often for a project I’m working on) I decided to look into it.

Basically the way the plugin works is it tracks a table of the original model’s parts, clones everything into the viewport frame once, and replicates the CFrames. The plugin should have only been tracking BaseParts, but due to a simple error on my part it was copying over objects of all class types, which caused an error with the replication. The indexes of the two tables were basically misaligned; to track what’s what, it inserted instances in the same order, but one of them had objects of all class types, and the other only had BaseParts, resulting in the two tables having differing length and order. Whoops!


Uh, where’s Viewport Builder? Plugin’s description says that Viewport Builder superseded this plugin, and left no link. I looked it up on the toolbox, and no such plugin showed up. Searched for any plugins under your account, and FPP is the only one. I’m confused

1 Like

It’s at the top of this post:

It looks like when I added the link to the description, Roblox removed the link (or I forgot to update it… :person_facepalming:). I’ve updated the description to link back to this post now. Thanks for bringing this to my attention.

1 Like

Thank you, sorry for wasting your time by not seeing it lmao