# Contributing to Dubai Metaverse Thank you for your interest in contributing to the Dubai Metaverse project! ## Code of Conduct - Be respectful and inclusive - Provide constructive feedback - Follow project standards and conventions - Test your changes before submitting ## Getting Started 1. **Read the Documentation**: - [README.md](README.md) - Project overview - [docs/planning/PROJECT_CHARTER.md](docs/planning/PROJECT_CHARTER.md) - Project vision - [docs/setup/GETTING_STARTED.md](docs/setup/GETTING_STARTED.md) - Setup guide - [docs/NAMING_CONVENTIONS.md](docs/NAMING_CONVENTIONS.md) - Naming standards - [docs/PIPELINE.md](docs/PIPELINE.md) - Development workflow 2. **Set Up Development Environment**: - Install Unreal Engine 5.4 (see [docs/setup/UE5_INSTALLATION.md](docs/setup/UE5_INSTALLATION.md)) - Configure Git LFS (see [docs/setup/VERSION_CONTROL.md](docs/setup/VERSION_CONTROL.md)) - Review project settings (see [docs/setup/PROJECT_SETTINGS.md](docs/setup/PROJECT_SETTINGS.md)) ## Contribution Guidelines ### Asset Contributions #### Naming Conventions - Follow [docs/NAMING_CONVENTIONS.md](docs/NAMING_CONVENTIONS.md) - Use consistent prefixes and suffixes - Organize assets in proper folder structure #### Asset Quality - Meet performance targets (see [PERFORMANCE_TARGETS.md](PERFORMANCE_TARGETS.md)) - Follow art style guide (see [docs/ART_BIBLE.md](docs/ART_BIBLE.md)) - Include proper LODs for non-Nanite assets #### Asset Validation - Run validation scripts before committing - Check asset naming and structure - Verify performance impact ### Code Contributions #### Code Style - Follow Unreal Engine coding standards - Use consistent formatting - Add comments for complex logic - Document public APIs #### Scripts - Follow script standards (see [scripts/STANDARDS.md](scripts/STANDARDS.md)) - Include error handling - Add usage documentation - Test scripts before committing ### Documentation Contributions #### Documentation Standards - Follow documentation template - Include table of contents - Add prerequisites section - Include troubleshooting section - Cross-reference related docs #### Updating Documentation - Update last modified date - Add to documentation index - Verify all links work - Test all code examples ## Development Workflow ### 1. Create Feature Branch ```bash git checkout -b feature/your-feature-name # or git checkout -b fix/your-bug-fix ``` ### 2. Make Changes - Follow project standards - Test your changes - Update documentation if needed - Run validation scripts ### 3. Commit Changes ```bash git add . git commit -m "Description of changes" ``` **Commit Message Format**: - Use clear, descriptive messages - Reference issue numbers if applicable - Follow conventional commits format: - `feat: Add new feature` - `fix: Fix bug description` - `docs: Update documentation` - `refactor: Refactor code` - `test: Add tests` ### 4. Push and Create Pull Request ```bash git push origin feature/your-feature-name ``` Then create a pull request with: - Clear description of changes - Screenshots/videos if applicable - Reference to related issues - Testing notes ## Pull Request Process ### Before Submitting - [ ] Code follows project standards - [ ] All tests pass - [ ] Documentation updated - [ ] No merge conflicts - [ ] Validation scripts pass - [ ] Performance impact assessed ### Pull Request Template ```markdown ## Description Brief description of changes ## Type of Change - [ ] Bug fix - [ ] New feature - [ ] Documentation update - [ ] Performance improvement - [ ] Refactoring ## Testing Describe how you tested your changes ## Screenshots/Videos If applicable, add screenshots or videos ## Related Issues Closes #issue-number ``` ## Review Process 1. **Automated Checks**: CI/CD will run validation 2. **Code Review**: Team members will review 3. **Testing**: Changes will be tested 4. **Approval**: Requires at least one approval 5. **Merge**: Changes merged to main branch ## Reporting Issues ### Bug Reports Include: - Description of the bug - Steps to reproduce - Expected behavior - Actual behavior - System information - Screenshots/videos if applicable ### Feature Requests Include: - Description of the feature - Use case - Proposed implementation (if any) - Related issues ## Questions? - Check [documentation](docs/README.md) - Review [FAQ](docs/troubleshooting/FAQ.md) (if available) - Open an issue for discussion - Contact project maintainers ## License By contributing, you agree that your contributions will be licensed under the same license as the project (see [LICENSE](LICENSE.md)). --- **Thank you for contributing to Dubai Metaverse!**