Cheat Engine Value Types Explained: 4 Bytes, Float, Double, and More

You can see the number clearly. The game says you have 100 health. You enter 100 into Cheat Engine, click First Scan, and receive either zero useful results or enough addresses to populate a small country.

So you scan again. Still nothing.

At this point, it is tempting to conclude that the game has military-grade encryption, the developer anticipated your exact actions, or Cheat Engine has developed a personal grudge against you.

The more likely explanation is simpler: You chose the wrong value type.

Cheat Engine needs to know not only which number to search for, but also how that number is represented in memory. The visible value 100 might be stored as a 4-byte integer, a floating-point number, a percentage such as 1.0, or even an internally multiplied value such as 10000.

The number shown on screen is therefore a clue—not necessarily the raw value stored by the game.

If you are new to memory scanning, begin with our explanation of what Cheat Engine is and how it works, followed by the practical Cheat Engine beginner’s guide.

What Is a Value Type?

Computers ultimately store data as bits and bytes. A value type tells the program—and Cheat Engine—how those bytes should be interpreted.

The same group of bytes might be interpreted as:

  • A whole number
  • A decimal number
  • A character
  • Part of a text string
  • A memory address
  • A sequence of raw instructions

Cheat Engine does not automatically know what the game intended those bytes to mean. Selecting a value type tells it which interpretation to search for.

Cheat Engine supports integer types of several sizes, floating-point formats, text, raw byte arrays, binary values, and an All option that searches several common numeric types together. (Cheat Engine)

Fortunately, beginners do not need to master all of them immediately.

Most ordinary searches begin with either:

  • 4 Bytes
  • Float

Those two will not solve everything, but they are excellent places to begin.

4 Bytes: The Default Starting Point

A 4-byte value is a 32-bit integer.

In practical terms, it stores a whole number without a decimal point. Cheat Engine’s documentation recommends 4 Bytes as the normal starting choice for many visible integers, and its official tutorial begins its exact-value exercise with that type. (Cheat Engine)

Typical examples include:

  • Health
  • Ammunition
  • Money
  • Experience points
  • Inventory quantities
  • Character levels
  • Scores
  • Skill points

1 Byte and 2 Bytes: Smaller Integers

Not every whole number needs four bytes.

Byte

A Byte occupies one byte, or eight bits. It can represent 256 possible bit patterns. Depending on whether the game treats it as signed or unsigned, Cheat Engine documents common ranges of -128 to 127 or 0 to 255.

Games may use Bytes for:

  • Small item quantities
  • Boolean states
  • Difficulty settings
  • Character flags
  • Status effects
  • Values that only range from 0 to 100

A simple state might use:

  • 0 = disabled
  • 1 = enabled

For example, a game could store whether a door is unlocked as one small value rather than wasting four full bytes on the philosophical complexity of an open door.

2 Bytes

A 2-byte integer uses 16 bits. Cheat Engine lists ranges of 0 to 65,535 when unsigned or -32,768 to 32,767 when signed.

It might be used for:

  • Moderate inventory limits
  • Damage values
  • Older games
  • Character statistics
  • Counters that never need extremely large numbers

Searching smaller types can sometimes produce more results because small values appear frequently in memory. However, Cheat Engine’s search tips note that starting with the smallest type capable of holding the value may still find it when the actual format is larger, because the remaining bytes may be zero. (Cheat Engine)

In practice, however, 4 Bytes remains the easier default for most beginner searches.

Use Byte or 2 Bytes when:

  • 4 Bytes finds nothing useful
  • The value has a clearly limited range
  • You have reason to believe the game uses a smaller format
  • You enjoy giving yourself additional search results as a character-building exercise

8 Bytes: Very Large Integers

An 8-byte value is a 64-bit integer.

It can store much larger whole numbers than 4 Bytes. Cheat Engine documents both signed and unsigned ranges extending far beyond what most ordinary game statistics require.

Possible uses include:

  • Extremely large currencies
  • Long-running counters
  • Large experience totals
  • Unique identifiers
  • Timestamps
  • Games or engines that use 64-bit integer types broadly

Do not choose 8 Bytes merely because you are running a 64-bit game.

A 64-bit application does not automatically store every gameplay value as an 8-byte integer. A modern 64-bit game may still use 4-byte integers for health, money, and ammunition.

The operating system being 64-bit does not mean your healing potion needs an eight-byte executive office.

Float: Numbers With Decimals

A Float is a 4-byte, single-precision floating-point number.

Unlike ordinary integers, floating-point values can represent fractions and very large or very small quantities. Cheat Engine identifies Float as a common format for decimal values in games.

Floats are frequently used for:

  • Character coordinates
  • Movement speed
  • Timers
  • Health with fractional damage
  • Stamina
  • Percentages
  • Gravity
  • Acceleration
  • Camera distance
  • Physics calculations

A game might display your health as: 100

but internally store: 100.0

The interface rounds or removes the decimal point before showing it to you. That means scanning for 100 as 4 Bytes may fail, while searching for 100 as Float succeeds. The same issue appears with percentages. 

Suppose the interface says: 75%

The game may store that as: 0.75

Float Searches Are Not Always Exact

Floating-point numbers cannot represent every decimal value perfectly. A game may conceptually use 10.1, while the underlying stored value is a nearby binary approximation.

Cheat Engine compensates for this by applying rounding behaviour during Float scans rather than always requiring a perfectly identical bit pattern. Its documentation notes that Float searches allow a range around the entered number unless stricter settings are used.

This is helpful when the interface rounds a more precise value. For example, the game may display: 12

while storing something like: 11.96

Searching for 12 as Float may still locate it.

It also means Float searches can produce results that look slightly different from the exact number you entered. The game is not lying.

It is merely using mathematics developed by people who apparently believed decimals were becoming too comfortable.

Double: Float With More Precision

A Double is an 8-byte floating-point value.

It works similarly to Float but stores more precision and supports a much wider numerical range. Cheat Engine describes Double as a 64-bit floating-point format used when greater accuracy is needed.

Games may use Double for:

  • Highly precise timers
  • Simulation calculations
  • Large world coordinates
  • Certain game engines or scripting systems
  • Values requiring more accuracy than Float provides

For most gameplay searches, try Float before Double. 

Float is generally more common for ordinary real-time game data because it uses half as much memory and usually provides enough precision for movement, physics, health, and timing.

Your character does not normally need 15 significant digits of accuracy to determine whether they are standing beside a barrel.

Still, when Float produces nothing useful, Double is a logical next attempt.

Why Money Might Be Stored as a Multiplied Integer

Currencies can be deceptive because games sometimes avoid floating-point numbers for values that require fixed decimal precision.

Suppose a shop displays: $100,35

The game might store it internally as: 10035

The final two digits represent the decimal portion. This avoids some of the rounding problems associated with floating-point arithmetic.

Cheat Engine’s documentation even includes a custom money type designed for games that store values multiplied by 100.

The same idea can appear in other systems:

  • 25.5 displayed damage stored as 255
  • 7.25 seconds stored as 725
  • 64.8% stored as 648
  • 1.5 speed stored as 1500

String: When the Value Is Actually Text

A String is a sequence of characters.

Cheat Engine can search text stored using common encodings, including ordinary and wide-character forms.

String scanning may help locate:

  • Character names
  • Item descriptions
  • Menu labels
  • Dialogue
  • Save names
  • Debug text

However, finding visible text does not necessarily mean changing it will alter the game’s underlying behaviour. 

Changing the displayed words Iron Sword into Destroyer of Worlds does not automatically increase its damage.

You have changed marketing, not engineering.

Array of Bytes: Raw Patterns

An Array of Bytes, usually shortened to AOB, searches for a sequence of raw bytes rather than a directly interpreted number.

AOB scans are useful for locating:

  • Machine-code instructions
  • Stable patterns
  • Data structures
  • Script injection points

They can also use wildcards when some bytes may vary.

This is an advanced technique rather than a normal starting point for finding health or money. For a practical walkthrough, see our Cheat Engine AOB scripting tutorial.

What Does “All” Do?

The All value type searches several common numeric formats together, from Byte through Double.

It can be helpful when:

  • You know the visible number
  • You have no idea how it is stored
  • Individual searches keep failing
  • You want Cheat Engine to cast a wider net

The disadvantage is that it can be slower and may return many more results. Using All is similar to asking every department in a company who moved your chair. You may eventually find the answer, but you will also receive several thousand emails.

A better approach is usually:

  1. Try 4 Bytes.
  2. Try Float.
  3. Try Double.
  4. Consider Byte, 2 Bytes, or 8 Bytes.
  5. Use All when uncertainty remains.

A Better Shortcut: Test a Common Item First

Suppose you want to find the quantity of an extremely rare material called the Super Dragon Obsidian Ingot Diamond.

Unfortunately, you only own two.

Searching for 2 is rarely enjoyable. The number appears everywhere: inventory slots, status flags, menu states, enemy counts, and probably several systems nobody has touched since early access.

Instead, look for another value from the same category.

Perhaps you own 63 pieces of Used Underwear, because this imaginary game has made several questionable item-design decisions.

Search for 63 and determine how that inventory quantity is stored. If the Used Underwear count uses 4 Bytes, Float, or Double, there is a strong chance that the rare crafting material uses the same value type because both belong to the same inventory system.

Once you know the likely type, return to the rare item and search for 2 using that format.

The important part is identifying how the game categorises the value.

Values that look similar to the player may belong to completely different systems:

  • Inventory items
  • Currencies
  • Character statistics
  • Crafting resources
  • Quest counters
  • Equipment durability

Gold is a good example. In one game, gold may exist as an inventory item. In another, it may be handled by a dedicated currency system.

If gold is treated as currency, investigate a more common currency first—perhaps silver coins, tokens, or another resource you can easily gain and spend. Its data type is more likely to match gold than the quantity of healing potions sitting beside it on the interface.

The same principle applies elsewhere.

To identify the type used for a rare character statistic, test a more common statistic. To investigate a rare crafting material, test a common crafting material. To understand one currency, inspect another currency.

Do not begin with the hardest value merely because it is the one you ultimately want.

Find an easier relative first.

Sometimes Cheat Engine is less about searching for the rare dragon diamond directly and more about interrogating the pile of dirty underwear sitting next to it.

Yabes Elia

Yabes Elia

An empath, a jolly writer, a patient reader & listener, a data observer, and a stoic mentor