godotengine / godotengine/godot-docs

High level multiplayer docs should reference permissions issues for Android devices

Open
#4,042 1 comment 4 reactions 0 assignees View on GitHub
area:manual bug topic:multiplayer
Dominant language
reStructuredText
Stars
5.7k
Forks
3.8k
Avg merge
1d 20h
Merged PRs (30d)
25

Description

**Your Godot version:**
3.2.3-stable
Deploying on the Android-based Oculus Quest

**Issue description:**
Trying to get the High level multiplayer API to operate on the Quest is challenging owing to the number of Android permissions that are intent on blocking it.

In particular, as well as the "Internet" permission, discussed here: https://github.com/godotengine/godot/issues/33852 you also need change_wifi_multicast_state, which is once mentioned elsewhere in the docs at: https://docs.godotengine.org/en/stable/classes/class_packetpeerudp.html#class-packetpeerudp-method-join-multicast-group where it says:
> Note: Some Android devices might require the CHANGE_WIFI_MULTICAST_STATE permission for multicast to work.

You have to know that the High Level multiplayer API ultimately sits on top of UDP to know this is relevant.

I actually got the connection from a discussion here https://forum.unity.com/threads/change_wifi_multicast_state.667441/ where it was a new sub-permission to block apps from unintentionally doing UDP stuff because it consumes battery by requiring them to explicitly request it.

(After quite a lot of work, I have got some networking to happen, but only with the Quest as the server and the PC as the client, not the other way round. I don't know if this is a bug or just yet more permissions and blockages in this difficult system.
Functions that it is useful to print out are `OS.request_permissions()`, `OS.get_granted_permissions()`, `IP.get_local_addresses()` and `IP.get_local_interfaces()`)

**URL to the documentation page:**
https://github.com/godotengine/godot-docs/blob/c7d18873d52ab286af4ba76c1873e045b33fc0ce/tutorials/networking/high_level_multiplayer.rst

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.