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

[Android] Change the default "org.godotengine" package name to "com.example" #80761

Conversation

adamscott
Copy link
Member

@adamscott adamscott commented Aug 18, 2023

Currently, we suggest to users the package name org.godotengine.<name-of-the-game> for Android builds.

Unfortunately, that makes it so that some users publish those games (with these package names) in the Play Store. That makes it seem like the game comes from the Godot Engine team itself.

I suggest to change the default to com.example. http://example.com/ is an example domain by design. So we should use that. It conveys the idea that you should maybe change that value before you ship a game.

I don't know if it would affect users that currently use org.godotengine.<name-of-the-game> as the package name of their games, but I think they shouldn't use that package name in the first case.

Edit: use com.example. instead of org.example.

@adamscott adamscott added this to the 4.2 milestone Aug 18, 2023
@adamscott adamscott requested a review from a team as a code owner August 18, 2023 14:12
@akien-mga
Copy link
Member

This defeats the purpose of this default value.

Note $genname in org.godotengine.$genname - this is used to generate a valid identifier based on the project name. Since we can't make up a domain name for the user, we offer org.godotengine as the base for such auto-generated project identifiers.

If we decide that we don't want this behavior anymore after thousands of games have been published with it, then we should drop the whole $genname logic. There's no point generating names like org.example.myproject.

@adamscott
Copy link
Member Author

There's no point generating names like org.example.myproject.

I don't agree. It displays how the package names work, how they intend to be used. And it doesn't prevent the build of a game, if you want to test quickly and if you don't have time to decide which package name to give to the project.

@m4gr3d
Copy link
Contributor

m4gr3d commented Aug 18, 2023

I have no strong opinions either way, but the way it's phrased I'm curious whether this is an actual issue.. The Play Store is good at pointing out the developer(s) of an app / game (we had users calling out the fact that the Android editors were not originally published by an 'official' Godot account), so I don't think the package name creates much confusion especially as it's also not easily visible on an app / game landing page.

That said, Android Studio also follows the pattern com.example.<name_of_app> (see screenshot below), so switching seems also fine.
Screenshot 2023-08-18 at 8 06 45 AM

@aaronfranke
Copy link
Member

Since this changes behavior, I would suggest removing both the 4.0 and 4.1 cherrypick labels. Changing behavior in minor releases makes sense, but it's not a good idea to change behavior in a patch release.

@akien-mga akien-mga removed cherrypick:4.0 cherrypick:4.1 Considered for cherry-picking into a future 4.1.x release labels Aug 19, 2023
@akien-mga
Copy link
Member

Since this changes behavior, I would suggest removing both the 4.0 and 4.1 cherrypick labels. Changing behavior in minor releases makes sense, but it's not a good idea to change behavior in a patch release.

Indeed, even in 4.2, this will break compatibility for users who relied on this, as their game identifier will change.

@adamscott
Copy link
Member Author

adamscott commented Sep 5, 2023

orggodotengine

Here's a conversation that happened today in the GodotCon Discord.

@YuriSizov
Copy link
Contributor

I think the name can also be visible in user-facing logs (crash logs?), which may mislead users into contacting us for support with games, if the developer never provided any other means of reaching them.

@akien-mga
Copy link
Member

I would go with "com.example." like Android Studio, instead of "org.example.".

@adamscott
Copy link
Member Author

I would go with "com.example." like Android Studio, instead of "org.example.".

I'll update the PR.

@adamscott adamscott force-pushed the change-default-android-package-unique-name branch from 74a14e7 to 0e83cc0 Compare September 6, 2023 12:53
@adamscott adamscott changed the title [Android] Change the default "org.godotengine" package name to "org.example" [Android] Change the default "org.godotengine" package name to "com.example" Sep 6, 2023
@adamscott adamscott force-pushed the change-default-android-package-unique-name branch from 0e83cc0 to 00e9baf Compare September 11, 2023 13:01
@akien-mga akien-mga merged commit df5376c into godotengine:master Sep 11, 2023
@akien-mga
Copy link
Member

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants