2017-09-12 22:42:36 +02:00
<?xml version="1.0" encoding="UTF-8" ?>
2021-03-23 13:40:34 +01:00
<class name= "Engine" inherits= "Object" version= "3.3" >
2017-09-12 22:42:36 +02:00
<brief_description >
2020-05-10 03:47:02 +02:00
Access to engine properties.
2017-09-12 22:42:36 +02:00
</brief_description>
<description >
2020-05-10 03:47:02 +02:00
The [Engine] singleton allows you to query and modify the project's run-time parameters, such as frames per second, time scale, and others.
2017-09-12 22:42:36 +02:00
</description>
<tutorials >
</tutorials>
<methods >
2018-05-16 06:54:22 +02:00
<method name= "get_author_info" qualifiers= "const" >
<return type= "Dictionary" >
</return>
<description >
Returns engine author information in a Dictionary.
2019-06-22 01:04:47 +02:00
[code]lead_developers[/code] - Array of Strings, lead developer names
[code]founders[/code] - Array of Strings, founder names
[code]project_managers[/code] - Array of Strings, project manager names
[code]developers[/code] - Array of Strings, developer names
2018-05-16 06:54:22 +02:00
</description>
</method>
<method name= "get_copyright_info" qualifiers= "const" >
<return type= "Array" >
</return>
<description >
Returns an Array of copyright information Dictionaries.
2019-06-22 01:04:47 +02:00
[code]name[/code] - String, component name
[code]parts[/code] - Array of Dictionaries {[code]files[/code], [code]copyright[/code], [code]license[/code]} describing subsections of the component
2018-05-16 06:54:22 +02:00
</description>
</method>
<method name= "get_donor_info" qualifiers= "const" >
<return type= "Dictionary" >
</return>
<description >
Returns a Dictionary of Arrays of donor names.
2020-08-13 23:54:30 +02:00
{[code]platinum_sponsors[/code], [code]gold_sponsors[/code], [code]silver_sponsors[/code], [code]bronze_sponsors[/code], [code]mini_sponsors[/code], [code]gold_donors[/code], [code]silver_donors[/code], [code]bronze_donors[/code]}
2018-05-16 06:54:22 +02:00
</description>
</method>
2017-09-12 22:42:36 +02:00
<method name= "get_frames_drawn" >
<return type= "int" >
</return>
<description >
2020-01-14 21:13:03 +01:00
Returns the total number of frames drawn. If the render loop is disabled with [code]--disable-render-loop[/code] via command line, this returns [code]0[/code]. See also [method get_idle_frames].
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "get_frames_per_second" qualifiers= "const" >
<return type= "float" >
</return>
<description >
Returns the frames per second of the running game.
</description>
</method>
2020-01-14 21:13:03 +01:00
<method name= "get_idle_frames" qualifiers= "const" >
<return type= "int" >
</return>
<description >
Returns the total number of frames passed since engine initialization which is advanced on each [b]idle frame[/b], regardless of whether the render loop is enabled. See also [method get_frames_drawn].
</description>
</method>
2018-05-16 06:54:22 +02:00
<method name= "get_license_info" qualifiers= "const" >
<return type= "Dictionary" >
</return>
<description >
Returns Dictionary of licenses used by Godot and included third party components.
</description>
</method>
<method name= "get_license_text" qualifiers= "const" >
<return type= "String" >
</return>
<description >
Returns Godot license text.
</description>
</method>
2017-09-12 22:42:36 +02:00
<method name= "get_main_loop" qualifiers= "const" >
<return type= "MainLoop" >
</return>
<description >
2017-10-08 16:22:02 +02:00
Returns the main loop object (see [MainLoop] and [SceneTree]).
2017-09-12 22:42:36 +02:00
</description>
</method>
2020-01-14 21:13:03 +01:00
<method name= "get_physics_frames" qualifiers= "const" >
<return type= "int" >
</return>
<description >
Returns the total number of frames passed since engine initialization which is advanced on each [b]physics frame[/b].
</description>
</method>
2019-07-01 18:42:02 +02:00
<method name= "get_physics_interpolation_fraction" qualifiers= "const" >
<return type= "float" >
</return>
<description >
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.
</description>
</method>
2017-11-15 20:35:18 +01:00
<method name= "get_singleton" qualifiers= "const" >
<return type= "Object" >
</return>
<argument index= "0" name= "name" type= "String" >
</argument>
<description >
2020-05-15 11:43:42 +02:00
Returns a global singleton with given [code]name[/code]. Often used for plugins, e.g. [code]GodotPayment[/code] on Android.
2017-11-15 20:35:18 +01:00
</description>
</method>
2017-09-12 22:42:36 +02:00
<method name= "get_version_info" qualifiers= "const" >
<return type= "Dictionary" >
</return>
<description >
Returns the current engine version information in a Dictionary.
2019-06-21 15:15:33 +02:00
[code]major[/code] - Holds the major version number as an int
[code]minor[/code] - Holds the minor version number as an int
[code]patch[/code] - Holds the patch version number as an int
2019-06-22 01:04:47 +02:00
[code]hex[/code] - Holds the full version number encoded as a hexadecimal int with one byte (2 places) per number (see example below)
2019-06-21 15:15:33 +02:00
[code]status[/code] - Holds the status (e.g. "beta", "rc1", "rc2", ... "stable") as a String
[code]build[/code] - Holds the build name (e.g. "custom_build") as a String
[code]hash[/code] - Holds the full Git commit hash as a String
[code]year[/code] - Holds the year the version was released in as an int
[code]string[/code] - [code]major[/code] + [code]minor[/code] + [code]patch[/code] + [code]status[/code] + [code]build[/code] in a single String
2019-06-22 01:04:47 +02:00
The [code]hex[/code] 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 [code]0x03010C[/code]. [b]Note:[/b] 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:
2019-02-17 13:38:52 +01:00
[codeblock]
2019-02-25 11:21:15 +01:00
if Engine.get_version_info().hex > = 0x030200:
2019-06-22 01:04:47 +02:00
# Do things specific to version 3.2 or later
2019-02-17 13:38:52 +01:00
else:
2019-06-22 01:04:47 +02:00
# Do things specific to versions before 3.2
2019-02-17 13:38:52 +01:00
[/codeblock]
2017-09-12 22:42:36 +02:00
</description>
</method>
2017-11-15 20:35:18 +01:00
<method name= "has_singleton" qualifiers= "const" >
<return type= "bool" >
</return>
<argument index= "0" name= "name" type= "String" >
</argument>
<description >
2020-01-08 22:51:16 +01:00
Returns [code]true[/code] if a singleton with given [code]name[/code] exists in global scope.
2017-11-15 20:35:18 +01:00
</description>
</method>
2017-10-08 16:22:02 +02:00
<method name= "is_in_physics_frame" qualifiers= "const" >
2017-09-12 22:42:36 +02:00
<return type= "bool" >
</return>
<description >
2017-10-08 16:22:02 +02:00
Returns [code]true[/code] if the game is inside the fixed process and physics phase of the game loop.
2017-09-12 22:42:36 +02:00
</description>
</method>
</methods>
2018-01-11 23:38:35 +01:00
<members >
2019-06-29 12:38:01 +02:00
<member name= "editor_hint" type= "bool" setter= "set_editor_hint" getter= "is_editor_hint" default= "true" >
2018-01-11 23:38:35 +01:00
If [code]true[/code], it is running inside the editor. Useful for tool scripts.
</member>
2019-06-29 12:38:01 +02:00
<member name= "iterations_per_second" type= "int" setter= "set_iterations_per_second" getter= "get_iterations_per_second" default= "60" >
2020-02-27 22:19:57 +01:00
The number of fixed iterations per second. This controls how often physics simulation and [method Node._physics_process] methods are run. This value should generally always be set to [code]60[/code] or above, as Godot doesn't interpolate the physics step. As a result, values lower than [code]60[/code] will look stuttery. This value can be increased to make input more reactive or work around tunneling issues, but keep in mind doing so will increase CPU usage.
2018-01-11 23:38:35 +01:00
</member>
2019-06-29 12:38:01 +02:00
<member name= "physics_jitter_fix" type= "float" setter= "set_physics_jitter_fix" getter= "get_physics_jitter_fix" default= "0.5" >
2020-02-27 22:19:57 +01:00
Controls how much physics 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.
2018-05-12 09:38:00 +02:00
</member>
2019-06-29 12:38:01 +02:00
<member name= "target_fps" type= "int" setter= "set_target_fps" getter= "get_target_fps" default= "0" >
2019-06-29 15:24:23 +02:00
The desired frames per second. If the hardware cannot keep up, this setting may not be respected. A value of 0 means no limit.
2018-01-11 23:38:35 +01:00
</member>
2019-06-29 12:38:01 +02:00
<member name= "time_scale" type= "float" setter= "set_time_scale" getter= "get_time_scale" default= "1.0" >
2018-01-11 23:38:35 +01:00
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.
</member>
</members>
2017-09-12 22:42:36 +02:00
<constants >
</constants>
</class>