MoveDirection and Jump Request not working on XBox?

Hello all,

I am currently trying to implement xbox compatibility to this 2d shooter im working on for a commission, However, I am testing it all using a ps4 controller connected to my PC. there’s a few errors

  1. Jump request doesn’t work when i press the jump button on the console. But as soon as i switch over to keyboard, it starts working. The character doesn’t jump either on xbox.

  2. Second problem I have is, Humanoid MoveDirection is not being updated, Move Direction is always equal to Vector3.new(0,0,0)

Again, Everything works perfectly fine on PC and Mobile. Xbox is the only problem im having right now.
Tell me if you need any code samples and i’ll send them here. I just need any articles that can tell me if im messing up somehow.

(When i test, I have all mouse, keyboard and controller connected. )

1 Like

You may be facing a bug that is suited for Platform Feedback if you cannot find a way to fix your problem.

You can try binding a function to the input button on Xbox that is for jumping and for MoveDirection, I am unsure either with what you need it for but maybe you could calculate it via PlayerAction input enums, I think the input object’s position could tell you, not sure though and untested.

Can i use contextaction to bind actions to say equip etc? I haven’t been able to find anything yet on it.

Also, im unsure if it is a bug, I replicated the conditions on other baseplates and it worked. Are there any articles on any known way to disable controls for xbox?

Again, it can’t be a problem with the code. I’m switching from console input to mouse input not even a second later.

UIP.InputChanged:Connect(function(Input, GPE)
	if Input.KeyCode == Enum.KeyCode.Thumbstick2 then
		if math.abs(Input.Position.X) < 0.2 or math.abs(Input.Position.Y) < 0.2 then return end
		
		local ViewportCentre = camera.ViewportSize / 2
		local InputDelta = Input.Position
		
		InputInfo.IX = ViewportCentre.X + InputDelta.X * 75
		InputInfo.IY = ViewportCentre.Y + -InputDelta.Y * 75
		
		CameraHandler.SnapDirection() 
	return end
end)

This is what my XBOX input looks like. There’s no other piece of code in my game that has anything to do with consoles or anything.

I’ll paste my localscripts in a baseplate and try isolate the problem further, I’ll reply to this post as soon as anything new comes up.