Advanced First Person Framework v1.1

A Complete First-Person Framework & System Suite For Roblox
General Interaction / Highlights Bug Fixes:
  • Bug: Door highlight scaling issue on large door meshes caused the highlight logic to appear incorrect.
    Fix: Added highlight filtering to exclude doors and large objects while keeping highlights on smaller interactables.
  • Bug: When the player had no lockpicks, the door proximity prompt was disappearing permanently.
    Fix: Lockpicking denial now only temporarily disables the prompt and restores it immediately if the player has no lockpicks (or lockpicking is denied).
  • Bug: After successfully unlocking a door, both the lockpick prompt and the open door prompt were visible at the same time.
    Fix: The lockpick proximity prompt is now permanently removed on successful unlock, leaving only the correct door interaction prompt.
  • Bug: The door interaction module “reopenThreshold” was set to 1, so the “if it’s already mostly open, open fully” logic essentially never triggered (only at 100% open).
    Fix: Updated the threshold to the intended value (about 0.60) so “mostly open” correctly forces a full open when the player presses Open again.
Lockpick System Bug Fixes:
  • Bug: Player body visibility was not guaranteed during lockpicking, causing parts to remain visible or partially visible.
    Fix: While the LockPick UI is open, force all local character BasePart visibility off (Transparency = 1 and LocalTransparencyModifier = 1), including parts added mid-session, then restore exact saved values on close.
  • Bug: Players could sprint, walk, or lookm around during LockPick UI open/close transitions.
    Fix: Fully blocked movement input and clamped character velocity every frame until the UI is fully closed.
  • Bug: Tools could remain equipped or be re-equipped during lockpicking, creating inconsistent states.
    Fix: Automatically unequips all tools on LockPick UI open and prevents re-equipping until the UI is fully closed.
  • Bug: Lockpicks were being consumed incorrectly (including cases where the player exited the UI).
    Fix: Lockpicks are only consumed on Success or Final Fail/Break; exiting with the TAB button DOES now consume a lockpick.
  • Bug: Movement could remain locked for 3–5 seconds after fail/close due to restoring frozen 0 movement values.
    Fix: Restores movement instantly using the server-sent original movement values, avoiding frozen restores and eliminating the stuck delay.
  • Bug: Lockpick proximity prompts and holster interaction UI were not disappearing immediately when lockpicking started.
    Fix: Prompt focus UI and holster BillboardGui elements are hidden instantly when lockpicking begins.
  • Bug: Lockpicking did not behave as a fully modal interaction, allowing other interaction UI (including hotbar-related PlayerGuis) to remain active/visible.
    Fix: Disables all other interaction UI while lockpick frames are visible and restores everything cleanly when the lockpick UI closes.
  • Bug: When the player had no lockpicks, the door proximity prompt could disappear permanently after lockpicking was denied.
    Fix: Only temporarily disables the prompt and restores it immediately if lockpicking is denied.
  • Bug: After successfully unlocking a door, both the lockpick prompt and the open door prompt could remain visible.
    Fix: Permanently removes the lockpick proximity prompt on successful lockpick status, leaving only correct door interactions visible.
Molotov / Bottle System Bug Fixes:
  • Bug: ADS FOV behavior did not reflect distance to the beam endpoint, reducing aim clarity.
    Fix: Added distance based ADS FOV where close beam endpoints zoom in and far endpoints zoom out correctly.
  • Bug: ADS could leave the player stuck zoomed after exiting.
    Fix: Saves the player’s true pre-ADS FOV and reliably restores it after ADS.
  • Bug: ADS FOV recovery snapped back too abruptly after exiting ADS.
    Fix: Smoothed ADS FOV recovery so it gradually returns to normal instead of snapping instantly.
  • Bug: UI state could desync during ADS, especially if ScreenGuis were added mid-ADS.
    Fix: Disables all UI while ADS and restores it cleanly after ADS, with a safety watcher for newly-added ScreenGuis.
  • Bug: ADS UI toggling could interfere with StarterGui → KeyInteraction, risking broken interaction text behavior.
    Fix: Excludes KeyInteraction from ADS UI toggling so its Interaction TextLabel is never touched/broken.
  • Bug: Proximity prompts could reappear after ADS/UI restore while the bottle was still equipped.
    Fix: Keeps proximity prompts disabled while the bottle is equipped.
  • Bug: Rapid right-click toggling could break ADS/FOV/UI state.
    Fix: Added ADS spam prevention to stop rapid toggling from corrupting ADS/FOV/UI states.
  • Bug: First throw/first impact could hitch due to assets loading on demand.
    Fix: Preloaded bottle + impact assets (tool/viewmodel/bullet/bullethole) to reduce first-throw / first-impact hitching. Created a pre-game character unlock preload system. (Can be disabled)
  • Bug: Molotov was not following the exact trajectory of the scripted beam when aiming down sights.
    Fix: Corrected molotov aiming so the throw follows the dynamically created beam trajectory.
  • Bug: Molotov VFX would not emit when hitting actual targets.
    Fix: VFX now emits correctly, and molotov fire/explosion triggers on all objects and humanoids.
  • Bug: Molotov bottle tools could stop working completely if a player activated AutoMovables proximity prompts before activating the GRAB meshpart.
    Fix: Corrected the StarterPlayer LocalScript deactivation behavior so molotov tools remain functional after AutoMovables interactions.
Proximity Prompt Bug Fixes:
  • Bug: Proximity prompt interactions lacked immersive feedback for hold/cancel/activate.
    Fix: Added sounds and dynamic UI effects to proximity prompts to make hold duration, cancel, and activation more immersive.
  • Bug: Multiple copies of the module could run at the same time (duplicate connections), causing focus flicker, double UI behavior, and inconsistent highlights.
    Fix: Added a true singleton guard using a shared/_G key so only one instance can Start() per client session.
  • Bug: Line-of-sight checks could incorrectly fail when the ray hit another part inside the same interactable model, causing prompts to be unusable even when the player was clearly looking at the interaction.
    Fix: LoS now passes if the ray hits the anchor part or anything inside the same model as the anchor/prompt (descendant-of-model allowance).
  • Bug: Prompts could disappear when the mouse ray did not directly hit a prompt even though a valid prompt was clearly centered/on-screen.
    Fix: Added fallback prompt selection using screen-center scoring plus distance weighting, cached and updated on an interval to remain stable and performant.
  • Bug: Highlighting could look incorrect on large meshes (especially doors) or apply to unintended large objects, reducing clarity and looking “wrong” on oversized parts/models.
    Fix: Added highlight filtering: max dimension and volume limits, blacklist folders (e.g., Doors), blacklist attributes, optional suppression for models with a Locked value, and an explicit force-highlight attribute for exceptions.
  • Bug: Some interactables needed model-level highlighting (not just a single part), but the highlight target could resolve inconsistently depending on where the prompt was attached.
    Fix: Added highlight model overrides (per model name) to control whether highlight targets the Model, PrimaryPart, or anchor part, with filter modes like AnyPart vs AnchorOnly.
  • Bug: Hover SFX could spam or trigger in visually “hidden” states, creating noisy/annoying feedback.
    Fix: Plays hover sound only once per newly-focused prompt, optionally only when highlight is actually visible, using a template sound clone cleaned via Debris.
  • Bug: Hold-visual UI could unintentionally enable legacy UIStroke behavior (or re-enable it through older assets), changing visuals and conflicting with your intended design.
    Fix: Hard-guaranteed that any HoldStroke UIStroke is always disabled; the hold indicator is rendered only via the perimeter segment trace system.
  • Bug: Hold visuals (and hold-press shake) could persist or remain active if focus changed, if lockpick UI opened, or if the icon became hidden mid-hold.
    Fix: Added strict cancel paths: hold visuals and shake are forcibly stopped on focus changes, lockpick suppression, UI hide, and invalid GUI states.
  • Bug: Holster BillboardGui prompt elements could remain visible locally even after suppression/trigger, creating UI clutter during lockpick or prompt transitions.
    Fix: Added local scanning/hiding of holster BillboardGui elements inside PlayerGui and Character when suppression/trigger occurs.
  • Bug: Prompts that must remain responsive even during suppression (e.g., GRAB / force-tap prompts) could be incorrectly suppressed, breaking critical interactions.
    Fix: Added “prompt immunity” rules using a ForceTap attribute and a GRAB folder-path check so those prompts remain eligible when lockpick UI is active.
  • Bug: Prompt registry/fallback could retain stale prompts or leak state when prompts are removed, causing fallback selection to reference invalid instances.
    Fix: Added prompt registration/unregistration via Workspace DescendantAdded/Removing and clears temp-disabled state when a prompt is removed.
CartServiceModules Bug Fixes
  • Bug: Cart dynamic camera effects were too subtle, reducing the intended immersion.
    Fix: Increased immersive camera effects and also locked all movement and hid all UI during cart activation for cleaner, more consistent state control.
  • Bug: After 1 minute of continuously moving a cart, the proximity prompt could self-delete and leave the player stuck.
    Fix: Fixed ModuleCartServiceModule to prevent prompt deletion and ensure the player cannot get stuck.
Squeeze / Crouch / Sprint Interop Bug Fixes / Climb:
  • Bug: Squeeze could fail to fully uncrouch the player because CrouchModule kept internal state (isCrouching, saved FOV/offset) and a RenderStepped loop that could re-apply crouch effects.
    Fix: Added a BindableEvent in ReplicatedStorage that the CrouchModule listens to, forcing a true uncrouch at the module state level.
  • Bug: If players were sprinting while also activating the squeeze proximity prompt, they would continue to sprint through the squeeze section.
    Fix: Fixed by adding an explicit “hard stop sprint” path in addition to just sinking the Shift key.
  • Bug: Squeeze speed reduction could be overridden because SprintModule continuously wrote Humanoid WalkSpeed (8 or 15) every RenderStepped.
    Fix: Prevented SprintModule from overriding WalkSpeed during squeeze so Squeeze always enforces its reduced speed.
  • Bug: On first spawn, equipping a tool during load-in could corrupt sprint toggle state and require extra Shift presses to normalize.
    Fix: Added a sprint lock in the sprint module to prevent early equip/load-in timing from breaking sprint behavior.
  • Bug: The climbing system lacked immersion and did not meet the quality bar for an add-on.
    Fix: The system was fully re-scripted to improve feel and consistency. We added dynamic FOV and camera effects, implemented SFX for bottom/top ladder mantle and dismount ProximityPrompts, and introduced a top-of-ladder vault initiation for smoother transitions. We also restored and hardened the climbing loop sound so it reliably plays and correctly scales its pitch with the player’s climb speed.
Draggables System Bug Fixes:
  • Bug: Draggable objects could be dropped into invalid or obstructed positions.
    Fix: Added client-side invalid placement detection (ray obstruction check) and invalid-drop rejection that restores the part to the last safe or default safe CFrame.
  • Bug: Held draggables could disappear or break if removed/reparented from the Draggables folder mid-hold.
    Fix: Added held ancestry monitoring; if the held part leaves Draggables folder during hold, it is teleported back to a safe location and optionally reparented back.
  • Bug: Hover highlight could stick or apply in states it shouldn’t.
    Fix: Implemented strict hover-only / part-only highlight and forced hover highlight to clear when entering hold mode.
  • Bug: Red invalid highlight could incorrectly persist or conflict with hover behavior.
    Fix: Separated invalid-only held highlight from hover highlight so red only appears while holding and only when placement is invalid, with reliable reset paths.
  • Bug: Network traffic could spike during continuous drag updates, causing performance dips.
    Fix: Added performance-throttled networking plus change thresholds (position delta, rotation delta, hold-distance delta) so the client only sends meaningful updates.
  • Bug: Player could interact with tools/UI elements while dragging, causing inconsistent states.
    Fix: Added hold mode locks: temporarily hides non whitelisted ScreenGuis, disables selected CoreGui elements, forces tool unequip, blocks equip while holding, then restores everything on drop/reset.
  • Bug: Viewport preview could lag/freeze or fail to keep up with held object orientation.
    Fix: Optimized viewport cloning and rotation sync by using a single clone root (part/model) and syncing rotation-only each frame.
  • Bug: Footer “Control Keys” hint could not visually indicate which key is being pressed.
    Fix: Split the footer hint into 6 organized TextLabels (plus static divider labels) and added live input highlighting (pressed key highlights, resets on release; wheel pulses briefly on scroll).
Buy a license now
$12.99
EULA
Standard EULA
Use on any projects you own with attribution
Support
Standard
Includes:
Download the resource
Access new updates
Support from the creator
Support duration
1 year
Share and earn
Refer this resource and earn a 25% commission.
1,323 Views
12 Purchases
13 Downloads
Feb 1, 2026 Published
Feb 1, 2026 Updated
5.00 star(s)
Average rating (1)
9.9 MB File size
Open source
  1. No
DRM-free
  1. Yes
Unobfuscated
  1. Yes
Genre
  1. Horror
  1. Action
  1. FPS
Type
  1. System
Supported languages
  1. English
Creator
Recommended for you
Dynamic Visuals, High Quality Assets, Versatile Usage
5.00 star(s) 1 ratings
508 purchases
200+ high quality, hand crafted combat VFX for Roblox
5.00 star(s) 1 ratings
357 purchases
100+ Tactical Combat Animations for Roblox (R6 Only)
5.00 star(s) 1 ratings
259 purchases
Stylized Environment Lighting Presets for Roblox
Not yet rated
247 purchases
70+ Stylized Weapon Models with Handcrafted VFX Variants
5.00 star(s) 2 ratings
243 purchases
Share and earn
Refer this resource and earn a 25% commission.
1,323 Views
12 Purchases
13 Downloads
Feb 1, 2026 Published
Feb 1, 2026 Updated
5.00 star(s)
Average rating (1)
9.9 MB File size
Open source
  1. No
DRM-free
  1. Yes
Unobfuscated
  1. Yes
Genre
  1. Horror
  1. Action
  1. FPS
Type
  1. System
Supported languages
  1. English
Creator
Recommended for you
Dynamic Visuals, High Quality Assets, Versatile Usage
5.00 star(s) 1 ratings
508 purchases
200+ high quality, hand crafted combat VFX for Roblox
5.00 star(s) 1 ratings
357 purchases
100+ Tactical Combat Animations for Roblox (R6 Only)
5.00 star(s) 1 ratings
259 purchases
Stylized Environment Lighting Presets for Roblox
Not yet rated
247 purchases
70+ Stylized Weapon Models with Handcrafted VFX Variants
5.00 star(s) 2 ratings
243 purchases
Top