Integrations#
The tools and file formats Plush works with, and the third-party components used by the editor and player.
Tools and formats#
Git#
The editor includes changes and diffs, staging, commits, branches, history, remote operations and conflict resolution. Version control is part of the editor workflow; exported games run independently of Git.
GLB models#
Plush imports 3D models in the binary glTF format (.glb). Models from external authoring tools enter the project through asset import, which reports unsupported content. Objects can also be exported as GLB.
C# and .NET#
Gameplay scripts use C# and the PlushEngine API. The engine and editor are built on .NET.
Python#
The editor bundles CPython for project authoring through plupy. Python scripts can create and edit scenes, objects and assets, including through headless authoring commands. Python is an authoring tool; game logic runs in C#.
Engine components#
Plush uses the following third-party technologies as part of its implementation.
| Component | Role in Plush |
|---|---|
| Avalonia | Desktop editor interface |
| Vulkan and MoltenVK | Graphics rendering, with MoltenVK providing the Vulkan implementation on macOS |
| Slang | Shader language and compilation |
| Jolt Physics | 3D physics |
| Box2D | 2D physics, through Box2D.NET |
The third-party licences list distributed components and provide the full notices for the editor and exported games.