Online Check PRO - Verify Internet reachability

Online Check

Online Check is a simple, configurable tool to reliably check your connection to the Internet (aka “captive portal detection”) – in the editor as well as at runtime, where you need it, when you need it.

Unity’s internal reachability check returns the type of Internet reachability possible on the current device.

As mentioned in their documentation, this does not check for your actual connectivity – it only determines whether the device can, for example, connect to a hot spot. That’s not very helpful if it the actual route to the network is unavailable.

Its main purpose is to gain a little bit more comfort by keeping track of your connection state, without consulting your browser or the OS display which both usually cause an unnecessary delay. This tool doesn’t check if you’re connected to a specific network. It checks if you have access to the Internet, which, for example, comes in handy when you’re on the road connected to a public WiFi.

The asset also provides functions for ping check, speed test and network information like the public IP.

Features:
Internet connectivity

  • Reliably check for Internet connectivity:

  • Run on Start: Run the check as soon as the scene loads

  • Manual Mode: Check whenever you need it

  • Endless Mode: Automatically check continuously between intervals

  • Fallback check: Keeps checking in case of connection loss

  • Freely configurable intervals

  • Detect the kind of Internet connection (carrier or local network)

  • Less than 300 KB of data downloaded per hour (at 10 checks per minute)

  • Industry grade captive portal detection methods:

  • Google204

  • GoogleBlank

  • MicrosoftNCSI

  • Apple (HTTPS)

  • Ubuntu

  • Verify a custom URL (e.g. to check if a server is alive)

  • Ping check to determine the round-trip-time

  • Speed test to measure the download and upload speed

  • Network information, like public/local IPs, MACs etc.

  • Specialized checks for each platform:

  • Windows / WSA (UWP)

  • macOS / iOS

  • Linux / Android

  • Generic for all other platforms and devices

Documentation & control

  • Test all checks in the editor
  • Powerful API for maximum control
  • Proxy manager for Internet connections
  • Detailed demo scenes
  • Comprehensive documentation and support
  • Full C# source code

2.3.Compatibility

  • Supports all build platforms
  • Works with Windows, Mac and Linux editors
  • Compatible with Unity 2019.4 – 2023
  • C# delegates and Unity events
  • PlayMaker actions

Some impressions:

Video:

AssetStore:
Online Check PRO
Essential Tools Bundle
All Tools Bundle

Our other assets

Demos:
WebGL
Windows
Mac
Linux
Android

Changes

Feel free to download and test it.
Any constructive comments are very welcome!

So long,
Stefan

We’ve created a basic tutorial video:

Hi there, I just bought the pro version for learning processes mainly. Nice asset works really well :slight_smile:

I was hoping you could clarify something for me?

What is the reason for the IntervalMin and Max values, is there some issue with polling at a regular interval or something?

Hi David

Thank you for buying our asset!

Those two values are the random range for the polling. The reason is that you don’t wanna get banned by one of the verification sites - a random interval helps :slight_smile:

I hope this answers your question.

So long,
Stefan

Thanks for the prompt response!

Right ok that makes sense. And thats why you supply the fallback url? How much of an issue is that? Like how likely is it that you do get banned?

It’s very unlikely to get any sorts of problems as long as you don’t set the interval very low, e.g. all 0.5 seconds.
This is why we limit the range to a minimum of 3 seconds. With the default settings, you will have an average of 7 seconds for a test. This should be accurate enough :slight_smile:

The fallback is only used if, for what ever reason, the main check fails.

Hi, I have a couple of questions. Does this asset work on WebGL? Can it get the network SSID (also on WebGL)?

Hi

  • Yes it works with WebGL.
  • No, it can’t get the SSID.

Cheers
Stefan

Thanks for the quick response!

1 Like

Hi Stefan,
I have bought the pro version, Can I check my socket server’s status? and How to do?
I just want to know the internet is connect and my socket server’s status.

Hi

OC “only” tests if your app can connect to the Internet.
It isn’t intended to check if a specific server is alive - this is planned for an upcoming asset :wink:

However, if you wanna check the connection status of a socket, you could do it like this:

public bool isSocketConnected(Socket s)
{
   return !(s.Poll(1000, SelectMode.SelectRead) && s.Available == 0);
}

I hope this is useful for you!

Cheers
Stefan

Unfortunately, one of our customers was very unhappy about our “update” and “review” reminders.
We were under the impression that it’s easy to postpone or disable those reminders, but I think it’s a good idea to explain it once and for all :wink:

Per default, OC (and all our other assets) checks once per day for a new version. If there is a new version available, this window will appear:
3575542--288693--OC_Update.PNG

  • Yes, let’s do it!: redirects to the Unity AssetStore to download the new version

  • Not right now: postpone the check for one day and ask again tomorrow

  • Don’t check again!: the asset will no longer check for updates (= this window won’t appear again)

Since ratings and reviews are vital for us, we added a “review” reminder. After 13 days of usage (= used at least once per day), OC displays this window:
3575542--288695--OC_Reminder.PNG

  • Yes, let’s do it!: redirects to the Unity AssetStore to rate the asset

  • Not right now: postpone the check for another 13 days of usage and ask then again

  • Don’t ask again!: the asset will no longer ask for reviews (= this window won’t appear again)

The checks can also be enabled/disabled in the configuration:
3575542--288697--OC_Config.PNG

I hope this clarifies the situation.

Cheers
Stefan

Important notice for all “standard” customers:

We constantly try to push our assets to the next level by adding new features and deliver the best support for our customers. In the past we’ve kept updating the asset in a 2-month cycle. However, after careful consideration, we feel like this needs to happen at a faster pace. We’ve received numerous input from the community that a faster pace would help out a lot. Because Unity is ever evolving and we want to keep our assets relevant we need to be able to keep up the fast pace that is Unity’s second nature. Packaging and maintaining a separate DLL-version poses a problem in regards to this goal.

With this in mind, we decided to phase out the DLL-version by the end of August 2018.
Besides being able to update the asset more often, we are convinced that phasing out the DLL-version in favor of the PRO version will also bring these improvements for our customers:

  • More functionalities and supported platforms due the source code (e.g. WSA (UWP), IL2CPP under Android and Linux)

  • Less frictions with different Unity versions within the same company

  • Fast hotfixes and high priority support

We understand that this may impact you negatively. However we hope with the upgrade-path we offer to you - our loyal DLL-customers - can alleviate your concerns and win you over once more:
PRO edition

Please rest assured we will continue to support and improve the PRO version over the years to come.

I hope you understand our decision.

Cheers
Stefan

We created a Discord-channel to support our customers even better:

Update regarding the deprecation of the standard package:

The standard package is planned to be available (but no longer maintained) until December 2018. This will allow the transition to PRO with a 50% reduced upgrade-price for our existing customers.
Afterwards, the package will vanish from the store and the upgrade path will become inaccessible.

Edit:
We managed to create an upgrade path for the standard version which will last forever.
Therefore, customers of the DLL version can still upgrade to PRO for 50% of the full price.

Hi Stefan,

Tried your Discord, but couldn’t find you amongst the tumbleweeds lol.

Just wondering where you are supposed to check if the CustomCheck is alive as there is no callback like there is for the other three checks.

Justin

Hi Justin

Sorry, I wasn’t online the last few hours, but now I’m available in Discord.
Would you like to discuss it there?

Cheers
Stefan

Thanks Stefan. I will … and we did! :slight_smile:

Hi,

Could you please tell me does this asset work with Android 9.0 Pie? It expects apps to use HTTPS by default and HTTP is permitted only as a configured exception.

Hi

It should work without any problems with Android 9.0.
Do you get an error or warning?
If so, can you please send it to me? We currently don’t have an Android 9.0 device to test it…

Thx!

Cheers
Stefan