The February Sale is here! Save 50% on select products now through February 22.

Smart Variable

Dawid Bujak - Code Plugins - Nov 27, 2023

Variable that informs you when it reaches thresholds you set

  • Supported Platforms
  • Supported Engine Versions
  • Download Type
    Engine Plugin
    This product contains a code plugin, complete with pre-built binaries and all its source code that integrates with Unreal Engine, which can be installed to an engine version of your choice then enabled on a per-project basis.

All statistics (health, mana, accuracy, stamina.. etc etc) share the same traits. All have min, max, and default values, and you want to know when they hit certain thresholds. Unfortunately, there is no type that has all those features, there is only float, and for every statistic you end up writing the same code that adds those common traits. So for example you have float Health, and methods Set/Get health, that operate on it, make sure it stays in its bounds, if value reaches a threshold, you call event and so on. 

Over the years of working in game dev I got fed up writing this same code over and over again. Smart variable allows to:

  • Define min, max, and default values (and change them later, if for example player levelled up)
  • Bind event to OnMin/MaxReached, OnValueChanged, or to bind to any value threshold you set.
  • Query and/or display the history of operations made on it ; ) Either for debugging, or to show in-game combat log.
  • All features support replication


I use it in my Game

Technical Details

Code Modules: (Please include a full list of each Plugin module and their module type (Runtime, Editor etc.))

  •  SmartVariablePlugin

Number of Blueprints: 0

Number of C++ Classes: 3

Network Replicated: Yes

Supported Development Platforms: build and tested for Win64, but should work on all

Supported Target Build Platforms: build and tested for Win64, but should work on all