Engine

Inherits: Object

Access to basic engine properties.

Description

The Engine class allows you to query and modify the project’s run-time parameters, such as frames per second, time scale, and others.

Property Descriptions

Default true
Setter set_editor_hint(value)
Getter is_editor_hint()

If true, it is running inside the editor. Useful for tool scripts.


  • int iterations_per_second
Default 60
Setter set_iterations_per_second(value)
Getter get_iterations_per_second()

The number of fixed iterations per second (for fixed process and physics).


  • float physics_jitter_fix
Default 0.5
Setter set_physics_jitter_fix(value)
Getter get_physics_jitter_fix()

Controls how much physic ticks are synchronized with real time. For 0 or less, the ticks are synchronized. Such values are recommended for network games, where clock synchronization matters. Higher values cause higher deviation of in-game clock and real clock, but allows to smooth out framerate jitters. The default value of 0.5 should be fine for most; values above 2 could cause the game to react to dropped frames with a noticeable delay and are not recommended.


  • int target_fps
Default 0
Setter set_target_fps(value)
Getter get_target_fps()

The desired frames per second. If the hardware cannot keep up, this setting may not be respected. A value of 0 means no limit.


Default 1.0
Setter set_time_scale(value)
Getter get_time_scale()

Controls how fast or slow the in-game clock ticks versus the real life one. It defaults to 1.0. A value of 2.0 means the game moves twice as fast as real life, whilst a value of 0.5 means the game moves at half the regular speed.

Method Descriptions

Returns engine author information in a Dictionary.

lead_developers - Array of Strings, lead developer names

founders - Array of Strings, founder names

project_managers - Array of Strings, project manager names

developers - Array of Strings, developer names


Returns an Array of copyright information Dictionaries.

name - String, component name

parts - Array of Dictionaries {files, copyright, license} describing subsections of the component


Returns a Dictionary of Arrays of donor names.

{platinum_sponsors, gold_sponsors, mini_sponsors, gold_donors, silver_donors, bronze_donors}


  • int get_frames_drawn ( )

Returns the total number of frames drawn. If the render loop is disabled with --disable-render-loop via command line, this returns 0. See also get_idle_frames.


  • float get_frames_per_second ( ) const

Returns the frames per second of the running game.


  • int get_idle_frames ( ) const

Returns the total number of frames passed since engine initialization which is advanced on each idle frame, regardless of whether the render loop is enabled. See also get_frames_drawn.


Returns Dictionary of licenses used by Godot and included third party components.


  • String get_license_text ( ) const

Returns Godot license text.


Returns the main loop object (see MainLoop and SceneTree).


  • int get_physics_frames ( ) const

Returns the total number of frames passed since engine initialization which is advanced on each physics frame.


  • float get_physics_interpolation_fraction ( ) const

Returns the fraction through the current physics tick we are at the time of rendering the frame. This can be used to implement fixed timestep interpolation.


Returns a global singleton with given name. Often used for plugins, e.g. GodotPayments.


Returns the current engine version information in a Dictionary.

major - Holds the major version number as an int

minor - Holds the minor version number as an int

patch - Holds the patch version number as an int

hex - Holds the full version number encoded as a hexadecimal int with one byte (2 places) per number (see example below)

status - Holds the status (e.g. “beta”, “rc1”, “rc2”, … “stable”) as a String

build - Holds the build name (e.g. “custom_build”) as a String

hash - Holds the full Git commit hash as a String

year - Holds the year the version was released in as an int

string - major + minor + patch + status + build in a single String

The hex value is encoded as follows, from left to right: one byte for the major, one byte for the minor, one byte for the patch version. For example, “3.1.12” would be 0x03010C. Note: It’s still an int internally, and printing it will give you its decimal representation, which is not particularly meaningful. Use hexadecimal literals for easy version comparisons from code:

if Engine.get_version_info().hex >= 0x030200:
    # Do things specific to version 3.2 or later
else:
    # Do things specific to versions before 3.2

Returns true if a singleton with given name exists in global scope.


  • bool is_in_physics_frame ( ) const

Returns true if the game is inside the fixed process and physics phase of the game loop.