Hey everyone, Grzegorz Baran here.
In this video I want to share some research I did about PBR bakers in my photogrammetry workflow. Basically I picked 4 different BAKERS and processed the same set of data with each to compare overall usability, functionality, performance, options they offer but also what is the most important the quality of generated texture sets. Knowing what each of them offers allows me to consciously choose the one that best suits my job. Especially that I believe there is no 'the best' or 'the only one' tool to do the job and each one has its own pros and cons but whats the most important, each is in constant change. In details I presented full baking workflow with the Substance Designer in version 1.1.3 XNormal in version 3.19.3 KNALD in 1.2.1 and Marmoset Toolbag 3 in its 3.08 release. Bare in mind that each of these isn't just the baker but offers some additional functionality which can be very useful in texture creation. As baking strongly depends on the hardware use, you should know that for this test I used
a PC with 64 bits Windows 10 installed with the i-7 processor running on 4, 4.2GHz cores equipped with the 64GB of RAM As a graphics card I used Nvidia GeForce GTX 1080 Ti with the additional 11GB of DDR5 RAM. As a subject for this comparison I picked a quite tricky, complex from the height point of view surface and turned it into a 3D model using photogrammetry technique. It was a coastal beach surface covered with different rocks of different type and size. Since I wanted to cover just 180 by 180 cm area for the texture I marked the area with rulers and captured it taking 338 images. Next I processed them with the photoediting software to remove shadows and make sure colors are physically correct Finally I processed these images in Agisoft Metashape and generated a 37 million poly heavy 3D mesh. This mesh is going to be used as our HIGHPOLY model to present basic functionality and workflow of the each baker. Since mesh wasn't to dense I decided to carry albedo information using additional texture and I generated a 16k large albedo map.
As a backup I also stored color information in vertices. Next I exported the highpoly mesh as an FBX file and the texture as 16 bits TIF bitmap. With the ZBrush I created a low poly model that can be used to transfer high poly information into the set of textures. I used reconstructed rulers as a scale reference to estimate the low poly model coverage and aligned it to match the scanned terrain level beneath the rocks.
Just to give a rough explanation to those who arent sure about the baking process. The baking is the process to transfer 3 dimensional information, usually carried by the high poly model into set of 2D PBR textures. To do it we need to create a low poly model, which is a baking canvas to be used for the data projection. This lowpoly model should align with the high poly model in 3D space.
Everything what is above this plane will be considered as a convex, and everything below as a concave. This is why we should position the low poly plane the way it follows the main surface shape but doesn't follow at the same time any medium or micro height details. This way we ara going to avoid crossurface gradient when one side of the texture is completely at a different height than the other.
Next we need to define the projection range. Some bakers calculate it totally automatically, some handle everything within a given range by itself but for some the projection distance has to be set fully manually. Basically anything outside of this range won't be taken into consideration during the high poly projection. If the projection distance is to short, the baker can clip everything what wasn't included in the projection area.
If the distance is too wide tho, we can include random things, or parts of different models in a scene which were not part of the reconstruction or in some cases loose reconstruction accuracy by not filling the full available dynamic range. So at this stage we should have 3 key things needed to proceed with the actual baking
a highpoly mesh which is going to be used as a
source of all height data a low poly model which is going to be used as a canvas for high poly data projection
and a 16k large 16 bits TIF texture, used to carry albedo information. With these 3 files we can proceed to the baking stage. Let's pick the Substance Designer as the first baker to play with As I mentioned the Substance Designer isn't just a baker but entire advanced node based system to play with PBR materials. We can get it as a part of entire substance package for 220$ per year in annual subscription but unfortunately when the year is over we need to pay it again or we lose access to this tool.
There is also another way, if we purchase Substance Designer on Steam, currently for 120£, I guess its about 150$. So this way we can get a perpetual license with the all software updates until the end of the year of it's purchase
and keep using the last available for us version forever if we decide that we don't want to extend the payment for another year.
It means that we can use its baker as long as we want even without paying for it when the year is over. To get access to the baker lets open a new scene and bring low poly model. and activate the baker window
Next lets setup the baker
First we need to select the high poly source
model to bake from
next lets set the textures resolution to 4k. Let's save it as 16bits PNG. Let's set the Anti Aliasing Super Sampling to 4 by 4. Add textures we want to be baked to the bakers render list Let's keep the baker parameters for Ambient Occlusion as default. Let's keep the Normal Orientation as a DirectX. It can be changed to OpenGL later if needed simply by inverting the green normal map channel.
Next lets add the source for albedo information We can bring color from vertices using color map from mesh option, but to be totally independent to the mesh density lets pick 'Transferred Texture from mesh' instead. This way we can select our texture used to carry color information to be used as an albedo source for baking. Next lets set the output path and the output texture name lets set the distance range which is going to be considered for baking. 0.1 means that the distance is a 10% of the overall low poly model size. So by setting it to 0.1 we cover 10% up and 10% down for the projection range which should be totally enough for this one. If for some reason we need to get a longer distance, we can set this value even higher by typing it manually.
lets keep everything else as it is and start the baking process.
Let's speed the video up a bit as this part of the process takes some time. At this stage the baker has to load our high poly model and start baking textures. It took substance 2 minutes to load this high poly mesh. 15 minutes to bake the ambient occlusion map. 40 seconds to generate the height map
15 seconds to get a normal map and 40 seconds to bake the Albedo map The process can be faster if we have an RTX card or when we just activate the GPU acceleration in Preferences but this way we limit the mesh size we can process as it has to fit the video memory. Anyway, if we skip setting part, it took 17 minutes to process the data by Substance Designer baker and return 4 high quality 16 bits 4k PBR textures which is a pretty decent score. With the GPU acceleration turned ON it would take just 6 minutes Now let's do the same with the XNormal XNormal is a standalone baker which can be downloaded by anyone totally for free.
It's pretty old as was developed in 2005 when people were using Pentium 4 machines and was one of the first apps to even use multi-core support. It runs in its own unique and fancy window and as you will see still can do pretty decent job. Same as before we need to select the high poly source we are going to bake from Add the texture we use to carry color
information to the high poly tab. Next we need to select a low poly model to be used as our baking canvas In Baking options tab we have to select the output path, texture resolution, anti-aliasing, renderer, and set of PBR textures we want to bake.
I have found that XNormal somehow doesn't export 16 bits PNGs and exports them as 8bits, so if you want to store data in 16 bits I would suggest to select a different format like TIFF. Since we want Normal to be baked in DirectX orientation lets set -Y for Y coordinates. Add a height map, Base texture to bake albedo and finally the Ambient Occlusion map. Since it takes really a lot of time to bake Ambient Occlusion map with the XNormal we can consider to bake it separately using CUDA renderer as the current version of XNormal supports CUDA rendering for the Normal and the Ambient Occlusion map. But since somehow the CUDA rendering doesn't work for me let's stick to the current setting. The next thing we need to do is to define the projection range. XNormal has a tool called Ray Distance Calculator which handles that for us.
We just need to bring its window from the TOOLS section and turn it on by hitting the GO button. Next XNormal has to load meshes into the memory and calculate projection distance to cover entire high poly model. the actual calculation starts when it starts counting seconds. It is usually worth to wait about 20 to 25 secsonds when it starts and just stop it when the numbers marking distance stop changing. but with more complex meshes like this one it is worth to wait even longer. This way we can be sure we wont get any data clamping like this one in here but even if we get this, we can still adjust the distances manually after we stop the calculation we need to apply the results to the low poly mesh setting by hitting 'Copy Results' button and we can close the window. Now when we run the baker its going to use these values. If we are not happy with these distances we can just jump to the Low Definition Meshes section and change them manually to whatever works for us. So lets hit the Generate Maps button to start the baking process. First the baker loads meshes and the texture what usually takes some time and when done starts actual baking process. It took about a minute
It took 2 minutes to to generate a normal map. 2 minutes to calculate a height map.
When calculated XNormal opens a separate tone mapper window where we need to set the minimum and maximum range for the height so we don't get any height clipping. Lets increase them both to the maximum values and close the tone mapper window and let XNormal to complete the height generation. The next map to be baked is an Ambient Occlusion map. In theory we can use the CUDA renderer to speed up Ambient Occlusion and Normal map baking but it doesn't work for me.
As far as I know a new version of XNormal is going to get fully functional CUDA renderer for all maps which is going to speed up any baking significantly but since to do this the baker needs to be totally rewritten I guess it might take really long time to happen.
So in this case, it took full 2 hours to generate the ambient occlusion map in 4k resolution. The last texture to be generated is the Albedo map. This one took another 3 minutes to be calculated.
And the baking is done. Within 2 hours and 10 minutes of processing time we have another high quality PBR texture set ready for comparison. Now lets move to another baking software and repeat the entire process. This time lets proceed with the KNALD. Knald isn't just a baker but also an Image to PBR system with the baker being a big part of it.
By paying 100$ for the standard freelance license we get the perpetual license with future updates. So there is no any time limit to use the software which is a really good thing. Lets turn it on and proceed with the standard procedure. To start baking we need to bring the baker. When added it appears in here. Next we need to bring our high poly source model
and a low poly one to be used as a baking canvas. Next lets bring maps we wanna bake,
a height map, a normal map, lets flip the Y in normal map so it works in DirectX setup An ambient occlusion map
and finally the albedo map. Unfortunately KNALD in version 1.2.1 doesn't offer the last option and we are not able to bake from the texture used to carry color information. As you remember during the reconstruction I also filled vertices with color and since the only option we have in here is to use vertex color information lets apply this one
Bare in mind that the option to transfer color from a texture is going to be added with the next KNALD update. And we can load and pre-process the bake.
It took 1 minute to load the mesh and pre-process the preview bake.
When the mesh is loaded, KNALD won't need to load it anymore for baking. When done we can see a 3D preview of the low poly model with temporary baked PBR textures applied
As you can see the pre-processed result doesn't look great. The reason for this is too short initial projection distance with the part of the high poly model totally out of the projection range.
Let's turn the Cage and distance preview ON
and turn the high poly preview so we can set the distance the way entire highpoly model is covered. Now lets adjust the projection range with the push slider. We can change the opacity to make sure everything is within a range and nothing pops out Let's set the anti-aliasing to 16 and texture resolution to 4k. Let's increase the amount of rays for the ambient occlusion map to 1k. The value between 1000 and 2000 should be fine for the production quality
next lets proceed with the actual bake by hitting the BAKE button
and wait until its done. It took 5 minutes to bake all 4 textures and additional 2 and a half more to calculate the final textures. When calculated they appear at the top bar. Now they are ready to be exported. Let's set the texture format to PNG keep the color depth as 16 bits. Let's set the name and path and hit the EXPORT button. This way we should have all 4 textures stored in KNALD folder ready for comparison. To summarise, when we add the 1 and a half minutes of the initial highpoly mesh loading time which has happened at Pre Processing stage it took 9 minutes in total to process entire baking with the Knald which is really awesome. Now let's jump to another baker and proceed with all baking steps. The last baker we are going to play with is the Marmoset Toolbag 3 Marmoset is an amazing 3D real time rendering system which contains a fully functional and competitive PBR texture baker. We need to pay 189$ for a freelance version which when purchased allows us to keep using the software forever. So far all updates for Toolbag within the same version were free but we had to pay an upgrade fee for an upgrade from version 2 to 3. So I expect the same might happen after the Toolbag 4 is released. Anyway, its definitely a great tool to have even just to present our PBR stuff. Before we start baking we need to bring our high poly and the low poly models to the Marmoset Toolbag. Same as in KNALD, Marmoset Toolbag fully use the model we load at this stage so we don't spend any time to reload it when the actual baking starts.
It took almost 2 minutes to load our 37mln heavy high poly model and 1 and a half to load the texture used to carry albedo.
When loaded we can see both in real time in a viewport. The materials applied to both can be accessed from the material tab to the right. Since the texture name is the same as the high poly model name it was loaded and applied to the high polys albedo channel by default. In case it is not, we would need to add it to the high poly models material albedo clip manually.
Next lets bring a NEW BAKER and drag and drop our high poly and low poly model to the correct position in a bake group
The unique thing about the Marmoset Toolbag compared to other bakers is that even at this stage we still have full control over the high poly and low poly position. So we can still readjust and correct their position in 3D space before the baking happens. We need to get to the low poly setting to set the projection distance which covers the high poly model. To make it more visible lets change the cage opacity and set the offset the way we are sure entire high poly mesh is covered This window appeared since we had auto-bake active and it was trying to auto-bake textures, so lets turn it off. When done lets copy the offset value as this is our eye balled maximum distance for the projection and lets move to the baker setting
Lets set the output path and the bake name. To get higher production quality lets set samples to 16 and 16bits to color depth.
Let's pick all the maps we want to bake. Set the textures resolution to 4k
Let's invert the Y channel for the normal map so it can be used in DirectX mode.
And lets set proper distance for the height map. This one is quite tricky. It defines the top and the bottom distance for the dynamic range cover. Since we want our low poly plane to be considered as a ground level and everything brighter to be considered as convex while darker as concaves it has to be represented by 0.5 in float.. or 128in RGB. To make it happen, the inner and outer distance values have to be exactly the same, so we need to mirror them. If they are too short we might get the data clamped while if too narrow, we wont utilise full available dynamic range. So this is the place where we should paste the value we eyeballed when playing with the cage before.
So lets paste it in here, just make sure that the inner distance value got the minus. Next lets set ambient occlusion to get a higher production quality. And I think we are ready to hit the BAKE button. The button can be found on the top when the Baker1 group is selected
The big downside of the Toolbag 3 is that the height maps inner and outer range has to be eyeballed and there is no any automated solution which calculates this distance for us and fills entire dynamic range for us with rendered data if we decide that we don't want to do this manually. Hopefully its something that is going to be added in a new Marmoset release soon. It's also a shame that we lack of visual feedback during the baking process and cannot easily preview progress for each map during the baking. I had to open explorer too see them. It took 40 seconds to render and save the normal map. 10 seconds to get the height map. 7 minutes to bake the ambient occlusion map and 10 seconds to get the color map. So basically it took 8 minutes to bake all 4 maps in 16 bits and 4k resolution. If we add 3 and a half minutes for initial mesh and texture load we can say that full processing time with the Toolbag 3 took about 12 minutes. Anyway, when done we can turn off the high poly model and use full power of the real time rendering system to preview our result in PBR environment. So now we have all bakers covered and we can compare them. First let's compare the results
Since the video is recorded in 1080 I will present cropped version from the 4k to present exact 1:1 pixel size from the bake. Let's split the image into 4 parts, where each represents different baker and assign bakers name so we can see which one is which. Next lets have a closer look on the height map. Personally I like results delivered by the XNormal and Knald the most. These bakers managed to fill entire dynamic range so in case when we convert them into 8 bits, they store more height information within the same dynamic range. Substance Designer and Toolbag are also totally fine but their dynamic range wasn't fully utilised. A good way to test the height map quality is to use it as a displacement map. Lets jump into the ZBRUSH, bring a plane, subdivide it so it is dense enough to drive height information. Set the stroke type to DragRect
Load our 4 height maps and use each as a stamp to check out the surface response. The one generated with Substance works totally fine and brings all the details to the mesh Also the one generated with Knald works great. The one rendered by XNormal works also fine. The one rendered by Toolbag seems to be too flat and lacks of response... we can change the intensity and is is still fine since 16 bits stores enough data to still have all the information but if we would turn the map into 8 bits we would get very noticeable banding... something like this one Each baker did great job with the normal map. I cant see any relevant difference between bakers. Regarding the Ambient Occlusion map all did great job too. Don't know what do you think but I would probably prefer the one rendered with the Knald.. and the Substance Designer but I would be really happy with any of these bakes as all are very high quality. Next let's take a closer look on albedo map comparison. The one baked with the KNALD is totally blurred and lacks of surface information compared to others. Its a definite loser in here. Other bakes look exactly the same. Again I would say that I would be super happy with any of these except the one baked with the KNALD.
Looking on results all bakers did really decent job, and it is really hard to say which one is better. Of course except the obvious poor quality for the albedo map baked by the KNALD as color information wasn't carried by the texture but by vertex colors. Fortunately with the next update KNALD gets the missing option to transfer color information using a texture too and since I had an opportunity to test it in beta already I can say it works great. It means that when it is released there will be no way to see any difference compared to other bakers between the baking quality for albedo. Now lets pick everything together and try to point pros and cons of each baker and see where each shines and where it doesn't. So lets compare all factors which might be relevant in baking comparison, I believe these are things like overall user interface and its usability, types of output maps we can bake, supported mesh file formats, output file formats
mesh size limits, baking speed, baking quality, price and additional functionality The first one I mentioned, is a factor which affects entire setting part and feedback we get from the software. This definitely affects the setup time and overall user experience of baking preparation. In my opinion XNormal has overcomplicated User Interface and doesn't provide too much feedback during the baker setting. We usually don't know if we missed something until it is too late. The XNormal interface probably looks the most cool and the most unique when compared with other bakers UIs but we really need to know already what we are doing if we want to use it. I can imagine that it can be a painful tool to work with when we deal with really complex baking setups. Marmoset Toolbag 3 also doesn't feel very user friendly, especially when someone starts with it. Even if it feels way better when compared to XNormal, I still believe there is a field for a few UI improvements. It lacks a context help when we hover mouse over options which in my opinion would be very useful, especially for new users. What I like about the Toolbag is that it gives realtime option to adjust the high poly and the low poly model alignment in a scene and gives real time feedback regarding the cage distance setting.
This can be really handy when we deal with complex objects. Unfortunately The Marmoset Toolbag 3 doesnt have any tool which offer in-progress baking feedback for the final bake. While it is very hard to find out how to open the Substance Designer baker window, especially if we don't know how to do it, when we finaly do, we get a very simple, functional and well organised user interface. In my opinion Substance Designer baker is quite easy to set thanks to the setting window which gives decent overview over all options. It lacks the visual feedback for the high poly and low poly model alignment but offers in-progress window which is very handy as we can see if something goes wrong and stop the baker. I really like this one but the way to open it really could be done better. With the Knald we get a very well and wise designed interface. It offers very high quality and very useful feedback regarding the baking setting. The Knald's UI also offers real time context help which appears when we hover the mouse over options. This way everyone can easily check what each setting does and what value and why should we set. It has a very useful pre-bake 3D preview window, but unfortunately lacks the real in-progress baking window. We still get the feedback about the progress but only in text form. I would say that each of these has its own strong and weak points and there is no a definite loser or the winner in this category. The next factor we should take into consideration are output map types which are basically the types of PBR textures we can set to be rendered by the baker. Each software delivers full range of PBR options. Substance Designer offers 17 basic outputs types. KNALD offers 13 key output types but with the incoming update it gets even more. will add them to the list as its just the matter next update to get them. XNormal offers 17 key baking options while the Marmoset Toolbag 3 offers 29 of them. So I would say that each baker offers full PBR baking functionality, maybe except the KNALD which in the current version lacks of Texture Transfer for the Albedo. I would say that Toolbag is the winner here since its always better to have more options then find out that something is missing when we really need it. The next factor is the supported mesh file formats we can use. This one is quite important as gives us more options to work with. Basically these are 3D mesh file formats we can load for baking. If the format we use to carry high poly data isn't supported by the baker, the software wont be able to load and open it and if that's the case, the baker is basically useless for us. Substance Designer baker seems to supports only 5 file formats which isn't much. KNALD supports just 3 which is even worse. XNormal is super versatile and supports 18 of them which is crazy and turns it into the most versatile option. Marmoset Toolbag 3 supports 9 which is also great. I would say the XNormal totally rules in here. Toolbag 3 is fantastic. Substance Designer isnt bad but it lacks the PLY format which is one of the key formats to carry very heavy high poly data. It means that KNALD which supports just 3 formats, by having PLY included might be still a better solution to Substance for some. The next thing to compare are the texture output formats we can use to export baking results. Substance Designer offers 12 options. KNALD offers 5, XNormal offers 10, while Marmoset Toolbag 3 just 4. The Substance Designer definitely wins in here. XNormal also is great. Knald offers just 5 but a really strong ones. I would say it would be perfect if it has a PSD but it doesn't, Marmoset Toolbag 3 offers just 4 and I really believe that it would benefit a lot if it would get additionally at least TIFF and EXR The next factor to consider is how each baker deals with very heavy geometry. This is a very important one especially for those who work on very heavy meshes and strongly depends on available RAM memory. After my research I can say that each of these bakers deals with meshes up to 100 million polys without any big problems but the higher we go the more issues we get. Basically in theory 10mln polys needs 1GB of RAM memory, so for example to process 100mln polys we need 10GB of free RAM. XNormal utilises a CPU renderer and is limited just by the available standard RAM memory. It means there are no other limits really and we can process really heavy meshes here. Even 1 billion poly if we have 128GB of RAM. Toolbag its a full GPU renderer and needs to fit all the data into the video memory. So basically anything above 100mln poly on a GPU with 11GB of video memory like GF1080 is not going to happen. Keep in mind that texture used to transfer color information also takes some video memory. Substance Designer utilises both, a GPU and a CPU. How the baking is being processed depends on the actual hardware and the setting in Preferences. If we use NVidia it uses DXR backend on Windows, Optix on Linux, if it doesn't support RTX it fallback to Optix. For AMD GPUs it also fallback to CPU as the current generations does not support DXR.
It is worth to mention that for all non “from mesh” formats, the baking in Designers baker is purely done on CPU. Knald also seems to utilise both, a CPU and GPU. My guess is that it cleans the mesh before it is added into the video memory for pre-processing but actual baking calculations happens on CPU. This is why I guess it can handle much heavier meshes to Toolbag when compared, even with less video memory.
So basically the mesh size we can process by baker is limited by the available RAM memory. For GPU bakers by video memory, for CPU bakers by standard RAM. Some bakers mixes both approaches to be more versatile and increase the baking speed.
XNormal is a definite winner in here. I would give the second place to both, to the KNALD and to the Substance Designer. As far as I know with the new KNALDs update, KNALD should offer support for over 400mln+ tris heavy meshes. Substance Designer seems to be slightly behind but the software seems to be more versatile regarding the hardware we have. Marmoset Toolbag unfortunately can't handle very heavy meshes since even the most fancy graphics cards available to purchase offers very limited amount of RAM. I can tell that during my research with the
GF1080 and 11GB of video memory I had some real issues trying to bake 150 mln poly dense mesh with the Marmoset Toolbag 3 while at the same time every other baker dealt with the same geometry without any problems. Now lets take a look on baking times. It took 17 minutes to load the mesh and bake all 4 maps with the Substance Designer, 9 minutes with KNALD, 2 hours and 10 minutes with the XNormal and 12 minutes with the Marmoset Toolbag 3. But if we would turn the GPU acceleration for Substance Designer baker ON the baking time would change to just 6 minutes. I would say that overall baking speed was totally acceptable and all bakers except the XNormal did a really great job in here. The XNormal also did great until it totally failed with the ambient occlusion map bake. The CUDA suport which in theory should speed up the baking process for the Ambient Occlusion somehow didn't work for me. But no matter how quick the bakeing process was or what the file format we can export, if the quality of the bake is poor the baking is useless for us.
So the overall baking quality is in my opinion the key, and the most important factor in this comparison. I don't mind waiting even 1 more hour if it is justified by the quality I get. I don't care if bake took 1 seconds if its crap. Fortunately each baker from this comparison delivered roughly the same, very high quality results. The KNALD was a small exception as the current version lacks the option to bake from the texture, but since its just the matter of a single update I would stay its fine. Of course since it isn't there yet I would say that in current state it is a big NO and wouldn't use KNALD baker without it, but after it is added I might consider KNALD as one of the best bakers on the market. The last but not least is the software affordability. Currently we need to pay about 220$ to get Substance Designer in a Substance package as an Indie user in annual subscription. If we don't extend the subscription when the year is over we lose access to the software. But there is still an option to buy just a Substance Designer as a standalone app on Steam for about 150$ and keep it forever with all updates limited to the year of purchase. KNALD would costs us 100$ per perpetual indie license. Marmoset Toolbag 3 costs us 189$ while XNormal .. is just totally free for everyone. So this is what we need to pay to get access to each baker and XNormal wins here by being totally free. Substance Designer is definitely the most expensive solution in long term if we get trapped into subscription model but if we manage to get it on Steam it isn't as bad anymore. Knald seems to be a great and very reliable solution if we bake a lot and don't need anything more.
Marmoset Toolbag is probably the most expensive solution if we plan to use it just as a baker. But the price is really tricky to compare as each software offers additional functionality which can be also really very useful for us. If we consider it the price comparison makes a bit more sense. So Substance Designer baker is the part of entire advanced node based system we can use to work on PBR materials.
With the Knald baker we also get quite interesting 'Image to PBR' system which allows us to generate PBR textures based on photographs. XNormal also offers a few interesting converters but they are not anything special nowadays. Marmoset Toolbag however offers an amazing, fully functional, easy to use, high quality real time, 3D rendering system where the baker seems to be just a small part of it. So it is really up to us to decide if the additional functionality is somewhat useful for us or is it totally irrelevant So what is the final verdict? Sorry but honesty I don't have any. I would just repeat what I have said at the beginning of this video: There is no 'the best' or 'the only one' tool to do the job and each one has its own pros and cons and is in constant change. Only when we know them all, we can have the opportunity to make a conscious choice and choose the one that suits us best. I really hope you found this video useful. If you like it and want me to share even more content like this one please leave the thumbs up, drop a comment and subscribe to my channel. Big thanks to all of you who did it already
Take care! Stay safe, and hopefully till the next one :)
Bye!!!