{"id":26865889,"url":"https://github.com/codergamester/core-game","last_synced_at":"2025-07-05T08:33:21.052Z","repository":{"id":184450177,"uuid":"256775893","full_name":"CoderGamester/Core-Game","owner":"CoderGamester","description":"This project is a the core architecture of a new mobile game project","archived":false,"fork":false,"pushed_at":"2025-04-07T20:07:33.000Z","size":829,"stargazers_count":6,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-07T01:42:45.849Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CoderGamester.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-04-18T14:37:36.000Z","updated_at":"2025-04-08T12:48:38.000Z","dependencies_parsed_at":"2024-08-20T21:51:29.577Z","dependency_job_id":"2718e7b5-9364-45e5-8d6d-b538c720880f","html_url":"https://github.com/CoderGamester/Core-Game","commit_stats":null,"previous_names":["codergamester/core-game"],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/CoderGamester/Core-Game","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CoderGamester%2FCore-Game","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CoderGamester%2FCore-Game/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CoderGamester%2FCore-Game/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CoderGamester%2FCore-Game/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CoderGamester","download_url":"https://codeload.github.com/CoderGamester/Core-Game/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CoderGamester%2FCore-Game/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263710474,"owners_count":23499701,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-03-31T04:52:54.880Z","updated_at":"2025-07-05T08:33:21.032Z","avatar_url":"https://github.com/CoderGamester.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Core Game Template Project\n\n## 🎮 Overview\nA Unity game template project to develop your own mobile or web game, designed with scalability, performance, and best practices in mind.\n\n## 🚀 Features\n- Follow game development best practices with SOLID principles foundation\n- Optimized performance and architecture design\n- Contains a [Compliance Screen](https://github.com/CoderGamester/Core-Game/blob/master/Assets/Addressables/Prefabs/UI/Compliance%20Screen.prefab) for mobile and web-based games with terms of service and privacy policy\n\n## 📦 Prerequisites\n- [Unity 2022.3.51f1](https://unity.com/releases/editor/whats-new/2022.3.51)\n- .NET 4.x or .NET Standard 2.1 compatible\n- Git LFS (Large File Storage)\n\n## 🛠️ Installation\n1. Clone the repository:\n   ```bash\n   git clone https://github.com/CoderGamester/Core-Game/blob/master/README.md\n   ```\n2. Open the project in Unity Hub\n3. Open Addressables Groups page and generate Addressables settings. Window \u003e Asset Management \u003e Addressables \u003e Groups \u003e Generate Settings\n4. Open the UiConfigs scriptable object. Search in the project or Tools \u003e Select UiConfigs.asset\n5. Open the \"Boot\" Scene to play the game demo\n6. Run the project\n\n## 🧩 Project Structure\n- `Assets/`: Main project assets\n  - `Addressables/`: Static game resources to be loaded at runtime via addressables\n  - `Libs/`: Third-party libraries\n  - `Resources/`: **AVOID THIS FOLDER**. Only used by deafult Unity assets or some plugins. Use Addressables instead\n  - `Src/`: All game relacted code\n  - `Scenes/`: Game scenes and that are not dynamic loaded at runtime via addressables\n\n## 📚 Package Dependencies\n- [Game Services](https://github.com/CoderGamester/Services) to provide the intricate connection between game logic and different modules of the game\n- [Game State Machine](https://github.com/CoderGamester/StatechartMachine) to control the game's flow\n- [Ui Service](https://github.com/CoderGamester/UiService) to provide the necessary MVP architecture to control the game's UI flow and object visibility\n- [Asset Importer](https://github.com/CoderGamester/AssetsImporter) to import addressable assets from the Unity Hub\n- [Configs Provider](https://github.com/CoderGamester/ConfigsProvider) to provide the necessary static configuration for the game. Useful for game settings and to use in par with the [Asset Importer](https://github.com/CoderGamester/AssetsImporter)\n- [Google Sheet Importer](https://github.com/CoderGamester/GoogleSheetImporter) to import data from Google Sheets\n- [Data Extensions](https://github.com/CoderGamester/DataExtensions) to provide the necessary Unity's data extensions to use in a game. E.g. [Observable Collections](https://github.com/CoderGamester/Unity-DataTypeExtensions/blob/master/Runtime/ObservableList.cs)\n- [Notification Service](https://github.com/CoderGamester/NotificationService) to provide the necessary notification system to use in a game running on a notification based device (e.g web browser \u0026 mobile)\n- [Mobile UI Service](https://github.com/CoderGamester/Unity-Mobile-NativeUI) to provide the default mobile app UI system\n- [Unitask](https://github.com/Cysharp/UniTask) to provide the necessary async extensions to use in a game\n- [Mathfs](https://github.com/FreyaHolmer/Mathfs) to provide the necessary math extensions to use in a game\n\n## 🔧 Dependency Injection\nThis project uses manual dependency injection through the [Main Installer](https://github.com/CoderGamester/Services/blob/master/Runtime/MainInstaller.cs), providing:\n- Loose coupling between game modules\n- Easy testability\n- Flexible and modular architecture\n\n## 🌐 Asset Management\nLeverages Unity Addressables with [Asset Importer](https://github.com/CoderGamester/AssetsImporter) for:\n- Efficient asset loading\n- Dynamic resource management\n- Reduced initial load times\n- Generate Addressables loading paths and groups for easier coding in [AddressableId](https://github.com/CoderGamester/Core-Game/blob/master/Assets/Src/Ids/AddressableId.cs). Can be used in the following way:\n```csharp\nAddressableId.Addressables_Configs_DataConfigs.GetConfig().Address;\n```\n- Open Addressables Groups page and generate Addressables settings. Window \u003e Asset Management \u003e Addressables \u003e Groups \u003e Generate Settings\n\n## 🤝 Contributing\n1. Fork the repository\n2. Create your feature branch (`git checkout -b feature/AmazingFeature`)\n3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)\n4. Push to the branch (`git push origin feature/AmazingFeature`)\n5. Open a Pull Request\n\n## 📄 License\n[MIT License](https://github.com/CoderGamester/Core-Game/blob/master/LICENSE)\n\n## 📞 Contact\nCreate new issues and pull requests at or contact us via Discord for any questions or suggestions:\n- [GitHub](https://github.com/CoderGamester/Core-Game/issues)\n- [Discord](https://discord.gg/MaDymKtKWy)\n\n## Unity Project Keybind Shortcuts\n\n- ALT+R to force compile all project code\n- ALT+1 to open the \"Boot\" scene\n- ALT+2 to open the \"Main\" scene\n\n### Demo URL\n\nhttps://codergamester.github.io/Core-Game/WebGL_Build/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodergamester%2Fcore-game","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodergamester%2Fcore-game","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodergamester%2Fcore-game/lists"}