Skip to content

Develop#205

Open
dmccoystephenson wants to merge 22 commits intomainfrom
develop
Open

Develop#205
dmccoystephenson wants to merge 22 commits intomainfrom
develop

Conversation

@dmccoystephenson
Copy link
Copy Markdown
Member

@dmccoystephenson dmccoystephenson commented Mar 3, 2026

This pull request introduces a new Unity CI workflow and reorganizes several Unity .meta files to follow standard Unity project structure. The main changes are the addition of automated CI checks for Unity projects and the renaming of .meta files to match their new locations within the Assets directory.

CI/CD Automation:

  • Added .github/workflows/unity-ci.yml to automate checks for missing/orphaned .meta files, run Unity tests, and build the project for Linux using GitHub Actions. This includes caching and artifact upload for test and build results.

Project Structure Updates:

  • Renamed and moved project-settings.meta to Assets/Prefabs.meta to align with Unity folder conventions.
  • Renamed and moved src/c#/main.meta to Assets/Scenes.meta for proper scene asset management.
  • Renamed and moved src.meta to Assets/Scripts.meta, organizing scripts under the Unity Assets folder.
  • Renamed and moved src/c#.meta to Assets/Scripts/Tests.meta to place test scripts in the correct Unity subdirectory.

Copilot AI and others added 17 commits February 5, 2026 02:13
…create ProjectSettings and Packages

Co-authored-by: dmccoystephenson <21204351+dmccoystephenson@users.noreply.github.com>
Co-authored-by: dmccoystephenson <21204351+dmccoystephenson@users.noreply.github.com>
Co-authored-by: dmccoystephenson <21204351+dmccoystephenson@users.noreply.github.com>
Co-authored-by: dmccoystephenson <21204351+dmccoystephenson@users.noreply.github.com>
…-project-structure

Restructure to standard Unity project layout
Co-authored-by: dmccoystephenson <21204351+dmccoystephenson@users.noreply.github.com>
Co-authored-by: dmccoystephenson <21204351+dmccoystephenson@users.noreply.github.com>
…ntation

Co-authored-by: dmccoystephenson <21204351+dmccoystephenson@users.noreply.github.com>
Co-authored-by: dmccoystephenson <21204351+dmccoystephenson@users.noreply.github.com>
Co-authored-by: dmccoystephenson <21204351+dmccoystephenson@users.noreply.github.com>
Co-authored-by: dmccoystephenson <21204351+dmccoystephenson@users.noreply.github.com>
Co-authored-by: dmccoystephenson <21204351+dmccoystephenson@users.noreply.github.com>
…fix redundant checks, improve script examples

Co-authored-by: dmccoystephenson <21204351+dmccoystephenson@users.noreply.github.com>
… branch mentions, fix doc link

Co-authored-by: dmccoystephenson <21204351+dmccoystephenson@users.noreply.github.com>
…cks-for-unity-project

Add CI pipeline for Unity project validation
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR sets up a Unity project structure suitable for GitHub Actions CI and adds a Unity CI workflow, alongside migrating/adding Unity project assets, settings, scripts, and documentation.

Changes:

  • Added a GitHub Actions Unity CI workflow that checks .meta consistency, runs Unity tests, and builds for Linux.
  • Added/organized Unity project files under Assets/, Packages/, and ProjectSettings/, including many new gameplay/system scripts.
  • Updated docs (README.md, docs/CONTRIBUTING.md) to reflect the new project workflow and CI guidance.

Reviewed changes

Copilot reviewed 26 out of 290 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
.github/workflows/unity-ci.yml Adds CI for meta validation, Unity tests, and Linux builds.
docs/CONTRIBUTING.md Updates setup steps and adds local CI guidance link.
README.md Adds quick-start and CI badge/documentation link.
Assets/Scripts/ui/InfoBox.cs Introduces InfoBox base class for UI boxes.
Assets/Scripts/ui/boxes/*.cs Adds multiple InfoBox UI implementations (player/market/inventory/etc).
Assets/Scripts/market/Market.cs Adds market logic for stalls and trading.
Assets/Scripts/nation/NationNameGenerator.cs Adds nation name generation utility.
Assets/Scripts/command/** Adds gameplay commands (nation/settlement/interaction/etc).
Assets/Scripts/event/** Adds event system types and event producers.
ProjectSettings/*, Packages/manifest.json Adds Unity project configuration and package dependencies.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/workflows/unity-ci.yml Outdated
Comment on lines +103 to +112
- name: Run Tests
uses: game-ci/unity-test-runner@v4
env:
UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }}
UNITY_EMAIL: ${{ secrets.UNITY_EMAIL }}
UNITY_PASSWORD: ${{ secrets.UNITY_PASSWORD }}
with:
unityVersion: 2022.3.7f1
githubToken: ${{ secrets.GITHUB_TOKEN }}
checkName: Unity Test Results
Copy link

Copilot AI Mar 3, 2026

Choose a reason for hiding this comment

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

This workflow runs game-ci/unity-test-runner, but the repo's test files under Assets/Scripts/Tests/** are not Unity Test Framework tests (no NUnit [Test] attributes were found), so CI will likely run 0 tests and still succeed. Either convert these tests to Unity Test Framework (EditMode/PlayMode) tests, or add an explicit step that runs the project's custom Tests.runTests() entrypoint and fails the build on assertion failures.

Suggested change
- name: Run Tests
uses: game-ci/unity-test-runner@v4
env:
UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }}
UNITY_EMAIL: ${{ secrets.UNITY_EMAIL }}
UNITY_PASSWORD: ${{ secrets.UNITY_PASSWORD }}
with:
unityVersion: 2022.3.7f1
githubToken: ${{ secrets.GITHUB_TOKEN }}
checkName: Unity Test Results
- name: Run Custom Unity Tests
uses: game-ci/unity-builder@v4
env:
UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }}
UNITY_EMAIL: ${{ secrets.UNITY_EMAIL }}
UNITY_PASSWORD: ${{ secrets.UNITY_PASSWORD }}
with:
unityVersion: 2022.3.7f1
targetPlatform: StandaloneLinux64
customParameters: -batchmode -nographics -quit -executeMethod Tests.runTests

Copilot uses AI. Check for mistakes.
@dmccoystephenson
Copy link
Copy Markdown
Member Author

@copilot address comments; also there are compiler errors when opening the project with Unity 6.3 LTS:

Failed to start primary listening socket at (0.0.0.0:55504-55512).

Packages were changed.
Update Mode: updateDependencies

The following packages were added:
  com.unity.modules.adaptiveperformance@1.0.0
  com.unity.modules.vectorgraphics@1.0.0
  com.unity.modules.accessibility@1.0.0
  com.unity.multiplayer.center@1.0.1
The following packages were updated:
  com.unity.collab-proxy from version 2.0.5 to 2.11.3
  com.unity.feature.development from version 1.0.1 to 1.0.2
  com.unity.ide.rider from version 3.0.24 to 3.0.39
  com.unity.ide.visualstudio from version 2.0.18 to 2.0.26
  com.unity.render-pipelines.universal from version 14.0.8 to 17.3.0
  com.unity.test-framework from version 1.1.33 to 1.6.0
  com.unity.timeline from version 1.7.5 to 1.8.10
  com.unity.ugui from version 1.0.0 to 2.0.0
  com.unity.visualscripting from version 1.8.0 to 1.9.9
The following packages were removed:
  com.unity.textmeshpro@3.0.6
  com.unity.toolchain.win-x86_64-linux-x86_64@2.0.11


Assets\Scripts\Tests\nation\TestNationRepository.cs(27,13): error CS0104: 'EntityId' is an ambiguous reference between 'beyondnations.EntityId' and 'UnityEngine.EntityId'

Assets\Scripts\Tests\nation\TestNationRepository.cs(27,37): error CS0104: 'EntityId' is an ambiguous reference between 'beyondnations.EntityId' and 'UnityEngine.EntityId'

Assets\Scripts\Tests\nation\TestNation.cs(18,13): error CS0104: 'EntityId' is an ambiguous reference between 'beyondnations.EntityId' and 'UnityEngine.EntityId'

Assets\Scripts\Tests\nation\TestNation.cs(18,37): error CS0104: 'EntityId' is an ambiguous reference between 'beyondnations.EntityId' and 'UnityEngine.EntityId'

Assets\Scripts\Tests\nation\TestNationRepository.cs(40,13): error CS0104: 'EntityId' is an ambiguous reference between 'beyondnations.EntityId' and 'UnityEngine.EntityId'

Assets\Scripts\Tests\nation\TestNationRepository.cs(40,37): error CS0104: 'EntityId' is an ambiguous reference between 'beyondnations.EntityId' and 'UnityEngine.EntityId'

Assets\Scripts\Tests\nation\TestNation.cs(35,13): error CS0104: 'EntityId' is an ambiguous reference between 'beyondnations.EntityId' and 'UnityEngine.EntityId'

Assets\Scripts\Tests\nation\TestNation.cs(35,37): error CS0104: 'EntityId' is an ambiguous reference between 'beyondnations.EntityId' and 'UnityEngine.EntityId'

Assets\Scripts\Tests\nation\TestNation.cs(39,13): error CS0104: 'EntityId' is an ambiguous reference between 'beyondnations.EntityId' and 'UnityEngine.EntityId'

Assets\Scripts\Tests\nation\TestNation.cs(39,37): error CS0104: 'EntityId' is an ambiguous reference between 'beyondnations.EntityId' and 'UnityEngine.EntityId'

Assets\Scripts\Tests\nation\TestNationRepository.cs(54,13): error CS0104: 'EntityId' is an ambiguous reference between 'beyondnations.EntityId' and 'UnityEngine.EntityId'

Assets\Scripts\Tests\nation\TestNationRepository.cs(54,37): error CS0104: 'EntityId' is an ambiguous reference between 'beyondnations.EntityId' and 'UnityEngine.EntityId'

Assets\Scripts\Tests\nation\TestNation.cs(50,13): error CS0104: 'EntityId' is an ambiguous reference between 'beyondnations.EntityId' and 'UnityEngine.EntityId'

Assets\Scripts\Tests\nation\TestNation.cs(50,37): error CS0104: 'EntityId' is an ambiguous reference between 'beyondnations.EntityId' and 'UnityEngine.EntityId'

Assets\Scripts\Tests\nation\TestNation.cs(54,13): error CS0104: 'EntityId' is an ambiguous reference between 'beyondnations.EntityId' and 'UnityEngine.EntityId'

Assets\Scripts\Tests\nation\TestNation.cs(54,37): error CS0104: 'EntityId' is an ambiguous reference between 'beyondnations.EntityId' and 'UnityEngine.EntityId'

Maximized serialized file backup not found.
UnityEditor.WindowLayout:LoadDefaultWindowPreferences ()

Copy link
Copy Markdown

Copilot AI commented Mar 3, 2026

@dmccoystephenson I've opened a new pull request, #206, to work on those changes. Once the pull request is ready, I'll request review from you.

Copilot AI and others added 4 commits March 3, 2026 04:29
…test runner

Co-authored-by: dmccoystephenson <21204351+dmccoystephenson@users.noreply.github.com>
…n ProjectSettings

Co-authored-by: dmccoystephenson <21204351+dmccoystephenson@users.noreply.github.com>
Co-authored-by: dmccoystephenson <21204351+dmccoystephenson@users.noreply.github.com>
Fix EntityId ambiguity, replace CI test runner, restore Legacy Input Manager, and upgrade to Unity 6
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 28 out of 290 changed files in this pull request and generated no new comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

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