Plush

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.

ComponentRole in Plush
AvaloniaDesktop editor interface
Vulkan and MoltenVKGraphics rendering, with MoltenVK providing the Vulkan implementation on macOS
SlangShader language and compilation
Jolt Physics3D physics
Box2D2D physics, through Box2D.NET

The third-party licences list distributed components and provide the full notices for the editor and exported games.