[RELEASED] Best Before - make your application expire

Best Before version 1.0.0 available on the Asset Store!
You can use this component to make your application expire with Best Before!
You can set the precise date and time of expiration. On expiration, you can quit your app, freeze it and do any other action.
Works with any Platform and any Unity version (ver. 5.0.0+)

More info HERE
Asset Store link: Best Before | Integration | Unity Asset Store

2 Likes

I’ll try it

Some screenshots of Best Before at work:
Best Before component in Editor

Usage sample: when the application is expired, a UI panel with a message is shown, freezes for 1 second (freeze is only simulated) and quits after 3 seconds.

BEST BEFORE component by @Epic_Cube is a great tool to make your Unity3D application expire.
Very useful if you want to release a demo version of your application or you want to make it expire after some time in advanced testing phases.
Unity Connect: Unity Learn
Official project: Best Before - make your application expire for Unity 3D - Epic Cube
Asset Store: Best Before | Integration | Unity Asset Store


#BestBefore

Very good. But can’t a fairly good cracker easily locate the script in the build and reverse/kill it?

[ @AGregori thanks for reply]
Yes, honestly you are right.
But in my opinion, if you read somewhere that “an application is completely sure, and cannot be cracked in anyway” you are probably reading a foolish thing.
Every game, application and even operative system has been cracked, just becouse it is pretty difficult to avoid it. You can try to obscure the code, or mixing it to make it more difficult to read, but automatic tools and programming skills can however exploit it.

Fortunately, when you build Unity games and release them for a store (Google play Store, Windows Store, Apple Store, Steam and so on) the code is encrypted (honestly I don’t know if standalone code is also obscured in any way…), so, before accessing directly to the code, you have first to decrypt the app package.

Following your worry: someone could crack my game to get unlimited lifepoints… can I avoid it? :slight_smile:

even Denuvo gets raped in one day, but still if you whant to send a preview build of lets say an arch visualization where you’ve not yet received full payment you could send em for QC and make it expire like in 48h, just an idea. And receiving end aint be crackers.

1 Like

Already using Best Before to make your application or demo expire?
Now you can take care of last-second stuff before quitting your app with NEW OnQuit event!
Get it with 25% discount on UnityAssetStore

Next release (available in few days):
Secure date/time check with remote server

VERY GOOD NEWS!
A lot of people asked us: what happens if my user changes the local system date/time? Best Before component was no able to check the correct date/time and your demo app would never expire… UNTIL NOW! :smiley:

A new version of Best Before is now available on the Unity Asset Store: http://u3d.as/UTN The package is ON SALE!!
We have added Remote Date/Time check system.
If you enable it, don’t worry about your users change local system time. We will check the correct date time using a remote web server, and your demo apps will correctly expire at the right moment. :wink:

1 Like

Hello,

With the latest version, Quit Time setting doesn’t work if set to higher than 0.

In the update function, it always returns from the update function here, after expired is true, and doesn’t enter the QuitTime check at all.

It works fine when QuitTime setting is set to 0 or -1, but it looks like a nice feature to have.

Edit: I just tried setting -1 and that also doesn’t work. Application.Quit no longer gets called by the script.

            if ( ( expired ) ||
               ( !readyForExpirationCheck ) ||
               ( ( RemoteDateTimeCheck ) && ( !remoteDateTimeOK ) ) )
                return;

Hi @Meceka . Thank you for the report. We’ll investigate che bug and we’ll fix it asap. When fix is complete, we’ll write here.

Hi just bought this and application doesn’t quit as well for me. What I did was to add another script for application quit and fire the function in the expired event.

hi @Meceka and @igniteVR .
We are going to release a fix today, and it will be available on the store in a couple of days (max). Thanks for report and your patience.

fix uploaded :wink:

Hi, Does app need internet? it’s work offline?

Hi, the package works both in online and offline mode. When online, the time check is performed through a remote server, while when offline, the time check is done by asking to OS. You can set a precise date/time to make an application to expire or choose how much time it should pass after first launch of the app

Thanks for your reply