1.6 Experience with Large Scale Project. Bug Report too

I think Flax 1.6 has the feature set needed to really dig into a real large(r) scale production. Overall though 1.6 has been an excellent experience and very stable. It is not for me to decide what is wrong with Flax. To be honest Flax has been so stable and a pleasure to use since 1.3 even though missing a lot of required features. 1.6 has most of the features we need to make something nice.

No TLDR here. The intent of this is to provide good use feedback so that Flax can be improved with better QC (it is good to be honest but can be much better by crossing T’s and dotting I’s).

Over the past couple of weeks since 1.6 release I have kept details of how the process of building a project is going. I have this exact project already built in UE5.2 currently so it is a great step by step in building the same thing in Flax but with the nice power of CS programming that I love. The Flax GI is amazing! Love Flax! There are some things (a few listed below) that makes it 100% obvious that there was zero attempt at seeing how Flax reacts to a larger project. I know, I just went through this prior to this posting and I am not even close to migrated yet.

I ran into something today that was a real stomach punch. The project went into a limbo state where I could not create nor delete ‘things’. I could still open up material instances that were already created but the material display model was off in how it should look/preview. There were meshes and materials/instances that I created and adding that showed inside the project folder but were not in the content hierarchy. Flax was simply broken and in limbo. Restarting Flax did nothing but the flaxassets were still there. So I simply moved this to a back up and restored the work from Wednesday. Flax opened up the project and worked just fine. So this issue has to be something related like Unity has with how the AssetsCache (Unity’s meta data??). Unlike Unity there is no rebuild everything option then go have a few drinks and cool off. LOL!!!

So in this case I lost a couple days of heavy texture and mesh imports with material/instance setups. That sucked. Makes me leery of Flax because I definitely do not want to go into the development abyss again like in Unity.

This is an apples to apples comparison to both Unity (see below) and UE4 and 5 (current UE5.2.1). I think Flax has to be on a fair comparison here with the emphasis on fair and real.

Data sample used to get a solid idea of how Flax responds to a larger scale project.

  • New 1.6 project built (it was converted from a fresh 1.5 project that was very empty).
  • Texture Imports (all PNG. Most are RGA with some being RGBA). 3,872 for 14.47gb (this is ~30%)
  • Mesh Imports (all FBX. Most are under 10k tris so only LOD0). 1,422 for 1.36gb (~15%)
  • Materials 11, Material Instances ~2,213 (and climbing).
  • Prefabs 0

The main issues (so far) with Flax:

  • The Content Scanner seems to work on 1,000ms intervals and becomes very tedious to deal with the more content that is imported. As the project grows clicking on things and editing them in the content window become more and more tedious requiring multiple clicks to set it to blue and edit. The text name also become almost impossible to copy/change.

  • Green Channel flip of Normal Maps because of Direct3D 10 (dds) does not work (I made a work around in the other topic for 1.6). The display of Normal Maps in this engine are green-ish meaning 1 channel is missing. The format is set as BC5 which matches the double channel standard but is different than other engines. No idea why.

  • Blending Alpha Maps with the LERP does not work.
    Example: Making floor tiles…Color Map (RGB) with a Alpha Texture (RGBA) with the alpha used in the LERP. Works great. Now lets add another Color Map with Alpha Texture then Multiply this with the previous then LERP the results together with a Grout Color Map (RGBA). UE4/5 and Unity both handle this fine since the texture samples in SM5 are less than 17.

  • Texture node and Color node handle color differently. Not sure if this is in the sRGB workings of the Hex Codes but the exact same color from GIMP and in Flax are different. Also when LERP or Multiply the samplers operate differently. Something is wrong with the HLSL code snippets internally. This is a QC issue.

  • When editing materials the drop down arrow starts at the very top of the texture list. This requires manually typing in the prefix to filter enough to pick from the window or arrow down and enter. You can copy the name of the texture then paste it in…in my case I use great naming conventions so I could close to arrow down only a few to select. Dragging the texture to the slots in the material is possible but messes up the content hierarchy by expanding folders making going up/down the list even more tedious with the thin scroll bar. This is one QC/QoL issue that makes it obvious no large project was made in Flax.

I get it. Flax is growing with features (UE4 still is, and UE5 is too…and most everyone knows Unity’s painful growth into limbo feature creep land). Flax is the newer engine that has to prove itself for folks like myself to move over from ‘insert game engine’. Seeing a project grow then watching the engine editor deteriorate is not a great feeling. Especially seeing how good the engine seems to be. Flax has excellent FBX imports (gLTF and DAE has some issues but work) as well as texture support. The materials are very UE4-like with some small adjustments in how Flax handles things.

Apples to Apples:

  • An even larger data set from above is used in UE4 then migrated to UE5 and zero issues. I did have issues when I updated to 4.18 which broke a number of things. Other than that UE4/5 handles heavy loads of meshes and materials and still remains snappy. The engine is still difficult to use but that is why Flax is so entertaining.

  • I can reliably break Unity 2017 and Later by doing what I did to Flax 1.6 over these past couple of weeks. Unity 5.6.7 (I have the Pro license) does not have this issue. What happens is that large meta data changes in Unity messes with its brain. It simply breaks all sorts of things when doing a lot of imports. Unity has a nice tool to rebuild everything which deletes all the meta data and brings it all back together. Some materials need to be fixed after but all in all it works. Takes awhile but at least it can fix itself. Unity 5.6 rarely ever breaks but it is stuck in 2016/17 with the same kludge work arounds that Unity never fixed or broke and never fixed.

Thanks Flax for the great engine experience.
Cheers
Olander

2 Likes

The project with the “limbo” state may be good to send the the flax developers so they can look into that issue. You can reach out to @mafiesto4 to figure out the best way to send it.

Thanks. Thought about that but to what end? ~20gb 7Zip file with all meshes and textures in flaxasset format. Flax should handle this with ease. Again, no code yet. It is how the content is being sorted/realized in the editor from all the Flax Assets. What is there to troubleshoot?

It simply happened by over time mass mesh and texture changes to a project (over 13 days) and watching the editor content hierarchy devolve into becoming increasingly difficult to use over time. This one is a tough swallow and dear reminder of how Unity reacts.

Adding to the above, here are the PC specs.
AMD Ryzen 5 3600, 32gb RAM
RTX 3070
Flax and Flax Project are on SSD. The FBX and PNG files are on a different SSD but on the same PC.

Correct, the engine should handle that much, but you are saying that it doesn’t. So there may be a bug in the code or the code could be optimized or refactored in some places. All things that the devs would be able to look into.

Also did you try deleting the asset cache and letting the engine rebuild it to see if there was something odd happening in the cache?

1 Like

Did not do that. There is no option to do that in the editor as well. I am very leery of simply deleting things behind the scenes in something like the project folder. Only the engine developer knows how everything is connected ‘Under the Hood’.

What I am saying is that over these 13 days I started migrating my source files (just the meshes and textures) to Flax. I had not done this yet because Flax was not ready in feature set. Now that I did it is 100% obvious the Flax Editor (rendering engine seems fine though) has trouble when mass importing assets.

The first week was fine. Some editor lag but was workable. It was the 2nd week that started killing Flax. When making the 3D library scene file and placing each mesh to check materials Flax is fine. It is the editor that is the issue. Flax is cacheing hard and seems to be having troubles with how it does it…over time.

The question one has to ask is:

  • How does Flax work in a real 8hr per day environment?
  • A lot of changes in assets. Some need to be deleted then fixed then imported again and tied to materials.
  • Making collision assets (from reading the manual). Different but good.
  • Make sure to follow the engine required LOD guidelines and set ups (reading the manual).
  • How does Flax work in a team environment with syncing to a work folder (NAS drive). Works well.
  • Did not even get to the skinned meshes and clothing. No idea how Flax will respond. Should be okay??

All of these and more were tested in a hard core 13 day challenge in an apples to apples comparison to UE4/5 (zero issues) and Unity 5.6.7 (Pro license). Not difficult to do the same tasks in each side by side in a clean project to see the differences.

The experience and information gleaned is thusly clear.

Everything in the Cache and Binaries folder you are okay to delete as the editor will rebuild them. Keep in mind that if you delete the entire Cache folder that it will remove items like your editor layout (so you may want to save that layout before deleting the folder). It is usually recommended the delete those folders as a first step when the editor has issues.

Quote: It is usually recommended the delete those folders as a first step when the editor has issues.

And where is this recommended from? Definitely not the manual (unless buried in some obscure place). There is not even a Flax/Editor troubleshooting section in there. If you are going to state a ‘usual recommendation’ please state where that source is. If it is your personal experience, then that is fine but help others learn exactly what is okay to delete based upon Flax Facts. Maybe adding this information to the manual is a great idea. There is very little Flax information out there and these forums have some things but also very sparse.

In any case. Not going to argue about this. I gave Flax an honest go after waiting since 1.3 for Flax to become suitable. I like everything about Flax but my hobby is also my retirement profession. I love real time rendering and need something that I can code in nicely as well as handle a lot of files smoothly. I gave my honest feedback and opinion, so I have done what I need to do.

I guess I will stick with UE5 even though Epic’s C++ is very difficult to work with. The visual scripting (hard on the wrist) does most things so I guess I will stick with working around the things I cannot do until maybe I can hire/contract someone with UE4/5 C++ experience.

Thanks Flax for the experience and also fare well. I wish this engine the best but I cannot sit around waiting any longer.

Cheers

Usual as in often recommended on the discord as a first step. I do agree it may be good to put on the docs somewhere.

FYI I added the functionality of automatically scrolling to the current asset in the asset picker when opened because I also liked that idea. Assuming it is approved, it should make it in the engine. https://github.com/FlaxEngine/FlaxEngine/pull/1265

1 Like

FYI. While travelling for this factory start up programming I decided while driving to stick with Flax. There are simply too many good things I like about the engine. Hopefully some of the Content Manager script being used is optimized better for 1.7.

Note:
I was able to get the project stabilized.

  • I did fully uninstall the Flax 1.6 engine and Flax itself
  • then started importing PNG and FBX again in smaller chunks then letting Flax settle in with the Content Manager doing all the necessary cache it does to load out the content.

It works but I did not push Flax very hard like previous.

I will continue the importing and setting up materials and meshes again when I return in a couple of weeks.

Cheers
Olander

3 Likes

For anyone following this, an update in October 2023.

TLDR…None as usual.

I continue working with Flax in more of an experimental state as prior to this 1.6 version. Adding code (C#) and testing and watching what is happening. This is from being silent here on these forums and working normally (I am mostly retired now) from around mid-August to now…so about 2 more months of working on my hobby and fun and dream in Flax and Blender in a great paring. So many things learned in 2 months here. Also disappointments.

The DDGI lighting is very solid over time and is very predictable/reliable. I tuned in my Genesys Weather system (same as in Unity that I provided for free on the Unity forums) and most of it works fine but functions differently at the foundational level. Was surprising but not unexpected.

I added my AI Packages from Unity (from my NWN1/2 code…think similar to Bethesda’s Radiant AI Packages) and the movement code functions smoothly and predictable. I have not to grips with the NavMesh Manager yet in Flax but am mostly expecting an end result to something like A* Pathfinding algorithms. Not sure yet as well not sure how the NavMesh handles dynamics like spawned objects and the AI can avoid them. I have lots of Spheres and Cubes moving all over the place seeking out locations randomly generated at each stop and they find and go with no issues on static meshes with collision.

The Flax Content Manager continues to be a f$$king pain in the ass…ere…wrist. I am HATING this 1.6 CM and how fragile it is. It sucks to work with even though the Flax UI is spectacular. HOW can the Flax dev(s) NOT F$$KING hot patch this? I am not even acting entitled here either. This UI under the look and feel needs some serious work. Yeah…total bummer.

Now learning this is likely to be pushed back to 1.8 because of the NEEDED polish from the flood of Unity folks to Flax as a great Unity alternative, which it is to be honest.

Even though I really like Flax I think I am simply going to have to push it to the side. Is a game engine perfect? No. I even returned to UE4.27.2 and stopped using UE5.3 because of the stability and the drive purpose of the new engine…Film and Cinema.

Maybe Flax actually takes the 30 day use test to ‘Feel’ how the engine actually ‘feels’ in a day to day work environment in some future version. Who knows. So many gadgets and features being implemented, which is great, but the actual feel of working needs some serious work here.

Some will say…Olander…Flax has source available…ummm sure? So I am going to dig in and learn the Flax source (same argument with UE4/5 source) in a volatile version updating with lots of gadgets and bug fixes in a constant state. If Flax was more of in a stable state with bug fixing but most features implemented then maybe? Maybe if Flax was Open Source I would but it is not. It is Source Available so any changes I invest in are invalid at the end of the day because of all the engine migrations when Flax updates serious engine stuff (like the DDGI or the incoming Cloth or various deep bugs).

At the end of this. I am not going to stick with Flax and spend my time elsewhere.

Thanks for reading and I hope your Flax time experience is rewarding for You.

Cheers and Regards,
Olander

1 Like

Thanks for the feedback. I made a list of various tasks to work on as it’s pretty important to handle any problems you’ve encountered here.

For the upcoming Flax 1.7 we have lots of stability fixes as we’ve been busy working on an engine running on .NET 7 since migration from Mono which resulted in some bugs we needed to prioritize. Also, the performance of 1.7 was significantly improved (eg. 10k rigidbody cubes spawned as falling into the ground).

I wish we did UI improvements for 1.7 but we run out of time for the milestone and we want to release Flax 1.7 soon. But we will work on UI and UI Tools for Flax 1.8 as I moved some feature-heavy tasks (like Wwise Plugin and Video playback) for 1.9. Which means we will have more room to focus solely on Editor usability and performance.

Thanks again for your feedback.

3 Likes

Thanks for the reply.

To be honest after writing the above I have some regrets since Flax does allow everything and more available to recreate/modernize the Aurora/Electron (NWN1 & 2) as well as most of Creation Kit (Skyrim/Fallout 4). UE4.18+ is simply amazing at everything but the actual foundational stuff for dynamic AI and other dynamics. Unity was excellent at this but failed in a lot of other areas. Flax seems to have it both ways…the design is fantastic in function. Polar opposite though to UE4 and Unity 5 is the daily use of Flax.

The coding in VS Code is fantastic and smoother than Irish/Scot butter. lol. Then having to drag around and drop things from the Content Manager is such a f$$cking pain when the project is larger with a lot of assets to drag in. The expanding folders when dragging only having to click them down again because scrolling is out of control. This is normal use stuff that is obvious if using it with say 1,000+ assets in a good organizational workflow.

All of this is very honest opinion on actually using Flax to rebuild what I already have in UE4 (struggling hard with the dynamic things…like the Bethesda-like Radiant AI or my NWN1 dyamic things). Unity handles that part but was collapsing under the weight of a 60gb+ asset structure. Flax does it all right now…even the painful animation retargeting. Amazing.

In light of the previous post, there is no drama nor bitterness here. Flax is ‘Too Good To Be True’ and I feel it, only to be smacked in the face…ere…wrist by a terrible/painful CM.

I decided this morning that I would stick with Flax and see what hails with your future updates. 1.6 has most of everything except Cloth that is needed and even that i can work around it with good skinning. Looks fine. For performance the Cloth would be restricted to certain things in any case (even UE4 cloth is very expensive in rendering…looks and works great though! lol).

Thanks again for the reply and leading an almost perfect engine foundation.

Cheers
Olander/Don

2 Likes

Last reply to this posting for me unless further questions are asked.

Even though the Content Manager is still ‘mostly’ a pain for large scale imports the rest of Flax 1.7.6 (latest) continues to work incredibly well. I am enjoying this engine and has given me the freedom to implement a lot of things I was having serious trouble doing in UE4/5 without a lot of the hack work arounds that I had to solve in Unity.

I have retrained myself to segment out the large imports. Yeah, was not that easy to retrain. :smiley: and also on this note I have not had any project issues either when downsizing the Content Manager load regarding imports.

Once imported Flax seems to handle a huge number of assets decently well. There is still the 1000ms pulsing but simply being patient when doing renaming works. My hope is 1.8 solves this but as long as it stays like this or better is fine.

In any case, thanks for taking the time and enjoy your Flax time as much as I have.

Cheers
O