Files
godot-demo-projects/misc/os_test
Hugo Locurcio 6424e02ebf Add fallbacks and mention non-working features when using Compatibility or the Web platform (#1132)
- Make 3D lights with shadows darker when using Compatibility to better
  match the appearance of Forward+/Mobile, due to the use of sRGB blending
  for those lights.
- Silence some warnings when running projects with the Compatibility
  rendering method, such as the one about 2D MSAA not being supported.
- Rebake lightmaps in Global Illumination to improve quality and reduce
  light leaking with improvements from 4.3.
  - Increase probe density for dynamic objects, and mark the moving box
    as a dynamic object for GI purposes.

This is done to improve the experience with the web-based demos,
which always run with the Compatibility rendering method.
2025-10-02 10:31:42 -07:00
..
2025-03-21 02:00:41 +01:00
2025-03-21 02:00:41 +01:00
2025-03-21 02:00:41 +01:00
2025-03-21 02:00:41 +01:00

Operating System Testing

This demo showcases various OS-specific features in Godot. It can be used to test Godot while porting it to a new platform or to check for regressions.

In a nutshell, this demo shows how you can get information from the operating system, or interact with the operating system.

Language: GDScript and some C# (a .NET build is not required to run this demo)

Renderer: Compatibility

Check out this demo on the asset library: https://godotengine.org/asset-library/asset/2789

How does it work?

The OS class provides an abstraction layer over the platform-dependent code. OS wraps the most common functionality to communicate with the host operating system, such as the clipboard, video driver, date and time, timers, environment variables, execution of binaries, command line, etc.

The buttons are connected to a node with the actions.gd script, which perform actions using the OS class. The text on the left is filled in using the os_test.gd script, which gathers information about the OS using the OS class.

On a Mono-enabled version of Godot, Godot will load MonoTest.cs into the MonoTest node. Then, information determined by C# preprocessor defines will be added to the left panel.

Screenshots

Top HiDPI

Mono