[FREE] [Server Authority] FPX – Lightweight PlayerModule Replacement for First Person

FPX – Lightweight Server-Authoritative First Person System

FPX_LogoGetOnGitHubcompiled_with_hierarchy_saver

FPX is a fully autonomous, performance-focused first-person camera and humanoid movement system built for Roblox.

It supports PC, mobile, gamepad, and VR, and is designed with server-authoritative networking in mind.

FPX does not expose an API.
It runs automatically through low-level hooks and input handling for minimal overhead.


:clipboard: Installation

  1. Place FPX into ReplicatedStorage
  2. Done.

:warning: Requirements

FPX requires the following configuration:

:one: Workspace

  • workspace.PlayerScriptUseInputActionSystem must be enabled

:two: StarterPlayer

Set:

  • DevTouchMovementModeScriptable
  • DevCameraMovementModeScriptable
  • CreateDefaultPlayerModulefalse

This ensures Roblox’s default camera and movement systems are fully disabled.


What It Replaces

  • Default PlayerModule camera
  • Default movement handling
  • Default input handling layer

FPX takes full control of:

  • Camera CFrame updates
  • Input delta processing
  • Humanoid movement direction
  • Jump requests
  • Network replication of movement & rotation

Why FPX?

Most first-person systems:

  • Over-abstract everything
  • Trust the client too much
  • Break on mobile or controller
  • Add unnecessary overhead

FPX focuses on:

  • :high_voltage: Performance first
  • :locked: Server authority support
  • :video_game: True cross-platform input
  • :brain: Clean delta handling (impulse vs continuous input)
  • :puzzle_piece: Minimal integration effort

Drop it in. It runs.


Features

  • Cross-platform input (mouse, touch, gamepad, VR)
  • Quantized camera rotation for efficient replication
  • UnreliableRemoteEvent usage for lightweight network updates
  • Autonomous humanoid movement syncing
  • Full server authority support

Current State

Stable and production-ready.
Server-Authority support is finished.


Repository

GitHub: GitHub - YarikSuperpro/FPX: FPX is a lightweight, super-optimized player module for Roblox that supports server authority. · GitHub


Feedback

Open to performance critiques, networking suggestions, and edge case reports.

13 Likes

Does it show the real players arms?

3 Likes

If you modify HiddenParts logic, then yes.
This project is basically a cut-down version of my camera system in-game.
I did use viewmodels, though, not real character hands.

3 Likes

another awesome Yarik™ Enterprises resource❤

2 Likes

really?, I’m trying to understand the motivation behind these patterns in the module, because many of them look like micro-optimizations that actually hurt maintainability without producing worthy results.

Luau already optimizes method lookup and inline caching, so replacing normal property access with function pointer indirection doesn’t realistically improve performance. It mostly just makes the code extremely difficult to read and debug

Not in the way you are implying.

I’ve run multiple benchmarks and the pattern used here consistently ends up around 6–20% faster in hot paths. Luau does perform some optimizations, but it does not magically eliminate the cost of every access pattern, especially when interacting with userdata rather than primitive types.

The entire goal of FPX is to stay lightweight and efficient, prioritizing predictable execution over syntactic convenience.

That’s subjective. For people familiar with the pattern it is perfectly readable, and the structure is intentionally simple.

If the design direction of FPX is not something you like, that’s fine. The module is built with a specific set of priorities in mind.

However, if you have concrete suggestions that improve performance while keeping the same design goals, I’m open to hearing them.

3 Likes

good :+1:Thank you for this resource this is very nice and easy to work with

2 Likes

Major Update v1.1

FPX now fully supports proper server-authoritative movement with input prediction, smoothing, and synchronized movement replication across platforms.

This update also fixes Roblox silently changing Thumbstick1 behavior, which previously affected WASD input handling. Movement input is now handled through a separate dedicated binding for consistent cross-platform behavior.

Additional networking optimizations were implemented, including higher precision movement transfer using packed I24 interpolation instead of standard F32 decimal transfer for normalized -1 → 1 input ranges.

Result:

  • More stable movement replication
  • Better precision
  • Reduced bandwidth usage
  • Smoother server-authoritative control
  • Consistent platform behavior

FPX continues pushing toward maximum performance with minimum overhead.

1 Like

I’m experiencing character mispredict movement while walking and turning the camera. Additionally, there is some camera stuttering too.

Provide more information
This could be the problem of server authority input misprediction itself also
I cannot know what is going on from vague wording

i wish someone would rewrite the animate script..
i said i wish someone would rewrite the animate script :eyes:

1 Like

im looking for something more simple, like just a single script that isnt a complete mess like the defaults

1 Like