Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Port the Godot editor to Android #3931

Closed
m4gr3d opened this issue Feb 7, 2022 · 44 comments
Closed

Port the Godot editor to Android #3931

m4gr3d opened this issue Feb 7, 2022 · 44 comments

Comments

@m4gr3d
Copy link

m4gr3d commented Feb 7, 2022

Describe the project you are working on

Running the Godot Editor natively on Android devices.

Note this proposal is a subset of #1061 as it focuses on issues specific to the Android port of the Godot Editor.

Describe the problem or limitation you are having in your project

Ability to use the Godot Editor natively on an Android device.

Describe the feature / enhancement and how it helps to overcome the problem or limitation

The Godot Editor is itself a Godot app and thus can be made to run on Android devices since Godot can create / build / export Android apps and games.

Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams

This proposal tracks the work of getting the Godot Editor running natively on Android devices:

This proposal will centralize developers / users feedback as well as suggestions to the editor core logic and UX in order to produce a high quality port of the Godot Editor.

If this enhancement will not be used often, can it be worked around with a few lines of script?

No

Is there a reason why this should be core and not an add-on in the asset library?

This is about expanding the reach of the Godot Editor to the Android platform.

@m4gr3d
Copy link
Author

m4gr3d commented Feb 7, 2022

Godot Android Editor updated builds:

@SoyoTamo
Copy link

SoyoTamo commented Feb 8, 2022

It would also be the easiest way for someone from the third world (like me) to use Godot 4 with Vulkan. Since the mobile hardware equipped with the latest technologies is much easier to get than the desktop.

@fire-forge
Copy link

Using Godot on a phone would probably be difficult because of how small it is, but this will really be great for Chromebook and tablet users who have to use the web version right now.

@MichaelGlenMontague
Copy link

Using Godot on a phone would probably be difficult because of how small it is, but this will really be great for Chromebook and tablet users who have to use the web version right now.

My main reason for wanting an Android port is to have both the API documentation and an experimentation environment available from a single app on the phone in my pocket. But for such a small screen, it has to support portrait mode and fullscreen docks, hide the navigation bar, and use long-press in place of right-click.

@Roosader
Copy link

Using this on something like a foldable phone is such an interesting use case. I have a Z Fold 3 and, from my simple testing, the interface, while small, is honestly fairly easy to navigate with the S Pen. I really want to see this come to fruition, as I've been using Construct 3 for development across my laptop and Fold but having something as powerful as Godot on my phone would be amazing!

@Calinou Calinou changed the title Godot Editor Android Port Port the Godot editor to Android Mar 24, 2022
@akien-mga
Copy link
Member

Implemented by godotengine/godot#57747

@m4gr3d
Copy link
Author

m4gr3d commented Mar 30, 2022

@akien-mga I'm keeping the proposal open to gather feedback for updates and improvements!

@Roosader
Copy link

The fact that this is now gonna be official is so freaking cool. Having a REAL full featured game engine on a mobile device is absolutely insane. Are touch gestures planned? Like gestures for moving around the viewport? And also maybe long press for right click or something? Thank you for all of your hard work guys! You guys are amazing!

@AlphinAlbukhari
Copy link

My feedback:

  • Maybe two (close) fingers gesture for right click? Just like how it is on most touchpads
  • PopupMenus should be scrollable
  • WindowDialogs are hard to resize, maybe enlarge the resize area?

@Calinou
Copy link
Member

Calinou commented Mar 31, 2022

The fact that this is now gonna be official is so freaking cool. Having a REAL full featured game engine on a mobile device is absolutely insane. Are touch gestures planned? Like gestures for moving around the viewport? And also maybe long press for right click or something? Thank you for all of your hard work guys! You guys are amazing!

This is all planned, but it'll take a while to be fully implemented. We need to focus on releasing 4.0 as well 🙂

@Roosader
Copy link

The fact that this is now gonna be official is so freaking cool. Having a REAL full featured game engine on a mobile device is absolutely insane. Are touch gestures planned? Like gestures for moving around the viewport? And also maybe long press for right click or something? Thank you for all of your hard work guys! You guys are amazing!

This is all planned, but it'll take a while to be fully implemented. We need to focus on releasing 4.0 as well 🙂

Ah okay! Awesome :). It's already super usable with a mouse and keyboard, so no biggie!

@Starkium
Copy link

I just loaded this onto an oculus quest and for the most part the editor works! I lost input when the 3d editor got summoned and I have a grey screen when trying to run a downloaded project, but still it loads up and even accesses the keyboard and file directory. This is sick!

Can we get a native vr editor? IE: launches into a vr environment when working on the 3d stuff? I would LOVE to be a part of the development of this. Godot Editor Android VR could be THE tool that the metaverse is founded on, this is absurdly interesting. :)

@m4gr3d
Copy link
Author

m4gr3d commented Mar 31, 2022

Can we get a native vr editor? IE: launches into a vr environment when working on the 3d stuff?

@Starkium This is definitely on the roadmap (see https://godotengine.org/article/godot-engine-receiving-new-grant-meta-reality-labs)!

I would LOVE to be a part of the development of this.

We'd appreciate all the help we can get!
One of the initial tasks that would improve the experience on the Quest is support for touch interaction. If you try it on a Android device or tablet today, and as reported by several folks in the thread, the touch interaction is basic and doesn't give you full access to the functionality.
By improving it, we'd also be improving interaction on the Quest with the controllers or hand tracking.

Godot Editor Android VR could be THE tool that the metaverse is founded on, this is absurdly interesting. :)

Couldn't agree more!

@AMAIOLAMO
Copy link

AMAIOLAMO commented Apr 1, 2022

I booted it up and it was super awesome!

I tried to do a simple platformer and realized some problems that requires improvement ( all the problems below are which I didn't use a mouse and keyboard ):

  • Scenes are hard to drag and move around. ( though I see it's going to be implemented by gestures so that's not a problem :) )

  • There doesn't seem to have a delete button for nodes lol.

  • There's one problem in code editor when using specific keyboards that checks for the current typing word, it glitches out and might accidentally type the same thing 2 times in a row, switching to another keyboard that doesn't do it fixes the problem.

  • There are still some problems in quitting back to editor while play testing, it sometimes doesn't quit back to editor when I tried to return, it just allows me to quit the whole app.

  • Sliding on mobile is hard, the code completion isn't scrollable by dragging, and sometimes pressing on one of the code completion to select it isn't possible ( not sure how that works )

Those are my first impressions while making a super basic platformer game

wish it'll help improve the android port more, I'm super excited to see how this is gonna work out!

@filipworksdev
Copy link

filipworksdev commented Apr 1, 2022

Just built this and works well so far.

Some feedback and or issues:

  • I keep getting error spam in Output such as base_button.cpp:351, viewport_container.cpp:171 , script_editor-plugin.cpp:2733, input_map_cpp:129 mostly around this p_event.is_null() some issue with unhandled input. Anyone else getting this? Could it be something to do with S-Pen or Samsung specifically? I need to test it again
  • S-Pen draws blue lines like Godot Editor is a drawing application when I start drawing from the very top downwards.
  • The flicker is gone but I still see occassional glitchy graphics especially in 3D or if I scroll very quickly but is actually usable so is no longer an issue. It actually works now.
  • Due to small screen space built in documentation is mostly unreadable and AssetStore can push the right panel off screen if you have an asset item with long name.
  • Choosing to restart after changing some settings will never restart. In fact setting is reversed. You need to change the setting. Close settings. Quit the application and load it again manually.
  • GLES3 appears very slow on my system Samsung Tab S6 Lite but GLES2 works okay.
  • There is no way to open FileSystem items since double-tapping doesn't appear to be working. You need a mouse to effectively use this but works alright.
  • There is no way to show the right click context menu either. I tried tap and hold and two finger tap and doesn't appear to do anything. I assume those functions have not been implemented yet.

Overall I'd say this is great. Is about 99% working minus the ui stuff. My tablet actually supports DEX mode with mouse cursor so I can use it just like a regular computer but I suspect other tablets will have a bit of a hard time making it work properly.

@Calinou
Copy link
Member

Calinou commented Apr 1, 2022

GLES3 appears very slow on my system Samsung Tab S6 Lite but GLES2 works okay.

The GLES3 renderer has a high base cost which isn't suited to mobile devices. It can run a bit better if you disable HDR and depth prepass in the project settings, but it will still have a higher base cost compared to GLES2.

We should probably default newly created projects to GLES2 on Android, and use GLES2 for the project manager too. (Always using GLES2 for the project manager on desktop could also be a good idea, as it might decrease power consumption slightly.)

@idchlife
Copy link

@m4gr3d hey, responding in this thread.

So I am using this thing: http://innov8tiv.com/wp-content/uploads/2021/06/14-inched-Samsung-Galaxy-Tab-S8.jpeg

I did not yet test with separately connected mouse, so I cannot yet say if it works or not.
Touchpad works in the way it kinda resembles macbook touchpad. It has mouse cursor, it has gestures, but it's not yet full-blown mouse.

I made screen recording of my usage of template project. As you can see, I often do "something" which makes sliders highlight. I am using 2 fingers to scroll, but it results in something odd, "real" cursor seems to obtain some kind of offset, while it's gui representation stays as it was. You can see later, that I cannot normally click things despite the fact of pointing at them.
Also about usage of viewport, my mistake, I meant I cannot rotate the camera, look anywhere using touchpad, because I assume - there is no wheel mouse button. And 2/3/4 fingers do nothing. I also tried holding alt, ctrl, shift - nothing.

https://easyupload.io/edj5xr

I am aware of a niche setup here, with my touchpad for tablet, so I think I better help with testing keyboard/mouse duo instead, because this will be the most used setup I predict (connect android phone to external display - connect mouse/keyboard - voila, you are a game dev).

@FlykeSpice

This comment was marked as off-topic.

@Calinou
Copy link
Member

Calinou commented Aug 1, 2022

@FlykeSpice Please don't bump issues without contributing significant new information. Use the 👍 reaction button on the first post instead.

@Starkium
Copy link

Starkium commented Aug 1, 2022

Has there been any progress with usage within a VR environment like the quest yet?

@m4gr3d
Copy link
Author

m4gr3d commented Aug 1, 2022

Has there been any progress with usage within a VR environment like the quest yet?

@Starkium Not yet. We're focusing on stabilizing the Android port first (getting fairly close to a beta state!), and we'll follow up with the Quest port.

One of the major remaining issue before beta is improving touch interactions for the port on Android devices. Solving this issue should also improve the current state of the port when sideloaded to a Quest device.

@VoxSkynned11
Copy link

Has there been any progress with usage within a VR environment like the quest yet?

@Starkium Not yet. We're focusing on stabilizing the Android port first (getting fairly close to a beta state!), and we'll follow up with the Quest port.

One of the major remaining issue before beta is improving touch interactions for the port on Android devices. Solving this issue should also improve the current state of the port when sideloaded to a Quest device.

How closer would you say :3 sorry I'm anxious about it, will itt be for 3.5?

@Calinou
Copy link
Member

Calinou commented Aug 31, 2022

How closer would you say :3 sorry I'm anxious about it, will itt be for 3.5?

New features will only land in 3.6 and 4.0, not 3.5.x.

That said, I'd be very surprised if a VR editor was completed before 4.0 is released. This is probably 4.1 material at best, considering it's something only a few people will be able to use effectively.

@Starkium
Copy link

That said, I'd be very surprised if a VR editor was completed before 4.0 is released. This is probably 4.1 material at best, considering it's something only a few people will be able to use effectively.

I think you're grossly underestimating what the android editor with vr mode on quest really means for the entire vr community at large.

@VoxSkynned11
Copy link

VoxSkynned11 commented Aug 31, 2022

That said, I'd be very surprised if a VR editor was completed before 4.0 is released. This is probably 4.1 material at best, considering it's something only a few people will be able to use effectively.

I think you're grossly underestimating what the android editor with vr mode on quest really means for the entire vr community at large.

No you misunderstood me, i was talking about the touch support 👉👈

@VoxSkynned11
Copy link

VoxSkynned11 commented Sep 2, 2022 via email

@m4gr3d
Copy link
Author

m4gr3d commented Sep 6, 2022

FYI, we should have a beta build ready once godotengine/godot#65398 & godotengine/godot#65434 are submitted!

@VoxSkynned11

This comment was marked as off-topic.

@m4gr3d
Copy link
Author

m4gr3d commented Sep 12, 2022

FYI, we should have a beta build ready once godotengine/godot#65398 & godotengine/godot#65434 are submitted!

Update beta build of the Godot Android Editor with numerous bug fixes and updates!

Godot Android Editor v3.6.0.beta.0

@VoxSkynned11
Copy link

VoxSkynned11 commented Sep 13, 2022

FYI, we should have a beta build ready once godotengine/godot#65398 & godotengine/godot#65434 are submitted!

Update beta build of the Godot Android Editor with numerous bug fixes and updates!

Godot Android Editor v3.6.0.beta.0

Can you tell if this is a known issue:
While testing the game, the game doesn't recognize the keyboard input(android keyboard) in the project input map it does recognize it but while playing it simply doesn't work, i remember i tried some weird stuff like running godot under proot and still no luck, i tried different keyboard apps , i think i saw someone talking about it but i couldn't find it anymore..

@VoxSkynned11
Copy link

VoxSkynned11 commented Sep 20, 2022

FYI, we should have a beta build ready once godotengine/godot#65398 & godotengine/godot#65434 are submitted!

Update beta build of the Godot Android Editor with numerous bug fixes and updates!
Godot Android Editor v3.6.0.beta.0

Can you tell if this is a known issue: While testing the game, the game doesn't recognize the keyboard input(android keyboard) in the project input map it does recognize it but while playing it simply doesn't work, i remember i tried some weird stuff like running godot under proot and still no luck, i tried different keyboard apps , i think i saw someone talking about it but i couldn't find it anymore..

Oh wait actually it works with the bt controller (you van doenload from playstore) but you'll need a second smartphone

And it seems much more stable than last time i want to learn to use godot but my pc don't support it :( then i have to use this phone i hope it works well on this phone a6+ it has almost 4gb has a 64bit cpu(useless because someone stupid decided to put a 32bit android in it) :3

@SBHattarj
Copy link

it seems I can't add new script language to my project with addons

@m4gr3d
Copy link
Author

m4gr3d commented Feb 6, 2023

it seems I can't add new script language to my project with addons

We haven't tested the use of add-ons yet with the Android port but it's unlikely that scripting languages other than gdscript will work out of the box.

@SBHattarj
Copy link

it seems I can't add new script language to my project with addons

We haven't tested the use of add-ons yet with the Android port but it's unlikely that scripting languages other than gdscript will work out of the box.

Is there any plans for supporting addons or custom scripting language also, I don't have long access to a computer, so would like to work on my android, and I really want to use python for my project which can be added by godot python addon which works on desktop.

Also after working on got this error on the debugger, which doesn't occur on desktop:
E 0:00:00.199 open_dynamic_library: Can't open dynamic library: libpythonscript.so, error: dlopen failed: library "libpythonscript.so" not found.
<C++ Error> Parameter "p_library_handle" is null.
<C++ Source> platform/android/os_android.cpp:274 @ open_dynamic_library()

I'm not sure if this'll help, but thought this might be usefull info.

@Zireael07
Copy link

This is an android version, I strongly doubt custom scripting languages are possible on Android.

@SBHattarj
Copy link

This is an android version, I strongly doubt custom scripting languages are possible on Android.

Actually certain languages can be ran on android through proper binaries, termux and pydroid being great example, so if an adon can give proper binaries to run the language, I believe it maybe posible to be ran on android

@Calinou
Copy link
Member

Calinou commented Feb 7, 2023

C# is not supported on Android yet due to missing/incomplete upstream support. It won't be done in time for 4.0.

GDExtension support is technically feasible, but also missing in 4.0. Note that even once GDExtension support is added, extension developers will still need to build a library for Android for extensions to work there.

@ShalokShalom
Copy link

What is missing for dotnet support?

@m4gr3d
Copy link
Author

m4gr3d commented Feb 21, 2023

Port of the Godot Editor on Android released on the Play Store!

https://godotengine.org/article/android_godot_editor_play_store_beta_release/

@m4gr3d m4gr3d closed this as completed Feb 21, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Implemented
Development

No branches or pull requests