Skip to content

Latest commit

 

History

History
88 lines (58 loc) · 3.82 KB

File metadata and controls

88 lines (58 loc) · 3.82 KB

Flax for Godot developers

Godot to Flax

Flax and Godot have many similarities and share many concepts, however, there are a few differences. This page helps Godot Engine developers to translate their existing Godot experience into the world of Flax Engine.

Warning

Warning! You will love the direction and development speed of this engine.

Editor

Flax Editor and Godot Editor are very similar. You can see the color-coded, highlighted areas on screenshots of both editors that have common functionalities. Flax Editor layout is also highly customizable so you can drag and drop windows around to adapt the editor to your workflow.

Godot Editor

Flax Editor

Tip

Flax is working on providing large 3D worlds with great performance.

Terminology

This section contains the most common terms used in Godot and their Flax equivalents (or rough equivalents). Flax keywords link directly to more in-depth information inside the documentation.

Godot Flax
Node Actor
Script Script
Scene Scene Window
Inspector Properties Window
FileSystem Content Window

Project

Flax Project

Flax projects structure is well standardized and contains: Cache folder (similar to .import folder in Godot), Content folder and Source folder. All game assets are in Content directory, while all scripts are in Source directory. So there is less mess with assets and scripts.

Flax also generates a solution and project files for your game C# scripts.

See Flax projects structure page to learn more about the projects in Flax Engine.

Assets

Flax uses two types of asset types: binary files (with .flax extension) and other text files (mostly in JSON format like scenes, prefabs, etc.). When you import model or texture it gets processed and converted into binary representation used by the engine at runtime that is well optimized for scalability and streaming. Flax doesn't use .import files like Godot.

Flax supports the most popular asset files formats (for 3D models and textures) so you can import your game content.

See Assets page to learn more about importing and using game assets.

Node vs Actor

Flax uses a similar concept to describe the scene contents. Instead of using Nodes we use Actors. Each Actor has its own type (e.g. point light, box collider) and a collection of attached scripts.

In Flax, Scene object is also an Actor so you can access it like any other Actor. This means that Scenes can have their own scripts and be transformed like other objects.

If you want to create multiple instances of compound object you can use Prefabs that can be used for instancing game objects.

Scripting

Tip

Scripting in C# and C++ is feature-complete and production-ready in Flax (compared to Godot). Also, Visual Scripting offers far more tools and features.

When it comes to game scripting, Flax supports Visual, C# and C++ scripts (similar to Godot). The are some differences in C# API. In fact, the whole C# API is an open-source project and can be found here. All contributions are welcome.

  • Godot
public class MyScript : Node
{
    public override void _Ready()
    {
        GD.print("It is Godot!");
    }
}
  • Flax
public class MyScript : Script
{
	public override void OnStart()
	{
		Debug.Log("It is Flax!");
	}
}

See Scripting documentation to learn more about C# scripts in Flax.