README.md
1# Operating System Testing
2
3This demo showcases various OS-specific features in Godot.
4It can be used to test Godot while porting it to a
5new platform or to check for regressions.
6
7In a nutshell, this demo shows how you can get information from the
8operating system, or interact with the operating system.
9
10Language: GDScript and some [C#](https://docs.godotengine.org/en/latest/getting_started/scripting/c_sharp/index.html)
11(Mono is NOT required to run this demo)
12
13Renderer: GLES 2
14
15## How does it work?
16
17The [`OS`](https://docs.godotengine.org/en/latest/classes/class_os.html)
18class provides an abstraction layer over the platform-dependent code.
19OS wraps the most common functionality to communicate with the host
20operating system, such as the clipboard, video driver, date and time,
21timers, environment variables, execution of binaries, command line, etc.
22
23The buttons are connected to a node with the `actions.gd` script, which
24perform actions using the OS class.
25The text on the left is filled in using the `os_test.gd` script,
26which gathers information about the OS using the OS class.
27
28On a Mono-enabled version of Godot, Godot will load `MonoTest.cs` into
29the `MonoTest` node. Then, information determined by
30[`C# preprocessor defines`](https://docs.godotengine.org/en/latest/getting_started/scripting/c_sharp/c_sharp_features.html#preprocessor-defines)
31will be added to the left panel.
32
33## Screenshots
34
35![Top HiDPI](screenshots/top-hidpi.png)
36
37![Mono](screenshots/mono.png)
38