<aside> <img src="https://prod-files-secure.s3.us-west-2.amazonaws.com/552b3581-541d-47e7-b981-e39146f1e344/c46b0fe9-0db7-4ed6-986c-709211a2a7e9/icons2.png" alt="https://prod-files-secure.s3.us-west-2.amazonaws.com/552b3581-541d-47e7-b981-e39146f1e344/c46b0fe9-0db7-4ed6-986c-709211a2a7e9/icons2.png" width="40px" /> https://github.com/sweatersjpg/umgl
</aside>
UMGL is a library for rendering 2D sprites onto a 3D plane
The primary use of this project is creating virtual screens in a 3D game — In particular: creating virtual game devices with a single-script game running on it’s virtual screen.
All of this, without the hassle of setting up a second camera and having to hide a whole 2D game somewhere in the 3D environment.
Starting a new mini game for a screen is straight forward:
MiniGame
instead of MonoBehaviour
NewGame()
, Title()
, and Draw()
class NewMiniGame : MiniGame
{
public override void Title()
{
// title screen loop
}
public override void NewGame()
{
// runs once when transitioning from Title to Draw
}
public override void Draw()
{
// game loop
}
}
MiniGame is an abstract class that handles button inputs and game states.