Hmm, any shader should work normally, I suspect it might be the alpha testing? (gpu_set_alphatestenable etc)
Could you show how you're doing this on Discord?
See: 2. When a transparent object passes over another, it occludes
"If you are using shader_set(),
you may have to do the alpha test manually within the fragment shader. This is because GameMaker does not add the DoAlphaTest()
function to the shader internally"