This is a Unity AR project set up for parallel development between multiple team members.
- Unity [Check version in
ProjectSettings/ProjectVersion.txt] - Git installed and configured
- Access to the repository
git clone <repository-url>
cd "Full ARF"- Open project in Unity
- Go to
Edit > Project Settings > Editor - Set Version Control Mode:
Visible Meta Files - Set Asset Serialization Mode:
Force Text
- MUST READ: Collaboration Workflow
- MUST READ: Branching Strategy
- Project Structure
git checkout -b develop origin/developAssets/
├── _Project/ ← Work here!
│ ├── UI/ ← UI Developer's zone
│ ├── Scripts/ ← Backend Developer's zone
│ ├── Prefabs/ ← Shared (coordinate first!)
│ ├── Scenes/
│ │ ├── Core/
│ │ ├── UI/
│ │ └── Test/
│ ├── Materials/
│ ├── Audio/
│ ├── Models/
│ └── Textures/
└── ThirdParty/ ← External assets
Works in: Assets/_Project/UI/
Branch naming: feature/ui-*
Responsibilities:
- Canvas layouts
- UI prefabs (buttons, panels, menus)
- UI animations
- HUD elements
- Menu systems
Works in: Assets/_Project/Scripts/
Branch naming: feature/backend-*
Responsibilities:
- Game logic
- Player/enemy systems
- Data management
- API integrations
- Core game systems
cd "Full ARF"
git checkout develop
git pull origin develop
git checkout -b feature/ui-your-feature- Work in your designated folders
- Save frequently
- Commit every 1-2 hours:
git add Assets/_Project/UI/ git commit -m "ui: add new button component" git push origin feature/ui-your-feature
git status
git push origin feature/ui-your-feature-
Update your branch:
git checkout develop git pull origin develop git checkout feature/ui-your-feature git merge develop
-
Test in Unity - Ensure everything works!
-
Push changes:
git push origin feature/ui-your-feature
-
Create PR on GitHub/GitLab:
- Base:
develop - Compare:
feature/ui-your-feature - Add description and screenshots
- Request review
- Base:
-
After merge:
git checkout develop git pull origin develop git branch -d feature/ui-your-feature
<type>: <short description>
<optional longer description>
Types: feat, fix, ui, refactor, docs, test, chore
Examples:
ui: add main menu with navigation buttons
feat: implement player inventory system
fix: resolve null reference in PlayerController
Use separate scenes for UI and gameplay testing:
- UI Dev:
UI_MainMenu.unity,UI_HUD.unity - Backend Dev:
GameplayTest.unity
Use nested prefabs to avoid conflicts:
PlayerPrefab (root)
├── PlayerModel (Backend dev)
├── PlayerController (Backend dev)
└── PlayerHealthBar (UI dev - nested prefab)
# Accept your version
git checkout --ours path/to/file
# Or accept their version
git checkout --theirs path/to/file
# Then test in Unity!In Team Chat:
@team I need to edit PlayerPrefab to add a health bar.
Anyone working on it?
Share in team chat:
- What you completed yesterday
- What you're working on today
- Any blockers
# Basic workflow
git status # Check status
git add <file> # Stage file
git commit -m "message" # Commit
git push origin <branch> # Push to remote
git pull origin develop # Pull latest changes
# Branching
git checkout -b feature/ui-new-feature # Create new branch
git checkout develop # Switch to develop
git branch -d feature/ui-old-feature # Delete local branch
# Viewing history
git log --oneline # View commit history
git diff # View unstaged changes
# Undoing changes
git checkout -- <file> # Discard local changes
git reset --soft HEAD~1 # Undo last commit (keep changes)- Code compiles (no errors in Unity console)
- Tested in Play mode
- No null reference exceptions
- Merged latest develop
- Resolved any conflicts
- Tested integration
- All scenes load correctly
- Code is commented
Check ProjectSettings/ProjectVersion.txt for the exact version.
Everyone must use the same Unity version!
- API keys are in
.envfile (not in version control) - Never commit secrets or credentials
- Test on actual devices when possible
- AR Foundation dependencies are managed via Unity Package Manager
Check your Git credentials and remote URL:
git remote -vAccept one version and manually add back missing changes:
git checkout --ours Assets/Scenes/MainGame.unity
# Then open in Unity and add back missing objectsRegenerate meta files:
Unity: Assets > Reimport All
All documentation is in .github/docs/:
- COLLABORATION_WORKFLOW.md - Complete workflow guide
- BRANCHING_STRATEGY.md - Git branching strategy
- PROJECT_STRUCTURE.md - Folder organization
- Check the documentation first
- Ask in team chat
- Create an issue on GitHub/GitLab
- Team Chat: [Your Slack/Discord/Teams channel]
- Issue Tracker: [GitHub Issues / Jira]
- Project Board: [Trello / GitHub Projects]
- Never commit directly to
mainordevelop - Always work on feature branches
- Pull before starting work each day
- Communicate before editing shared files
- Test before creating pull requests
- Write clear commit messages
- Use the same Unity version as the team
- Read COLLABORATION_WORKFLOW.md
- Pull latest
develop:git pull origin develop - Create your feature branch:
git checkout -b feature/ui-your-task - Start working in your designated folder
- Commit often, push daily
- Communicate with the team
Happy Coding!
For questions or issues, contact your team lead.