That's impossible in the way you are attempting to do it. In your setup, the Arduino is the web server and the Unity thing (I have no idea what that really is) is the client. The client sends a request to the server (the Arduino) which responds with the button value. The client cannot request only when the button state changes because it has no idea when that happens.
To do what you want I think you will need to have both the Arduino and Unity to act as both servers and clients. When Unity wants to request the button value, it can act as a client and send the request to the Arduino which will act as a server and return the value. This part you already have. When the button value changes, the Arduino will need to act as a client and send a request to Unity which will act as a server. The client, the Arduino, can pass the new value of the button as a parameter of the request.
My main concern about this idea is the slowness of http protocol. My experience has mostly been with remote internet servers. In your setup it looks like the Unity server is on the same local network as the Arduino, so maybe speed will be less of a problem. But with remote servers, I find that a request from an Arduino can take a few seconds to send and receive the response, and that might be too slow. By the time the request, updating the server that you pressed the button, has been performed, you will probably have let go of the button already!