MegaSplat disappointment

Introduction

I have spent the last 4 days trying my best to use MegaSplat in my project and I have given up when I realized the huge trade off this technology is asking. What is making me upset is that the author is carefully hiding these problems trying to sell his product has a miracle terrain shader that can handle 256 textures faster than Unity.

Plus he is adding like a carpet seller a lot of bonuses, like puddles, tessellation, node texturing, procedural texturing, conversion from Unity terrain and blah blah blah.

I have been caught in the lies, to the point to purchase the product, having played in the neat sandbox where Jason Booth carefully avoid to show the real problems with his asset, and sell you his miracle product.

That’s when I decided to use it in my game. I have 4 terrains to convert, and after that, I think that I will have 256 textures possible, being able to save a lot of objects by adding detailed textures around the houses, having nice path, many type of vegetation instead of one grass texture for all the terrain for example!

I even congratulated Jason for his hard work. True, the asset is by itself quite an achievement technically.

Well now I will list you the real problems and will get into details of what made me really angry to the point to ask for a refund (which was denied, even after he acknowledged of the misleading behind his technique, that almost nobody can truly understand).

  • First you will never be able to convert an Unity Terrain into a MegaSplat terrain, at least not with accuracy and not without fixing the converter by yourself. No comments into the source code, so good luck with that. The product description say otherwise, but for me, conversion sucks (check the specific section)!
  • There are plenty of bugs, the product was literally not working at first because I had too many objects on screen, Jason acknowledged the bugs, but that’s me who sent him the code to fix them. At least 2 major bugs were in the scripts and had to be fixed so that I could start using the product in my environment.
  • There are still at least 5 major bugs I have found later and which are not fixed. Version 1.08 will fix the ones I have submitted though.
  • The most important problem, is that the way he store the map does not allows more than 1 texture on screen in the same brush… that an inner trade off from the technique he is using. Everything on screen is 1 texture, faded with the adjacent ones no mix between more than one other texture. In the Unity terrain system you can have all splats (4 of them for one terrain display) simultaneously on any place mixed in any ways. Which allows grass to be on the top of rocks with a little bit of stone and sand on the same patch. This is not possible with the Megasplat system. This is HUGE, and is one of the reason Megasplat cannot correctly translate an Unity Terrain, even if you fix the Unity’s converter’s bugs.
  • All the texture tools procedural and node creation are only working on terrain mesh. The description is vague enough to let you think that they are working on both. They are not.
  • So basically, if you want to paint a terrain, you have only his tools, and not other conversion system will give you an acceptable result. Drawing terrains by hands is not convenient specially if you want to have specific grass on specific textures: this is impossible.
  • Many features are not working or disabled. You can check in the code, you have a slider for the in individual UV per textures, but in the shaders it translates by something like halft3 uv=half3(1.0,1.0,1.0);
  • Creating a texture is the worse scenario that you can imagine. Think about it, you need to use something like Lab map or Bitmap2Material to generate bump, ao, normal, albedo, metallic and glossiness, pack that in different texture channels with Photoshop. That’s for 1 texture and if the color, or the brightness is not right, do it again!
  • It is not that quick, all my tests show that Megasplat with no options, is running at the same speed as Unity terrain with 4 textures. If you add Tessellation even at the lowest level, you run half the speed of the Unity Terrain.

So do you really want to have 256 textures on your terrain, but give up having several textures juxtaposition, easy drag and drop rgb textures and their normal maps without texture packing, reliable Unity Terrain that are not crashing all the time on any platform?

Think twice.

Now I will detail the journey of dealing with Jason Booth, who is the coolest guy in the world but is totally helpless.

Communication

While Jason is nice and always polite, in fact he don’t give a *hit of what you say. In the 100 or so emails we exchanged, I have sent him videos, and a repro project. I could have throw them through the window that would have been the same. Most of the time any precise question like “why are you dividing by 512” are not answered or answered with some techies garbage like “That’s because you have set the scale range to 1 1, meaning the UV scale option scales the UVs from 1 to 1, so no scaling. Try changing it to 0.5 2, and the slider will scale from twice the size to half the size…”

Well ok, it will not change the fact that the UV scale is = to half3(1,1,1) in the shader code, so maybe he is thinking that users are all script kiddies that can purchase his product without testing them in a real situation and that is fine? Maybe it is a bug after all, not all customers are stupid!

So nice guy, a bit like the ones at Wall Mart.

MegaSplat unresponsive in my project

Starting is not good, both the Terrain Painter and the Shader itself are running so slow that I cannot use them. Answer from Jason “not possible, never happened”. Then “Do you have a shit ton of objects selected by chance? Like thousands?”

Yes, of course, it is not a kinder garden sandbox, it is a real project. But that was new to Megasplat, 6 months after its first release.

You can see how slow it was.

I found that the shader was compiling every frame (version 1.06) How comes that nobody notice this? Are people who are buying his stuff not using it? This piece of code had to be removed. (else {… })

Now the terrain painter was slow like hell too. Something was taking 80000+ calls per frames!

The problem was  Object[] objs = Selection.GetFiltered(typeof(Terrain), SelectionMode.Editable | SelectionMode.OnlyUserModifiable | SelectionMode.Deep);

Called every frame! Talk about optimization!

Then more bugs, what happen to these texture previews? “Don’t know it should not happen.” Ok fine, but it is not productive when drawing blindly with textures that are all looking the same and named with numbers.

Then the textures were very dark… Answer from Jason, “it is because you are in Linear mode” and my textures are not in linear mode? Hu? Unity terrain is fine with that, so why Megasplat is not? Can’t he add some brightness global control to fix that rather than re-calculate all the picture channels? So if you are in Linear more, enjoy more problem on your way. If you are only designer and not a programmer, throw yourself out of the windows, it is not the end of it!

Then more problems, no textures can be mixed on the screen in a single patch, like I said before. The system support fading between 2 textures on one patch. Sounds like Russian language? Check the picture, you can see that on one patch if you want to add more than 2 textures, then you will get a line between them. So forget drawing small path, adding some details on the top of your textures, it is just impossible by design, but of course you realize this when you are using the product for real! When you play with it in the demo sandbox, you do not notice these problems, and they are not written anywhere.

There are more problems, so when you are using MegaSplat you have your texture garbage all dark with the wrong look, and you are drawing patches of texture in the way Megasplat decide for you, not in the way you want. Which is something you would like to experiment before buying, for me this total lack of control when you have more than 3 texture on a patch is something that I cannot use in my game. You can have 1 million texture on a terrain, if you are limited at 2 per patch, then what is the point of it!

Speed

It is true that MegaSplat is fast, but of course if you read the trade off listed before now you understand why, there is no miracle to that. Here are 2 screens the left is with a triplanar Unity shader (triplanar is already quite slow, 3x slower than regular Unity), and at the right is Megasplat with Tesselation and no triplanar. You can see that Unity terrain is doing 19 FPS and Megasplat 11 FPS. The number of draw call is similar with 2 drawcalls less for Megasplat our of 7790! So where is the real speed? Once again, carpet selling technique, there is no speed difference, because it is just 2 different techniques that have both their pro and cons and therefore, their speed is similar.

Non fixed issues because I got tired of it.

I gave up because I have a game to do and it drained me too much energy for nothing. No thanks from the author, I fixed the problems, nor him. I never had the feeling that he will investigate something or just care about it. I think that he must be accustomed, I am probably not the first to complain.

If your terrain is too small, then MegaSplat doesn’t cares and does some weird things like this. His internal map is 512×512, if yours is smaller, you will see the patches and the problem of this technique, each patch is showing at the screen and you can see the fade between the 2 patches, that all you can do with Megasplat. When the splat are 10x smaller you won’t notice how it works, but the limitations are still here.

Some texture specific features are not working, I talk about it previously, so here is the proof of it. No answer from the author, apparently other buyers are happy about it. Maybe I am dead wrong, but the Texture setting Editor 1) Scale Range is global, not local, and UV scale is doing nothing to the textures individually.

Another non working feature video, enjoy!

And the best is for the end, the conversion from Unity Terrain to Megasplat that is working as per the product description. I have sent several video to Jason, not sure if he cares about it since “hundred of customers are not complaining”. I must be the only one to test this product in a real situation.

This video shows the whole conversion process and compare with my Triplanar Unity terrain shader. I think the result is laughable but I let you judge.

Here is the conversion result.

 

Conclusion

I will not use Megasplat with WOK, but that’s a serious disappointment, specially because I have purchased $50 this asset and when I asked for a well deserved refund, see the work I have done so far and the lack of cooperation from the author in order to fix obvious problems here is Jason Booth answer: “Like nearly every asset store dev; I don’t do refunds. There is no way for me to verify the removal of my software. I have hundreds of happy customers using the terrain converter, and the node graph works on terrains and is also explicitly marked as being an experimental feature which is not finished. ”

That’s fine, imagine that all companies think like this and plus do not give any demo, you can translate that with clothes, shoes, food etc…

I have no hate, I have not written this page with vengeance in mind, but I think that people must know before they buy this misleading product and specially about the serious trade off from this technique. There is no miracle, what you gain on one side, you loose it on another side. For me, control is essential, I cannot use this product.

 

 

Author Wolf Wolf
Published
Views 10566

Comments (5)

  • TWickz
    May 14, 2017 at 5:42 pm
    Hi, Read this entire review and I am appalled. I've used megasplat to a certain extent but didn't believe it'd be this messed up down the line. Curiously, what terrain shader did you end up using ? I bought RTP recently because I too couldn't get very far the way I wanted with Megasplat.
  • Mburtha
    August 19, 2017 at 7:51 am
    Hmm. Glad I read this. I was actually ready to purchase MegaSplat, but I might just hold off for now. What system is your game for? Mobil? PC?
  • David Lieder
    January 10, 2019 at 6:11 am
    I use these products and first of all, you are blatantly confusing Microsplat and Megasplat. You obviously still don't know the complete difference. I really wanted to take you seriously, but this article shows you have no clue what you are doing. Microsplat is for terrains and it works great. Megasplat is for meshes. You should have focused on Microsplat and you would have been fine.
  • David Lieder
    January 10, 2019 at 6:13 am
    Besides that, Jason was speaking about "linear" mode of the editor, not your textures. Again, you should not blame other people for your own ignorance of the Unity engine.
  • Frits
    September 3, 2019 at 6:08 pm
    I Agree, We spent several weeks but in the end we conclude that it's pure shit. Too buggy

Comments are closed.