/pyunity

A pure Python 3D Game Engine that was inspired by the structure of the Unity Game Engine

Primary LanguagePythonMIT LicenseMIT

PyUnity

Documentation Status License PyPI version Python version Downloads Language grade: Python Total alerts Build status Testing Codecov Discord Gitter GitHub Repo stars

Version 0.9.0 (in development)

PyUnity is a pure Python 3D Game Engine that was inspired by the structure of the Unity Game Engine. It aims to be as close as possible to Unity itself. This does not mean that PyUnity are bindings for the UnityEngine. However, this project has been made to facilitate any programmer, beginner or advanced, novice or veteran.

Disclaimer

As we have said above, this is not a set of bindings for the UnityEngine, but a pure Python library to aid in making 3D games in Python.

Installing

To install PyUnity for Linux distributions based on Ubuntu or Debian, use:

> pip3 install pyunity

To install PyUnity for other operating systems, use:

> pip install pyunity

Alternatively, you can clone the repository to build the package from source. The latest stable version is on the master branch and you can build as follows:

> git clone https://github.com/pyunity/pyunity
> git checkout master
> pip install .

The latest unstable version is on the develop branch which is the default branch. These builds are sometimes broken, so use at your own risk.

> git clone https://github.com/pyunity/pyunity
> pip install .

Its only dependencies are PyOpenGL, PySDL2, Pillow and PyGLM. Microsoft Visual C++ Build Tools are required on Windows for building yourself, but it can be disabled by setting the cython environment variable to 0, at the cost of being less optimized. GLFW can be optionally installed if you would like to use the GLFW window provider.

Links

For more information check out the API documentation. There we offer some tutorials on the basics of PyUnity, as well as all modules and utility functions that come with it. Examples are located at subfolders in pyunity/examples so do be sure to check them out as a starting point.

If you would like to contribute, please first see the contributing guidelines, check out the latest issues and then make a pull request.