ShiftUnlocked | Advanced Third Person Camera Module

ShiftUnlockedLogo ShiftUnlocked


While the Roblox Shift Lock camera works, I wanted more for my game.

ShiftUnlocked is a third-person camera module for Roblox Studio, offering high customizability, simple setup, and the versatility to support various projects. Fully compatible with Roblox’s native features and more, it provides smooth support across mobile, PC, and console platforms. ShiftUnlocked addresses longstanding issues in the native camera system while faithfully replicating the classic Roblox shift-lock behavior, ensuring a reliable and enhanced user experience.

Features introduced:

  • Proper collision detection
  • Camera Shake functionality
  • Improved Zoom Control
  • Camera velocity offset option for a more dynamic camera feel
  • Tons of properties for customizing every aspect of the camera

What does it offer?

Better Camera Collision

No more wall clipping! You cannot clip the camera into walls or in general. The default camera can easily clip through objects when shift lock is enabled.

Velocity Offset

Give your game a more dynamic feel with the velocity offset feature.

ShiftUnlocked


This uses the default Velocity Offset settings, which are designed to be unobtrusive. You can adjust the velocity offset to fit your project’s needs.

Shift Lock

Lots of features and customization options

The camera has many features and customization options that cannot fit in this post including things like camera shake functionality. The camera has over 30 properties! If your project utilizes a locked third-person camera this resource can very likely be used. The full list of features can be found on the documentation page on the API section.

Installation

Wally

To set up using Wally, use the following to get the latest version:


shiftunlocked = "yiannis123git/shiftunlocked@*"

Manual

Download ShiftUnlocked.rbxm from the latest release and drag and drop the file into Roblox Studio.

Try out right now!

If you want to take a quick look without much hassle you can join the showcase experience.

Documentation

For more info, you can visit the Documentation page. To fully utilize the camera and apply it in your projects correctly, you should give the documentation a read.

GitHub Repository

Give me feedback!

I would love to know your thoughts on this!

58 Likes

Can you upload it as a model to Roblox instead of just a .rbxm file to make it easier to access?

4 Likes

I understand your frustration, but I don’t think having multiple release sources would be good. This resource is designed to be used via Wally while offering support for non-Rojo workflows via the standalone rbxm file. If you encounter any other issues feel free to tell me!

2 Likes

awesome module, i’m using it right now! one thing i’d like for an update: could there be an option in :RotateCharacter() to change how fast or slow the character rotates to face the camera direction instead of a boolean?

2 Likes

I will look into adding this. In the meantime, you can set AutoRotate to false and add it yourself if you need the feature urgently by using the Camera’s _Yaw property.

In the next version, I will add the following:

  • More correction reversion logic. (Not sure if the current behavior is ideal)
  • Freecam mode that allows the camera to be scriptable while retaining the camera shake functionality.
2 Likes

V2.1.0

  • Added SetCharacter
  • Added SyncZoom
  • Added FreeCam

More information on the documentation page

2 Likes

This looks really awesome. However, how do I manually install this? All you’re telling me is to “drag and drop the file into Roblox Studio”.

Where do I put it? Where do things need to be put? What’s the setup specifically? Forgive me for my stupidity, but I’m sure others were also wondering this.

5 Likes

Ideally, you should avoid installing it manually. Technically, all you have to do is download the file and drag and drop it into Roblox Studio. After that, ShiftUnlocked should appear in your Explorer window. You can then require the main module and use it. You don’t need to mess with any of the main module’s children. You can put the main module anywhere you want as long as the client can access it. For setting up the camera specifically, you can read this: Setting up the camera - ShiftUnlocked. If you still have any questions, feel free to tell me.

2 Likes

really awesome module, very easy to use and highly customizable aswell!

would recommend for any third person camera needs

2 Likes

How to set up drop to roblox?
im use it bu not working for me

1 Like

V2.2.0

  • Added AdjustedControllerIconDisplay
  • The mouse Icon should now reset more correctly when disabling the camera
  • It is now harder to cause unintentional errors by messing with custom mouse icon GUI created by the module
  • Controller mouse icon should now display properly

I feel the resource is now in a stable place and can be used as a shiftlock alternative.

2 Likes

Definitely.

I’m actually making my own shiftlock module, an all in one that can be dissected easily.

Do you mind if I fork some of your camera logic?

I’ll credit you.

Awesome module though!

2 Likes

I don’t mind, credit would be appreciated though. This resource was based upon code as well :smiley:
image
as it says inside the main source file.

1 Like

Of course. I’ll credit you as the main contributor.

Thank you for your cooperation.

I’ll send you betas. Probably over forum DMS.

1 Like

Alright I Have made the basis of my module. Will dm you soon.

Thank you!
(I was able to get past my paranoia of using anything 3rd party for my game)

1 Like

Hi! I have tried everything to get this to work. I have tried just pasting it into my studio like stated but nothing happens. Where exactly do I set up the camera as stated in setting up document?

Exploiters that uses ;fling, ;walkfling, ;flyfling, etc. are gonna get mad over this LOL

camera manipulation is foreign to me, how did you pull off the velocity offset feature?

Using the player character’s velocity and a spring. The code is open source so you can look at it to see exactly how it works. :smile:

1 Like