Better First Person Viewport add-on for Blender
This add-on gives Blender a smoother first-person viewport mode for moving around a scene. It uses mouse look, a fixed 90 degree field of view, a small center crosshair, and ESDF movement instead of Blender's normal fly/walk controls.
Files
- Add-on: better_first_person_viewport_addon.py
- Panel location:
3D Viewport > Sidebar > View > Better First Person - Toggle operator:
view3d.better_first_person_toggle - Navigation operator:
view3d.better_first_person_navigate
For installation, see Installing Blender add-ons.
What it does
The add-on runs a modal viewport navigation operator. While it is active, the mouse controls view direction and keyboard input moves the viewport camera through the scene. The cursor is hidden and repeatedly centered so mouse movement can continue without hitting the edge of the screen.
The camera update is handled on a timer at 144 Hz. Mouse movement is accumulated between timer updates, then applied in one unified camera update. That helps the movement feel steadier than applying view changes directly inside every mouse event.
Workflow
- Open a 3D Viewport.
- Open the sidebar with
N. - Go to
View > Better First Person. - Set movement speed and mouse sensitivity.
- Click
Enable Better First Person, or press middle mouse if the add-on keymap is active. - Press
Escor middle mouse to exit.
Controls
E: move forward.D: move backward.S: move left.F: move right.Space: move up.Shift: move down.Tab: move faster.Ctrl: move slower.Mouse: look around.Middle Mouse: toggle the mode.Esc: exit the mode.
Settings
Move Speed: normal movement speed.Mouse Sensitivity: mouse look sensitivity.Tab Fast: multiplier used whileTabis held.Ctrl Slow: multiplier used whileCtrlis held.
Notes
- The add-on changes only the active 3D viewport navigation, not the scene camera object.
- The internal FOV is fixed at 90 degrees.
- The pitch is clamped from -90 degrees to +90 degrees.
- The addon keymap binds middle mouse in the 3D View. If that conflicts with another workflow, disable or edit the keymap in Blender preferences.