Skip to content

Conversation

@RKS13D
Copy link
Contributor

@RKS13D RKS13D commented Jan 22, 2026

The (trivialkart/trivialkart-unreal) directory contains sample demonstrating how to use Online Subsystem Google Play for implementing features like

Google Play Games Authentication
Google Play Games Achievements
Google Play Billing for in-app purchases using Google IAP

Initial Unreal Project with Git Ignore and Attributes for LFS
Added Empty Map, Trivial Kart 2D assets, converter 2D assets into UI Textures, Paper 2D Textures, extracted Sprites and added Flip book animation for Cars and Flag
Added PGS Authentication with login, status check and nickname function in the Game Instance.
Added IAP and Achievements along with basic HUD Implementation
Added PlayBoard widget with button interactions and Widget Removal function in HUD
Added Kart Movement with Player States and Player Controller
Added three achievements example
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @RKS13D, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request introduces a new Unreal Engine project, 'TrivialKart_Unreal', designed to showcase the integration of Google Play Services. It lays the groundwork for a kart racing game, complete with core gameplay mechanics like movement, fuel management, and distance tracking, alongside a comprehensive user interface for interacting with game features and the Google Play ecosystem. The changes encompass project configuration, C++ gameplay logic, and UI elements, all aimed at demonstrating a functional mobile game with modern platform service integration.

Highlights

  • Unreal Engine Project Setup: A new Unreal Engine project named 'TrivialKart_Unreal' has been initialized, including standard .gitattributes for LFS tracking of large assets and a comprehensive .gitignore for common Unreal build artifacts.
  • Google Play Services Integration: The project is configured to integrate with Google Play Services, enabling features such as Google Play Games Authentication, Achievements, and In-App Purchases (Google IAP). This includes specific settings in DefaultEngine.ini and C++ logic in the game instance.
  • Core Game Logic and UI: Fundamental game mechanics like player movement (KartPawn), fuel consumption, distance tracking, and associated achievements are implemented. A robust UI system (TrivialKartHUD, PlayBoardWidget, GarageWidget, PGSWidget, StoreWidget) is established for in-game navigation, displaying player stats, and interacting with Google Play Services and the in-game store.
  • Enhanced Input System: The input system has been updated to use Unreal Engine's Enhanced Input, with new axis configurations for various gamepads and VR controllers, ensuring broader compatibility.
  • Asset Inclusion: Numerous new assets, including sprites, textures, tile sets for backgrounds, car models, fonts, and UI elements, have been added to populate the game world and user interface.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces the 'Trivialkart' Unreal Engine sample project, demonstrating integration with Google Play services for features like authentication, achievements, and in-app purchases. The changes are extensive, covering project setup, configuration, C++ game logic, and UI widgets. My review has identified a critical security vulnerability due to a hardcoded password in a configuration file, which must be addressed immediately. Additionally, there are several high-severity bugs in the game logic, particularly concerning frame-rate dependent calculations and incorrect API usage that could lead to unexpected behavior. I have also noted several medium-severity issues related to code maintainability, configuration redundancy, and potential memory leaks. The provided feedback and code suggestions aim to resolve these issues and improve the overall quality and security of the project.

RKS13D and others added 12 commits January 23, 2026 12:26
…te/Infos/TrivialKartPlayerState.cpp


Replaced Name and ID

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
…te/GameInstances/TrivialKartGameInstance.cpp


Added Log property

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
…te/Widgets/PGSWidget.cpp


Added float precision

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
…te/Widgets/PlayBoardWidget.cpp


Rounding up Distance values

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
…te/Actors/TrivialKartHUD.cpp

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
…te/Actors/TrivialKartHUD.cpp

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
…te/GameInstances/TrivialKartGameInstance.cpp

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Copy link
Contributor

@borisf borisf left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, please add copyright to the files, I think this how to do in Unreal ==> // Fill out your copyright notice in the Description page of Project Settings.

If some of the C++ files are autogenerated during build, not sure we need to add them to source control

@stmazoni
Copy link

LGTM. I added minor comments for adding tab.

Copy link
Contributor

@borisf borisf left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

  • Copy right notices added
  • Addressed couple of my questions on code patterns and C# usage

Copy link
Contributor

@borisf borisf left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Copy link
Contributor

@borisf borisf left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Copy link
Contributor

@borisf borisf left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@RKS13D RKS13D requested review from borisf and stmazoni January 29, 2026 01:23
Copy link
Contributor

@borisf borisf left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@RKS13D RKS13D requested a review from borisf January 29, 2026 08:30
Copy link
Contributor

@borisf borisf left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@RKS13D RKS13D merged commit 8ad152d into android:main Jan 30, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants