Skip to content

Synaptikal/GodotPulse

GodotPulse

GodotPulse is a professional in-game, toggleable runtime performance overlay and diagnostics plugin for Godot 4 .NET projects.

License: MIT Godot Version .NET Version

Overview

GodotPulse provides real-time performance monitoring directly in your game with minimal overhead. Toggle the overlay during gameplay with a hotkey to inspect engine metrics, .NET runtime statistics, and custom metrics.

Features

  • In-game performance overlay - toggle with F3 during gameplay
  • Runtime metrics: managed heap size, GC collections (Gen 0/1/2), GC pause durations
  • Engine metrics: FPS, frame time, draw calls, VRAM, physics bodies, node counts
  • GC visualization on FPS graph (red flash when GC occurs)
  • Custom metrics API for game-specific tracking
  • Event log for performance events
  • Automatically disabled in release builds (configurable)
  • Customizable hotkey via Project Settings
  • Zero overhead when disabled

Requirements

Requirement Version
Godot 4.2+
.NET 8.0+
Build Type Godot with .NET support enabled
Platforms Windows, Linux (desktop exports primary; mobile tested)

Quick Start

Installation

  1. Download the latest release from Releases
  2. Copy addons/godot_pulse to your project's addons/ directory
  3. Enable the plugin in Project → Project Settings → Plugins
  4. Done! The autoload will initialize automatically

Usage

Toggle the overlay:

  • Press F3 during gameplay (or bind a custom key in Project Settings > Input Map > godot_pulse_toggle)

Track custom metrics:

// Register a metric
GodotPulse.RegisterMetric("AI/Enemies", () => EnemyManager.Count);

// Log performance events
GodotPulse.LogEvent("Boss spawned", GodotPulse.EventLevel.Warning);

See full documentation for the complete API.

Documentation

Installation

Using Godot Asset Library (recommended):

  1. Open Asset Library in the Godot editor
  2. Search for "GodotPulse"
  3. Download and install

Manual installation:

  1. Download the latest release from Releases
  2. Extract addons/godot_pulse to your project's addons/ folder
  3. Enable the plugin in Project Settings > Plugins

From source:

git clone https://github.com/Synaptikal/GodotPulse.git
cp -r GodotPulse/addons/godot_pulse your-project/addons/

Compatibility

Feature Status
Export Builds Automatically disabled in release builds
Multiplayer Each peer has independent overlay instance
Mobile (Android/iOS) Requires System.Text.Json support testing
GDScript Integration Full C# ↔ GDScript interoperability

Contributing

Interested in contributing? Check out CONTRIBUTING.md for guidelines on code style, bug reports, feature proposals, and PRs.

Known Limitations

  • Draw call tracking uses GDScript management and manual buffer setup
  • System.Text.Json availability depends on Godot .NET SDK and platform
  • Resource paths (res://) are read-only in exports; metric export uses user:// only

Performance Impact

  • With Overlay Off: Negligible (< 0.1ms per frame)
  • With Overlay On: 1-3ms per frame depending on resolution and graph complexity

License

This project is licensed under the MIT License - see LICENSE file for details.

Changelog

See CHANGELOG.md for version history and release notes.

Support

Author

Justin Davis - Synaptikal

About

GodotPulse – In-game performance overlay for Godot 4 .NET projects. Real-time monitoring of engine and runtime metrics with a toggleable UI

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors