Releasing Character Physics Controllers

It still has a humanoid for clothing (and animation) but yes it is just welded to a capsule for collisions.

1 Like

I using on fresh project attached scripts and its not working, character just stays in place and can`t move.

1 Like

I would just set a base rate for (let’s say, 60fps, which is 0.01667 seconds, and then modulate the value for every physics step.

It’s really unfortunate the amount of support shown to this cool system

Anyone wrote an animate script that works with this? It’s my biggest barrier from using this. I am running into an issue where sometimes the run animation will play when the character is just standing still in a baseplate.

nothing infuriates me more than putting a project on hold waiting for a feature to come out that’s seemingly finished (DFFlagControllerManagerUpDirectionProp) and then that just never coming out, this is unacceptable

9 Likes

This! I (sadly) changed how my entire game’s movement system worked when I saw this feature while it was still in BETA and I loved the end result, but once they released it I couldn’t use it anymore and had to change my system a little bit again but haven’t went back to just using humanoids since I still want to use this.

I’m just putting that project on hold until they release the next part :​/

I wish there was an option to make it work like the beta (have humanoids work with it).
I also found a few bugs with this system and provided files for them but I think my post got deleted or something and I’m just using workarounds for now

4 Likes

Yeah I personally got so de-motivated I quit coding on roblox for a couple months. I put all this work into building a custom system around the new controllers just to have 50 billion bugs and no support.

6 Likes

if anyone runs into this problem where humanoid.running isn’t firing here’s a fix u can add to the animate script.

-- modified running connection
Humanoid:GetPropertyChangedSignal("MoveDirection"):Connect(function()
	if Humanoid:GetState() == Enum.HumanoidStateType.Running then
		local speed = Humanoid.MoveDirection.Magnitude * Humanoid.WalkSpeed
		onRunning(speed)
	end
end)
Humanoid.StateChanged:Connect(function(oldState, newState)
	if newState == Enum.HumanoidStateType.Running then
		local speed = Humanoid.MoveDirection.Magnitude * Humanoid.WalkSpeed
		onRunning(speed)
	end
end)
--Humanoid.Running:connect(onRunning)
3 Likes

is this still worth trying i want to make npcs that do not have humanoid in them

1 Like

no I gave up on it, you are probably better off coding your own controller on top of humanoids

1 Like

this is really promising, but i don’t like how i can’t disable FacingDirection, since that behaviour works very differently to Humanoid. i hope there is or will be a way to fix this.

1 Like

Does anybody know if the ā€œUpDirectionā€ property actually does anything? I’m currently trying to remake the Egomoose gravity controller and this property seems self-explanatory, but it any case it seems like it doesn’t influence the controller at all.

1 Like

updirection hasn’t been enabled yet, i’ve been trying to get info on if it’ll ever come out but instead it’s just been stuck in a limbo for almost a year

That really sucks. Looks like I’m going to have to implement even more custom logic to get this thing to work :face_exhaling:

1 Like

How did you get your upvector logic to play nicely with controllermanager.MovingDirection? I’ve tried so many different things and nothing seems to work correctly. I’m holding ā€œWā€ for a majority of this video.
Rn I’m assuming that I simply can’t rely on the Controller to apply the movement force correctly due to it’s UpVector essentially being a constant. In that case I would have to implement my own movement forces for when the UpVector isn’t normal, which kind of removes half the purpose of this implementation :cry:

i’m pretty sure i used physical constraints like AlignOrientation and maybe LinearVelocity; i started having issues where the character would either get positioned to nan or just wouldn’t stand still on angled surfaces

1 Like

I am also using both of those constraints, but the linear velocity only serves to act as a gravitational force in the game. I’m assuming the linear velocity in your case both acts as the gravitational force and as the movement force.

1 Like

checking my place file again i have this configuration for a part welded to the rootpart; i was using vectorforces so i can have an uncapped speed but for the movement force you can probably use a linearvelocity
GravityCancellation’s force was set to Vector3.yAxis * (workspace.Gravity * -hitbox.AssemblyMass) and the gravity force was the same magnitude with whatever direction gravity was in

image

1 Like

Ah okay this config makes more sense and confirms my suspicions. I’ll probably end up doing something similar until they revive the character controller by enabling the UpVector feature. I can only hope for an update early 2025.

1 Like