Is there a guide for programming for mobile devices in godot?

I noticed many games now use 3d rendered graphics for their games. My wife was asking me about the use of 3d in games, and I think many of these games are actually 2d with 3d rendered into 2d images.

But she wants our next game aimed at kids or older kids. And most of them tend to use tablets or phones more than computers- at least I think they do. Or maybe html5 geared to be cell friendly?

So just looking for some resources on good practices for godot mobile development.

It's the same. Any Godot game can be exported to mobile with basically one button, and most of the time it works fine. However, there are restricted performance considerations, but it shouldn't matter for simple 2D or basic 3D games. I tried to get Ella to run on my phone and it basically crashed Android, that was way too much. But I've tested some low-end 3D and it works mostly okay.

Do mouse inputs translate automatically into button touches on screen?

In Project Settings >> Input Devices >> Pointing, I have both Emulate Touch From Mouse and Emulate Mouse From Touch enabled.

That seems to produce the desired results. My game responds to mouse input on my desktop computer and to touch input on my Android phone.

One change I had to make for the phone was making buttons larger so that they could easily touched with a finger. In some cases I used a trick: I made the button background transparent, so that the icon or text could be small, while the larger button area responds to touch input.

Yes, you can emulate the mouse, but it only works for basic UI stuff like buttons and menus. If you wanted to code a game that is mouse controlled (like a SimCity or whatever) then it is better to code it with the touch input classes, which are easy to use and not much harder than coding mouse or keyboard responses.

For non-button stuff, like dragging, I'm using InputEventScreenTouch. On my desktop computer, that correctly gets emulated by the mouse.

(I know there's also an InputEventScreenDrag, but I couldn't figure out how to use it.)

    @DaveTheCoder said: For non-button stuff, like dragging, I'm using InputEventScreenTouch. On my desktop computer, that correctly gets emulated by the mouse.

    (I know there's also an InputEventScreenDrag, but I couldn't figure out how to use it.)

    Dave do you have any of your cell phone games for sale on any distros now?

    @DaveTheCoder said: My only game is still "in development". :sad:

    Well when it comes out Ill be curious to see it.

    2 years later

    DaveTheCoder I don't suppose you ever figured out the InputEventScreenDrag event? The kids can code page has at least one bug that breaks their code (probably more than one by now)
    (in 3.x)

    I don't recall figuring it out. I just checked (I couldn't survive without grep), and none of the code I've written uses it. However, a demo I've downloaded use it, and a joystick (from a tutorial) in some of my projects uses it. So I suppose it works.

    Here's the demo project that uses it:
    https://godotengine.org/asset-library/asset/142
    See the file mobile/multitouch_view/TouchHelper.gd

    Here's the joystick tutorial that uses it:
    https://randommomentania.com/2018/08/godot-touch-screen-joystick-part-1/
    See func _input()