This is a clean, modular TLOU inspired cover system built for Roblox. Press E near any wall and your character snaps into cover automatically. The system detects wall height to decide between standing and crouch cover, constrains your movement to strafe only while in cover, and auto exits if you walk away from the wall. It is fully standalone and does not conflict with existing movement systems.
Features
Wall detection using camera forward raycast
Automatic snap to cover position
Standing and crouch cover based on wall height
Strafe only movement while in cover
Wall loss detection with automatic exit
Armed and unarmed animation sets
InCover player attribute exposed for other systems to read
Saves and restores your WalkSpeed and JumpPower on exit
Memory safe animation loading
Installation
Step 1. Place CoverModule into ReplicatedStorage
Step 2. Place CoverSystem into StarterCharacterScripts
That is all. No configuration required to get it running out of the box. If you want to change the detection range, snap offset, or strafe speed you can find all values in the CONFIG table at the top of CoverModule.
Compatibility
Works with the default Roblox character and any R15 rig. If you are using a custom movement system you can read the InCover attribute on the player to handle any additional logic on your end such as restricting sprinting or aiming while in cover.
Support
If you run into any issues feel free to message me directly and I will get back to you.
Features
Wall detection using camera forward raycast
Automatic snap to cover position
Standing and crouch cover based on wall height
Strafe only movement while in cover
Wall loss detection with automatic exit
Armed and unarmed animation sets
InCover player attribute exposed for other systems to read
Saves and restores your WalkSpeed and JumpPower on exit
Memory safe animation loading
Installation
Step 1. Place CoverModule into ReplicatedStorage
Step 2. Place CoverSystem into StarterCharacterScripts
That is all. No configuration required to get it running out of the box. If you want to change the detection range, snap offset, or strafe speed you can find all values in the CONFIG table at the top of CoverModule.
Compatibility
Works with the default Roblox character and any R15 rig. If you are using a custom movement system you can read the InCover attribute on the player to handle any additional logic on your end such as restricting sprinting or aiming while in cover.
Support
If you run into any issues feel free to message me directly and I will get back to you.
