ezInspector

ezInspector is a tool to monitor some internal state of an application. It helps observing how the application operates, which resources it accesses and why it might behave as it does.

ezInspector

The current version allows to monitor the following data:

Setting up your game to support ezInspector

Note: None of this setup is required when you use ezGameApplication as your application base class, or even better, your game only implements an ezGameState and is run directly through ezPlayer.

The inspection functionality is implemented in the ezInspectorPlugin plugin, so you need to have that compiled.

In your application you can then either simply always link against that plugin to activate the functionality, or you can load it dynamically at runtime. Additionally the ezInspectorPlugin uses ezTelemetry to phone home, so you need to have that activated.

// Activate ezTelemetry such that the inspector plugin can use the network connection.
ezTelemetry::CreateServer();

// Load the inspector plugin
// The plugin contains automatic configuration code (through the ezStartup system),
// so it will configure itself properly when the engine is initialized by calling ezStartup::StartupCore().
// When you are using ezApplication, this is done automatically.
ezPlugin::LoadPlugin("ezInspectorPlugin");

You should insert this code somewhere in the engine initialization. When you are using ezApplication, put this into the AfterEngineInit function. Additionally you need to make sure that ezTelemetry is updated once per frame, to ensure that all changes are sent to ezInspector regularly:

// Call this once per frame to make sure all changes are transmitted
ezTelemetry::PerFrameUpdate();

And that’s it! The rest is done automatically.

How to get the best out of ezInspector

Some tips, what to do to benefit from the inspection functionality:

See Also