Hey guys,
can someone tell me who already had experience with mobile games in both godot versions which version is better to use for now?
What is the biggest problem making mobile games in godot 4? Is it possible to fix those problems in the future?
I can’t find information on how many mobile devices support gles3 or/and vulkan? Is it more than 90% devices or lower? Does it make sense to make games using only gles3?
And how is tuff to migrate game from godot 3+ to godot 4+ ?
good luck with your game
share it when you release game
I am aware of that, but these 6641 devices don’t have full support of vulkan
I am testing also game using vulkan mobile, and game is crashing because my phone doesn’t have good drivers phone is Xiaomi mi a2 android 10.
luckily, gles3 works well.
I have just upgraded a 2D mobile game from Godot 3 to 4 & it wasn’t a walk in the park. Most conversion was done automatically via the conversion/upgrade tool, but parts of the game had to be recoded/reconfigured. Especially, in the areas of file access and GPUParticles.
There is also the issue of Vulkan drivers not being available on some older mobile devices, which forces use of the compatibility renderer.
I just created an empty Godot 4.2 project with an empty scene in Compatibility mod (GLES 3) and uploaded it on my Test Device (for oldest phone hardware).
Results?
After the Godot screenshot the game freeze.
Doing the same on Godot 3.5.3 with GLES 2.0 and ALL WORKS FINE!!!
I’m really frustrated!.
yeah haha that’s the problem haha
I am seriously thinking of using defold instead of godot 4 for mobile games
I don’t want to use godot 3, because it lacks so many features, like gdscript 2.0.
The problem is that Vulkan support on Android 7-8 is pretty broken, and essentially unusable (not just for Godot). You pretty much need Android 9 or later to have a chance of having good Vulkan support (and even then, it will depend on how recent your device’s SoC is).
If you look at other Android apps using Vulkan such as emulators, they strongly recommend a high-end device with a recent Android version for this reason. These tend to have better drivers across the board due to the manufacturer putting more effort into updates.
GLES 3.0 should work well enough on most Android devices by now. However, Godot 3.x’s GLES3 renderer isn’t a good point of comparison with Godot 4.x’s Compatibility rendering method.
Godot 3.x GLES3 was a high-end oriented renderer that happened to run on mobile as well (albeit with poor performance, especially on devices of the time). In Godot 4.x, this role has been filled by the Forward+ and Mobile rendering methods, which use Vulkan (or Direct3D 12/Metal in the future).
Godot 4.x’s Compatibility rendering method is designed for low-end devices such as integrated graphics and mobile. It doesn’t have any features that only work on high-end hardware, and it takes rendering decisions that prioritize performance over quality. In that sense, it’s similar to Godot 3.x’s GLES2 renderer, except it uses GLES 3.0 as a baseline to improve quality and flexibility a bit (e.g. shadow maps are properly filtered out of the box).
This may be a bug, which should be reported on GitHub - godotengine/godot: Godot Engine – Multi-platform 2D and 3D game engine with full device information and a reproduction project included. The Godot 4.x Compatibility rendering method hasn’t been around for quite as long as Godot 3.x’s GLES2 renderer, so it’s expected to have more bugs.
PS: Remember that if you create a project and switch its rendering method afterwards using the dropdown in the top-right corner of the editor, its mobile override won’t change automatically. You have to change it manually in the Project Settings.