It seems that BodyVelocity is capped at 16,384. I would like to know if there is a way to bypass that limit or to use another way which is reliable and works with the Humanoid freefalling/landing states.
It is not capped but highly unadvised to go any higher. I would advise you to keep it at 16,384 to stop your game from lagging or using high CPU on your players’ devices. High velocity numbers even at max cap might be detrimental to performance especially on lower-end devices.
Well, sadly, it actually isnt capped at that number… because if I use that number specfically, it legit goes slower than if I use 1 million. I don’t understand this lol
Just go for math.huge if you want. (for maximum velocity)
I dont understand how games like Highest Jump Ever etc have people in the quadrillions of velocity… how is that even possible…??
Do you mean velocity or P?
Velocity can go really high. (math.huge)
You should probably use the not deprecated mover constraints
This is indeed also a good way to go.
Sorry I mean like their maximum height is in the quadrillions, and when you play the game and go very far up you can visibly glitch out… It’s not like they are faking it… Puzzles me
Roblox Handles Numbers Internally as Floating Points. Roblox uses IEEE 754 64-bit floating point numbers for most of the calculations they do.
These can represent very large numbers — up to around 1.8 × 10^308 — but with less precision as the number grows.
So while you can go to quadrillion+ values numerically, the simulation starts to break down visually due to:
- Floating-point imprecision (objects jitter or stop moving correctly).
- Physics engine limits (Roblox’s physics becomes unstable at extreme distances).
- Rendering culling or LOD behavior (you “glitch out” because the engine can’t render or calculate things correctly anymore).
Go with this bypassing thing I just tried on Studio. Worked for me.
lua Object.Velocity = Vector3.new(0, 1e15, 0)
Sadly it doesnt work for player characters but it seems to work for parts
Characters are models, opt for the HumanoidRootPart instead.
I did, but nothing happens… I’ll try again and see
local function FLY()
FLYING = true
local BG = Instance.new('BodyGyro')
local BV = Instance.new('BodyVelocity')
BG.P = 9e4
BG.Parent = T
BV.Parent = T
BG.maxTorque = Vector3.new(9e9, 9e9, 9e9)
BG.cframe = T.CFrame
BV.velocity = Vector3.new(0, 0, 0)
BV.maxForce = Vector3.new(9e9, 9e9, 9e9)
is what the popular script known as infinite yield uses.
I hope this helps
why are you even using that?
Its depracated
im not 100% sure if this is the issue but i think because the network owner of the character is player and not server, so server cant set velocity/assemblylinearvelocity of player owned parts. have you tried doing it on client for example? (unless youre doing it on client, then i have no idea…)