Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

     


Godot Connection State Plugin

A Godot plugin that provides a unified GDScript interface for getting information on mobile device connections on Android and iOS.

Key Features:

  • Get information about all available connections on a mobile device
  • Know when a new connection is established (signal)
  • Know when a connection is lost (signal)

Table of Contents

Demo

Try the demo app located in the demo directory.

Installation

Before installing this plugin, make sure to uninstall any previous versions of the same plugin.

If installing both Android and iOS versions of the plugin in the same project, then make sure that both versions use the same addon interface version.

There are 3 ways to install the ConnectionState plugin into your project:

  • Through the GMP Menu (recommended)
  • Through the Godot Editor's AssetLib
  • Manually by downloading archives from Github

Installing via GMP Menu (recommended)

Steps:

  • install GMP Menu if not installed
  • enable GMP Menu via the Plugins tab of Godot Editor's Project->Project Settings... menu if not enabled
  • select Connection State Plugin from Godot Editor's GMP menu
  • select desired plugin version and platform
  • click Download button
  • once the download has completed, click Install button
  • enable ConnectionState via the Plugins tab of Project->Project Settings... menu, in the Godot Editor

Installing via AssetLib

Steps:

  • search for and select the ConnectionState plugin in Godot Editor
  • click Download button
  • on the installation dialog...
    • keep Change Install Folder setting pointing to your project's root directory
    • keep Ignore asset root checkbox checked
    • click Install button
  • enable the plugin via the Plugins tab of Project->Project Settings... menu, in the Godot Editor

Installing both Android and iOS versions of the plugin in the same project

When installing via AssetLib, the installer may display a warning that states "[x number of] files conflict with your project and won't be installed." You can ignore this warning since both versions use the same addon code.

Installing manually

Steps:

  • download release archive from Github
  • unzip the release archive
  • copy to your Godot project's root directory
  • enable the plugin via the Plugins tab of Project->Project Settings... menu, in the Godot Editor

Usage

Add ConnectionState node to your main scene or an autoload global scene.

  • use the ConnectionState node's get_connection_state() method to get information on all available connections
  • connect ConnectionState node signals
    • connection_established(a_connection_info: ConnectionInfo)
    • connection_lost(a_connection_info: ConnectionInfo)

Example usage:

@onready var connection_state := $ConnectionState

func _ready():
	connection_state.connection_established.connect(_on_connection_established)
	connection_state.connection_lost.connect(_on_connection_lost)

	var connections: Array[ConnectionInfo] = connection_state.get_connection_state()
	for info in connections:
		print("Connection type: %s -- is_active: %s -- is_metered: %s" % [
				ConnectionInfo.ConnectionType.keys()[info.get_connection_type()],
				str(info.is_active()),
				str(info.is_metered())])

func _on_connection_established(info: ConnectionInfo):
	print("Connection established:", info.connection_type)

func _on_connection_lost(info: ConnectionInfo):
	print("Connection lost:", info.connection_type)

Signals

  • register listeners to the following signals of the ConnectionState node:
    • connection_established(a_connection_info: ConnectionInfo)
    • connection_lost(a_connection_info: ConnectionInfo)

Methods

  • get_connection_state() -> Array[ConnectionInfo] - returns an array of ConnectionInfo objects

Classes

This section documents the GDScript interface classes implemented and exposed by the plugin.

ConnectionInfo

  • Encapsulates network connection data that is provided by the mobile OS.
  • Properties:
    • connection_type: type of network connection: WIFI, Cellular, Ethernet, Bluetooth, VPN, Loopback, or Unknown
    • is_active: whether the connection is actively being used
    • is_metered: whether the connection has a data limit that tracks usage

Platform-Specific Notes

Android

iOS


Links


All Plugins

Plugin Android iOS Latest Release Downloads Stars
Admob
Connection State
Deeplink
Firebase
In-App Review
Native Camera
Notification Scheduler
OAuth 2.0
QR
Share
Vision

Credits

Developed by Cengiz

Based on Godot Mobile Plugin Template v7

Original repository: Godot Connection State Plugin


Contributing

See our guide if you would like to contribute to this project.


💖 Support the Project

If this plugin has helped you, consider supporting its development! Every bit of support helps keep the plugin updated and bug-free.

Ways to Help How to do it
✨⭐ Spread the Word Star this repo to help others find it.
💡✨ Give Feedback Open an issue or suggest a feature.
🧩 Contribute Submit a PR to help improve the codebase.
❤️ Buy a Coffee Support the maintainers on GitHub Sponsors or other platforms.

⭐ Star History

Star History Chart

About

A Godot plugin that provides a unified GDScript interface for getting information on mobile device connections such as WIFI, cellular, ethernet, bluetooth, and VPN on Android and iOS platforms.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

Sponsor this project

Contributors

Languages