It's a pull vs. push architecture decision:
In theory you can pull the data using useSWR every let's say 1 second or .5 seconds. This might be okay for some use cases but for (almost every) game i'd rather say it's not the way to go. useSWR uses the http protocol, the connection is closed every time and re opend within that interval. This can be okay for let's say a dashboard which updates graphs or somthing like that. Naturally you will run into performance issues if you pull e.g. every .1 seconds a large amount of data. (Maybe racing conditions all the nasty stuff)
Websockts on the other hand would be the push principle. Connection is kept open and when the server pushes a new event you've subscribed to, you get the newest data.