A library for game automation.
Unium is an automation library for unity projects.
It provides a remote API intended for tools and automated testing.
There are two parts:
- A web server that is embedded into the game
- A query language that lets you search and manipulate the scene graph
This provides a flexible interface so you can remotely control and inspect your game as it runs.
For the tutorial
- Clone the unium repository
- Open the Tutorial scene in the editor
- Hit play
Your default browser should open automatically.
The tutorial is best experienced with the editor and browser side-by-side.
Documentation can be found in unium.pdf.
To add unium to your project.
- Add the Unium library to your project (either import a release package or copy the
Assets/Unium
directory) - Add the
UniumComponent
to an empty game object in your scene - Enjoy
NB: Remember to enable the development build
flag if you are making builds (unium is disabled for release by default).
The Unium API facilitates automated tests but is not a testing framework. Below are a number of popular frameworks that have been used with Unium.
- Mocha and Chai - JavaScript
- Jest - JavaScript
- PyTest - Python
- RSpec - Ruby
- SpecFlow - C#
- JUnit - Java
Examples can be found in the Extras folder.
- Compatible with Unity 2017.4.30 and up
- The aim to is to keep it compatible with the lowest LTS version officially supported by Unity
You should not have to modify you game in any way in order to automate it.
It should fit with game developer ways of working.
The intended audience is game developers first and technical testers second. It should not compromise their experience with other considerations.
You should be able to write your automation and test scripts in any language or framework you choose. Unium should come with no dependencies or stipulations.
Both in spirit and practice.