My experience with Flax compared with other engines

I’ve had Flax downloaded on my computer for quite a few months now, since the 1.1 release, and I will be giving my honest experience of using it compared with other engines. This may help you decide if you should use Flax, but it is primarily my opinion.

The first thing I noticed when starting up the Flax Launcher is how much I immediately liked it! Things such as the 3D logo on the login screen and the little jokes you get every time you launch the editor are just small pieces of detail that immediately brighten your mood.

The Launcher as a whole is so nice. Not too simple, like Godot’s, and not too complicated, like Unity’s. You have quick access to the documentation, the editors you have installed, and your projects. It’s such a clean interface! This is how you do a launcher.

The editor follows this pattern without fail. It feels totally new and very familiar at the same time. Looking beyond all practical uses, the editor has such nice colors and icons. It feels like we took the best of the Visual Studio UI and Unity’s UI and mashed them together into Flax’s UI. And that is not a bad thing in any way. But, under the hood, Flax’s actual UX is almost like Unity’s. There’s not too much to say regarding how it functions.

The first thing you might notice that Flax does different is how it handles entities. In engines such as Unity and Unreal, you add components to build behaviors in entities. In Flax, you have “Actors”, which are like GameObjects with built-in components that are attached to itself.

For instance, if you want a light in your scene, you can’t take a RigidBody and decide to add a light component to it. You add a light Actor. If you’re from Godot land, this kind of object is very similar to what you’re used to, with Nodes. Actors and Nodes are more like components themselves than GameObjects.

Coming from Godot myself, I had no trouble adapting to this type of workflow. In terms of which is better, that is a matter of opinion. I don’t believe one is better than the other in terms of how games work, but you may prefer one over the other.

Now let’s talk about scripting. Flax has 3 options: C#, C++, and Visual Scripting. Compared to other engines, this is a good number of options. In Unity, we have C# and Visual Script (previously Bolt). Godot is a little bit different, though, because it does come with C# support. Although, that’s if you get the Mono version of the engine. By default, it comes with 2 options: GDScript and VisualScript.

Flax’s scripting API is more like Unity’s than Godot’s. In fact, if you are at least a little familiar with Unity’s scripting, you’ll feel right at home with Flax. But even if you’ve used C# with Godot, you’ll probably have a harder time switching.

Another difference between Flax and Unity/Godot is how they handle their file systems. In Unity/Godot, you have a single root folder in which all files (e.g. assets, scripts) can be stored in. Of course, sub-folders are allowed.

In Flax, you have 2 root folders, Content and Source. All your assets, such as scenes, materials, and prefabs, go in the content folder or one of its subfolders. And all your code goes in the Source folder. Flax claims this is done to make “less mess with assets and scripts”, but on bigger projects, I like to store scripts mixed in with assets because it’s less of a mess to deal with when you could have your assets in one place, and your scripts in a whole other. But this isn’t exactly a deal breaker.

Other than that, there isn’t too much of a difference in how you’ll be making games. Just some minor UX changes. One thing I think should be added is a quick way to toggle visibility in the scene window, like Unity and Godot.

Another thing that the engine doesn’t make apparent is its ability to use occlusion culling. I’m not sure if this engine has occlusion culling or not. And the way it’s positioning itself as a AAA ready engine, I feel like that kind of feature should be apparent.

There are also some minor bugs in the editor, along with some bad UI, such as the animation curve editor. But the developers are hard at work fixing these things. They just take time.

The editor and Launcher are also very lightweight. They take up just small amounts of storage. I have a pretty good computer, but it being a laptop where expandable storage isn’t exactly an easy thing, I greatly appreciate the size of the engine.

Overall, the engine feels very mature on the hood. Beneath the surface, there are some rough edges, but nothing of a deal breaking sort. But until we hear more about culling in this engine, I’d wait before making a AAA game.

So should you use Flax Engine? It’s mostly a matter of opinion. But I say that if you can deal with the bugs and the minor UX issues before they’re ironed out, give it a go. It’ll decently surprise you. If you’re new to game development, Flax may not be the best choice for you at the moment because of the lack of content. (Unless you love reading through documentation). Just stick with whatever you’re already learning before giving Flax a whirl.

If you’ve read this far, I thank you. I hope this helped you to decide if you should use Flax yourself. Remember, what I like about this engine, you may not like, and vice versa. It’s a matter of opinion. But you’ll never know if you don’t try it. So, if you haven’t already, go try it!

Related links: I Made My First Complete Game With Flax Engine