☀️

End of Summer Sale

☀️

GLCV4 – Compare a Variable Feature

🌍 World Environment Sale 40% OFF! CLICK HERE

One of the most powerful features we’ve added into the new Game Launcher Creator is a feature called Compare a Variable. This is actually classed as an ‘action’ in the Event Action system, however, whilst the name might sound basic, it is actually probably one of the most powerful features inside the new GLC.

It is so powerful, we actually have to write a whole blog post on it here just to explain what it is, what it can do and what power it brings to your custom game launcher developments with GLC.

What is Compare A Variable

In the new Game Launcher Creator editor and runtime, we now have a powerful variable system.

This allows you to set, add, edit and remove data from variable slots and manipulate and use this data at your own pleasure.

If you do not know what a variable is, think of it like this. You define a list of ‘variables’ using variable names inside the editor, just like this…

What is a game launcher variable

You can give it a default value, either a number or a text string. This is what the value will remain as from the start, until modified.

So if, for example, we create a variable we want to store the player name as, we create the variable called “_playerName” and we leave the Default Value as blank (empty).

Then say at some point in your launcher, you either ask the player for their name (using an edit box), you can then store that name in the value for _playerName, so the player’s name gets stored.

Now, say you have a button that launches your game and you need to pass the player’s name as a command line argument, well you can now as you already have it stored under the variable “_playerName” right?

Right. However, what if the user didn’t specify their name? How do you check this?

With Compare a Variable.

How to Use Compare A Variable

Let’s say you have a “Launch” button in your game launcher to start the game but you need to send the player’s name as a command line argument. This is easy to do because with the powerful event action system, you can simply place variables anywhere you like.

For example, in your “Launch Local File” action, you would specify the commandline variable like this:

Game Launcher Action variable

You can literally use variables anywhere inside your custom game launcher by simply specifying it as the name inside of %-% like this:

%-%_playerName%-%

So now when this game is launched (mygame.exe), it sends the command line parameter (-name) along with the actual name stored in the variable.

BUT, how do we check they did it or if it’s invalid? Well we return to our action list for this event and we insert a new action “Compare a Variable” and we move it before the “Launch Local File” action.

So you would add a new action, select “Compare a Variable” and this is what you will see…

Compare a Variable Action

So inside here, we can select our variable _playerName and then decide how and what we want to compare it against.

Compare a Variable - The Workhorse of Logic

Compare a Variable checks a variable against something else and optionally halts the action chain if the check fails. It’s the simplest way to write “if/then” logic in your launcher.

Fields

  • Variable Name – The value to test (you can enter the placeholder or select from the list).

  • Condition – The comparison to make (see table below).

  • Evaluates – Whether to evaluate the Variable field as an expression first. Leave it on Variable for normal use; switch to "" (literal) if you want to treat the input as raw text.

  • Value To Compare – The right-hand side (can also use placeholders and expressions).

  • Negate – Flip the final result (turns “contains” into “does not contain”).

  • Halt if Negative – If the (possibly negated) result is false, stop the remaining actions in this event.

Condition What it checks Text matching Numbers
equals True when the value and the thing you compare to are the same. Not case-sensitive (Admin equals admin). If both look like numbers, compares as numbers ("10" equals "010").
not equals True when they are different. Not case-sensitive. Same numeric rule as “equals”.
contains True when the value includes the text you typed. Not case-sensitive (e.g. email@example.com contains @EXAMPLE.COM). Works on text only.
greater than True when the value is a bigger number than what you typed. Numbers only. If either side isn’t a number, result is false.
less than True when the value is a smaller number than what you typed. Numbers only. If either side isn’t a number, result is false.
is empty True when the value is empty after trimming spaces. "" and " " count as empty.
is not empty True when the value has any non-space characters. Opposite of “is empty”.
Tips: You can use variables like %-%coins%-% and helpers like NUM(...) in the compare fields. “Negate” flips the result (useful for “does not contain”). “Halt if Negative” stops the rest of the actions when the check fails.

So carrying on our example, here is what our Compare a Variable action looks like to check that the player name is NOT EMPTY and HALT IF NEGATIVE.

Compare a Variable Example

So what this evaluation tells GLC is, if the variable _playerName is empty, halt processing any further actions in this chain. So the game will not be launched in this instance.

  1. Collect the player name into _playerName (edit box, login flow, or set variable action).

  2. Add a Compare a Variable before your launch action:

    • Variable Name: %-%_playerName%-%

    • Condition: is not empty

    • Halt if Negative: ☑ (checked)

  3. Add your Launch Local File action:

    • Command line: -name=%-%_playerName%-%

Result: If _playerName is blank, the action chain stops. Add a toast or message action just above it to tell the user what’s missing.

The beauty

The End Result

on click button

So as you can see now, the compare a variable check is done before the launch local file and if it’s empty, it won’t run the launch local file action.

The best thing about this being an action is, you can stack multiple checks on top of each other. So as well as checking it’s not empty, you can also perform other checks like:

  1. Is the length of the username above a certain count?

You would create another variable first called “_playerNameLength and then use the action “Set variable” with:

LEN(%-%_playerName%-%)

Then in the compare a variable action, check if the _playerNameLength variable is greater than 2.

IS THE LENGTH OF THE USERNAME A MINIMUM OF 3 CHARACTERS LONG?

Unlimited Possibilities

There are around 12 new actions available to Developers to add, edit and remove variables at runtime including load and saving from/to files, letting the user specify data for a variable, you can change variables yourself manually or let something else change it dynamically.

The world is literally your oyster with GLCV4.

Share This Post

Are you a Gamer?

Build a custom launcher for your favourite games. Select your game below…

Are you a Game Developer?

Build a custom launcher and patch update system for your game developments. Select your engine below…

Copyright Notice

Copyright © 2017-2023 ByteBox Media Ltd. All Rights Reserved.

The software, Game Launcher Creator (hereinafter referred to as ‘GLCV3‘), and all its intellectual property rights are owned by ByteBox Media Ltd., a UK Limited Company, unless otherwise specified.

Disclaimer for Third-party Plugins: Some plugins integrated or compatible with GLCV3 are developed by third parties not affiliated with ByteBox Media Ltd. ByteBox Media Ltd. neither offers any warranties for these third-party plugins nor takes responsibility for any potential copyright or trademark violations stemming from them.

Content Disclaimer: GLCV3’s base software package does not include any content, plugins, graphics, videos, or other material not explicitly owned or licensed by ByteBox Media Ltd. Users are encouraged to verify rights for any additional content they integrate.

File Integrity Assurance: GLCV3 is designed to not modify, infringe, or violate any third-party software files, including but not limited to any third party game files.

It respects the integrity of all game files in its standard operation.

Non-Affiliation Disclaimer: ByteBox Media Ltd. and GLCV3 are neither affiliated with nor endorsed by Microsoft, Rockstar, Mojang, or any other company not explicitly mentioned in this notice. Furthermore, ByteBox Media Ltd. does not condone or promote any illegal activities, including but not limited to hacking, unauthorized distribution, or modification of files, through the use of GLCV3. Users are advised to respect the intellectual property rights of others and use the software in a legal and ethical manner.

For any further inquiries or clarifications, please contact the legal team at ByteBox Media Ltd.

By using GLCV3, users acknowledge and agree to the terms outlined in this notice. ByteBox Media Ltd. reserves the right to modify these terms at any time without prior notice.

Privacy Policy

Privacy Policy
ByteBox Media Ltd

Effective Date: 15 May 2025
Last Updated: 15 May 2025

Introduction

At ByteBox Media Ltd (“we”, “us”, or “our”), accessible from https://byteboxmedia.store and our related network of domains including gamelaunchercreator.com, gamepatchcreator.com, gameinstallcreator.com, configfilecreator.com, cryptikey.com, byteboxservers.com, gamelaunchercreatorv2.com, and bytebox.media, protecting your privacy is a priority. This Privacy Policy outlines how we collect, use, and manage your personal data in compliance with the General Data Protection Regulation (GDPR), the UK Data Protection Act 2018, the Digital Services Act (DSA), and other relevant legislation.

If you have questions or require additional information about our Privacy Policy, please contact us directly at support@byteboxmedia.co.uk or support@bytebox.media.

Data Controller

The Data Controller responsible for your personal data is:

ByteBox Media Ltd
(Registered in England & Wales)
Email: support@byteboxmedia.co.uk

Consent

By using our websites and services, you hereby consent to this Privacy Policy.

Information We Collect

We collect personal data clearly and transparently:

  • Account Information: Name, email address, company name, billing address, and telephone number provided when registering an account or purchasing services.

  • Communications: Information you voluntarily provide when contacting us, including emails, support requests, and attachments.

  • Technical Data: Automatically collected information such as IP addresses, browser types, operating systems, referring URLs, and timestamps for analytical and security purposes.

Legal Basis for Data Processing

We process personal data based on:

  • Contractual Necessity: To provide and manage your account and fulfil orders.

  • Legitimate Interests: To ensure security, analyse usage, and improve our services.

  • Consent: Where explicitly obtained for marketing purposes; consent can be withdrawn at any time.

  • Legal Obligations: To comply with regulatory, accounting, or tax requirements.

Use of Your Information

We use your data to:

  • Provide, operate, and maintain our websites and services.

  • Improve and personalize your experience.

  • Understand and analyse usage trends.

  • Develop new services and features.

  • Communicate directly or through third-party providers for customer support, updates, and marketing (only with your explicit consent).

  • Detect and prevent fraud or misuse.

Log Files

We follow standard log file practices. These logs record visitors’ IP addresses, browser types, ISPs, timestamps, and visited pages. This information helps us manage and secure our services but does not directly identify you.

Cookies and Web Beacons

We use cookies to store user preferences, optimize our website, and personalize content based on browser type and usage patterns. You can manage cookie preferences through your browser settings.

Third-Party Service Providers

We may share your data with trusted third-party providers:

  • Payment processors (Stripe, PayPal)

  • Email marketing platforms (e.g., Brevo)

  • Web hosting providers

  • Analytics services (e.g., Google Analytics)

These providers only process data necessary to deliver their services and are bound by strict data protection agreements.

Third-Party Privacy Policies

Our Privacy Policy does not extend to third-party advertisers or services. Please consult the privacy policies of these external services for their data handling practices.

International Data Transfers

As a UK-based company, data transfers may occur outside the European Economic Area (EEA). We ensure compliance with GDPR by employing suitable safeguards, such as Standard Contractual Clauses (SCCs), to secure data transfers.

Data Retention

We retain personal data only as long as necessary to fulfil the stated purposes or as legally required. Data is securely deleted or anonymized once it is no longer needed.

Your Data Protection Rights

Under GDPR, you have rights to:

  • Access: Request copies of your data.

  • Rectification: Correct inaccurate or incomplete data.

  • Erasure: Request deletion of your data under certain conditions.

  • Restriction: Limit data processing under certain conditions.

  • Objection: Object to certain processing activities.

  • Portability: Request transfer of data to another provider or yourself.

Requests are free of charge unless excessive or repetitive. We will respond within one month.

Children’s Privacy

We do not knowingly collect personal data from children under 13. If we become aware of such collection, we promptly delete the information. Please contact us immediately if you believe a child has provided personal data.

Digital Services Act (DSA) Transparency

In compliance with the EU Digital Services Act, we are committed to transparency regarding content moderation and algorithmic processes. Any content moderation actions or feature restrictions will be communicated clearly with reasons provided.

California Consumer Privacy Act (CCPA)

California residents have additional rights under the CCPA, including the right to request disclosure of collected data, request deletion, and opt-out of data sales. We do not sell personal data.

Contact Information

For all privacy-related inquiries or data requests, please contact:

Danny Jay
Director
ByteBox Media Ltd
support@byteboxmedia.co.uk
or
support@bytebox.media

Website Terms of Use

Effective Date: 25th August 2023

Welcome to GameLauncherCreator.com, operated by ByteBox Media Ltd. By accessing or using our website, you agree to be bound by these Terms of Use. If you do not agree with these terms, please refrain from using our website.

DEFINITIONS
“Website” refers to GameLauncherCreator.com.
“User,” “You,” and “Your” refer to the person, company, or organization that has visited or is using the Website.
“ByteBox Media Ltd,” “We,” “Our,” and “Us” refer to ByteBox Media Ltd and its successors and assigns.

WEBSITE USE
You agree to use the Website for lawful purposes only.
Unauthorized use of this Website may give rise to a claim for damages and/or be a criminal offense.
From time to time, the Website may also include links to other websites. These links are provided for your convenience and do not signify endorsement of the linked website(s). We bear no responsibility for the content of the linked website(s).

SOFTWARE PURCHASE AND TERMS
Any purchase of software from GameLauncherCreator.com will be governed by the terms and conditions set forth in the ByteBox Media store, which can be found at https://byteboxmedia.store/terms/. By purchasing, you explicitly agree to those terms and conditions.

INTELLECTUAL PROPERTY
The content, design, graphics, and other materials related to this Website are protected under applicable copyrights and other proprietary laws. Unauthorized use of this material may violate copyright, trademark, and other laws.
You may not modify, copy, reproduce, republish, or distribute any content on this Website without express written permission from ByteBox Media Ltd.

DISCLAIMERS
The content on the Website is provided “as is” and without warranties of any kind, either express or implied.
ByteBox Media Ltd does not warrant or make any representations regarding the use or the results of the use of the content on the Website in terms of its correctness, accuracy, reliability, or otherwise.

LIMITATION OF LIABILITY
ByteBox Media Ltd will not be liable for any damages or injury, including but not limited to, special or consequential damages that result from the use of, or the inability to use, the materials in this Website.

CHANGES TO TERMS OF USE
ByteBox Media Ltd reserves the right to update or modify these Terms of Use at any time without prior notice. Your use of the Website following any such change constitutes your agreement to follow and be bound by the updated Terms of Use. We encourage users to frequently review the Terms of Use to stay informed.

GOVERNING LAW
These Terms of Use shall be governed by and construed in accordance with the laws of the United Kingdom. Any disputes relating to these terms shall be subject to the exclusive jurisdiction of the courts of the United Kingdom.

CONTACT US
For any further inquiries, concerns, or clarifications regarding these Terms of Use, please contact us by email at support@bytebox.media