Controller not detected; defying all logic

inami

Member
***Edit***
Steam

It was steam. I had to go into options, and enable "Use Alternative launcher for steam application"
Assumidly it's only reading the device as bound in steam? Probibly would be fine with a PnP controller e.g. XBox controller.

I figured this out by one by one over-writing each file in my "test" project with the "working" project until it detected. It was options_windows.yy.

Leaving this up for anyone else that comes across it.
Thanks forum.
***
*** Edit 2***
Had more issues migrating the lessons learnt to my main project which.....failed. Turns out that using the steam application launcher can fail if there is a space in the project name! thankfully I saw a thread that was having some related issues so I gave it a shot!
***
Hey forum!

I was hoping to avoid asking for help but I'm at the end of my rope. I've been attempting to get conroller support working but it seems no matter what I do it isn't detected. I've done as much troubleshooting as possible.

IDE Version" 2.3.3.570 Steam
Runtime: 2.3.3.434

What I've done;
  • Checked the ports (Xinput vs Direct, port nubers 0 to 12, port numbers 0 to any arbitary number, calling the port number directly)
  • Confirmed controller works (Detected by windows, steam, etc)
  • Set up a system async event (doesn't detect gamepad connection or disconnection)
  • Removed every last possilbe asset/object except the control object (in case of conflicts)
Here is the code I've settled on for reasons evident in a moment.
GML:
draw_set_colour(c_white);
var i = 4
var xx = 32;
var yy = 32;
if gamepad_is_connected(4)
    {
    draw_text(xx, yy, "Gamepad Slot - " + string(i));
    draw_text(xx, yy + 20, "Gamepad Type - " + string(gamepad_get_description(i)));
    draw_text(xx, yy + 40, "Left H Axis - " + string(gamepad_axis_value(i, gp_axislh)));
    draw_text(xx, yy + 60, "Left V Axis - " + string(gamepad_axis_value(i, gp_axislv)));
    draw_text(xx, yy + 80, "Right H Axis - " + string(gamepad_axis_value(i, gp_axisrh)));
    draw_text(xx, yy + 100, "Right V Axis - " + string(gamepad_axis_value(i, gp_axisrv)));
    }
Note I'm calling gamepad 4 specifically, I've iterated over all possible ports before this however 4 is the right port.

Now what makes this tear my hair out is; All of this works and i've tested it but in another project I got following this tutorial (project file here )

I've torn down the project they've provided to just one object, with just a draw event, with just the code provided above and it STILL detects my gamepad perfectly no issues at all. but if I make a blank project and copy every file, no gamepad detection at all... The objects and rooms are identical as far as I can tell.

I'm at the end of my rope here, someone please tell me the feature/function/checkbox I'm missing, make me feel like an idiot, just tell me what I'm missing.

Attached is some screenshots of the "working" project
 

Attachments

Last edited:

Nocturne

Friendly Tyrant
Forum Staff
Admin
Thanks for updating the topic with the fix for the issue! Just to confirm your findings for anyone else coming to this topic: If you are running GM from Steam, you MUST ALWAYS ENABLE THE ALTERNATIVE LAUNCHER. The manual entry says that this is only for when you have issues launching your game, but in my experience (and this topic proves it) not enabling this option when using the Steam version of GM can cause issues with a few things. :)
 

inami

Member
Thanks for updating the topic with the fix for the issue! Just to confirm your findings for anyone else coming to this topic: If you are running GM from Steam, you MUST ALWAYS ENABLE THE ALTERNATIVE LAUNCHER. The manual entry says that this is only for when you have issues launching your game, but in my experience (and this topic proves it) not enabling this option when using the Steam version of GM can cause issues with a few things. :)
Thank you for your reply!!

I honestly could have spent more time reading the manual, but I'm more than happy to be an astronaut in uncharted spaces! There's some interesting use-cases that can catch you out if your not paying attention :) When in doubt, test test test.
 

MrSlippery

Member
I was not able to get the project I am working on to recognize my PS4 controller either and found this thread after a quick search.

It seems like it holds the answer to my issue, but I am not sure where the " Use Alternative launcher for steam application" option is located in Steam.

I hate to ask, but after Googling, "Where is the 'Use Alternative launcher for steam application' in Steam?" I did not find an answer. Where can I make that change?

Thanks!
 
That's because the option is in GMS. Open your Game Options, select Windows and check the box marked "Use alternative launcher for Steam application" at the bottom.
 
Top