I'm happy to announce that Fyrox 0.25 has been released! This release adds static plugins and scripting support, improves prefab property inheritance, adds animation blending state machine, integrates sound entities to the scene graph.
The engine now supports statically-linked plugins, this means that you can extend engine functionality and share your work with other developers. The main use of plugins is to change how games should be built with the engine. Before 0.25 the engine was mainly used as framework backed by the scene editor. Now the situation has changed, now it is possible to run your game in the editor, like in many other mainstream engine such as Unreal Engine, Unity, Godot, etc.
To demonstrate new feature, the engine has scripting (opens new window) example. The example is a workspace that contains three projects: game, editor, executor. The game project's name says for itself - it is the game code itself that has implementation of Plugin trait and a bunch of scripts. The last two projects are special. editor is an editor that has game attached as a plugin - it linked statically to the editor and allows you to run your game in the editor, tweak properties of your game objects, etc. executor is a "runner" of your game that is intended to be used when you want your game to be run standalone.
The structure of the project is pretty straightforward and clean, editor and executor has very little amount of code. The executor is just creates Executor instance and attaches your game as a plugin: