FUG is a game engine driven by data-oriented design approach. For defining game objects, instead of traditional OOP inheritance hierarchies a component-entity system (ECS) is used. In its core FUG defines a number of interfaces implemented as singleton objects such as Scene, EventManager and ResourceManager.