NoFreefall Module | Create a similar effect to going beyond the boundaries from Mario Galaxy

I created this module for an old game of mine, which I now have no plans on finishing. I posted this video on social media and it gained quite some attention so I thought someone has to benefit from this module.

How to set it up:

This module finds the closest position via a part to the player when the module is fired.

First, create a Folder in the workspace named “Points”. This is the folder where you will put the parts of the points where the player will be transported to.

Check the example place for a visual example.

Basic Usage:

local enabled = false
local NoFreefall = require(script.NoFreefall)

	local Player = game.Players.LocalPlayer
	if (Player.Name == Character.Parent.Name) then
		if enabled then return end
		enabled = true
		enabled = false

Roblox library:


Example Place:

Modules used:

SGEffects by @cmath_h
BezierTween by @Laserluzer

Please leave a comment if there is any way this module can be improved and I’ll be happy to do so.


Nice module, quick question.
Can it work if i do an if else check on workspace.FallenPartDestroyHeight in some RunService loop?

Either way, good work.

I think it will work, as long as your pass the character and it only fires once.


Brilliant Module, will definitely use it on a future project of mine that mainly focuses on the player ( like shown in the video ). Keep up the good work!:+1:


This is a great module, and it’s easy to set up as well. The effect and transition is remarkable. I’d say that this module would be great for those who doesn’t want their players to fall into the void and or having to teleport them back instantaneously by setting their CFrame which can be a bit puncturing as a whole. I’ll definitely be using this for my game, thanks for sharing this module of yours to the community!


This resource is incredible! I was looking into replicating a similar effect, but I simply lacked the time to determine how to do it. This reminds me of the float effect in Mario Galaxy when you try to jump beyond the boundaries (which I was attempting to replicate!) :sweat_smile:
Thank you for providing this resource!



The example place is private :(

So sorry, I had no idea! Should be open now!

1 Like

Game seemed interesting and you seem to have the skill to have finished it, sorry to hear its over, i will take this module since it seems like a great and reusable script, you can now run server scripts in the client when using RunContext, or at least that’s what i got from it so if anybody wanted to run this serversidedly you can do that now.


it probably won’t work if you tried to run it on the server, but then again i haven’t tried it


Thank you so much for this wonderful resource! I ran into one minor issue with the Noclip function in NoFreefall line 62. It turns every parts collision off then on in Workspace. This can be a issue if you need some parts collision to stay off.


Ive seen something like this on twitter and ive wantedto make this so thanks


Thank you for bringing attention to this, I’ll implement a solution for this.



Added a solution to the problem that @ssmitty99 brought to attention with the collisions.

local module = require(script.NoFreefall)


The “instance” can be a single part, model, or a folder of parts, and they will be unaffected by the Noclip function within the model, meaning whatever collision state you set within studio, it will stay the same.

The example place has been updated with this change.

1 Like

How could you activate it when you fall past a certain height?

Thank you so much for this resource! Could you make a tutorial for setting this up? I’m having issues with the character reappearing after it reaches the waypoint. For some reason, it will get stuck…

I probably won’t have any use this module, but I still appreciate you open-sourcing it to those who are interested. Kudos to you. :+1:

1 Like

Does anything appear in the output?

No errors or anything, just logs and others.

Does it get stuck when it’s in the block form, or on the waypoint?