{"id":18985085,"url":"https://github.com/o3de/o3de-multiplayersample-assets","last_synced_at":"2026-03-03T14:41:52.007Z","repository":{"id":156797470,"uuid":"512007501","full_name":"o3de/o3de-multiplayersample-assets","owner":"o3de","description":null,"archived":false,"fork":false,"pushed_at":"2025-01-14T18:12:56.000Z","size":98710,"stargazers_count":13,"open_issues_count":5,"forks_count":20,"subscribers_count":27,"default_branch":"development","last_synced_at":"2025-02-14T02:48:45.155Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Batchfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/o3de.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE-CC-BY-4.0.txt","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}},"created_at":"2022-07-08T19:36:26.000Z","updated_at":"2025-01-14T18:11:21.000Z","dependencies_parsed_at":"2024-11-08T16:38:09.552Z","dependency_job_id":null,"html_url":"https://github.com/o3de/o3de-multiplayersample-assets","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/o3de%2Fo3de-multiplayersample-assets","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/o3de%2Fo3de-multiplayersample-assets/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/o3de%2Fo3de-multiplayersample-assets/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/o3de%2Fo3de-multiplayersample-assets/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/o3de","download_url":"https://codeload.github.com/o3de/o3de-multiplayersample-assets/tar.gz/refs/heads/development","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239993961,"owners_count":19730779,"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":"2024-11-08T16:24:32.939Z","updated_at":"2026-03-03T14:41:51.994Z","avatar_url":"https://github.com/o3de.png","language":"Batchfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"![image](https://user-images.githubusercontent.com/23222931/225687331-b0f3ada2-447c-404f-8892-f278aac8e11f.png)\n\n# O3DE MultiPlayerSample Assets\n\nThis repository contains:\n\n1. A collection of O3DE Asset Gems, used in o3de-multiplayersample project\n   1. The source folder for each Gem, for development by Contributors.\n   2. E.g. an Asset Gem for sample characters: https://github.com/o3de/o3de-multiplayersample-assets/Gems/character_mps\n2. \"MPS-Asset-Test\" project in: o3de-multiplayersample-assets/tree/main/Project\n3. (Future) A `repo.json` file containing information about this O3DE Remote Gem Repository\n4. (Future) A GitHub release folder\n   1. The gem .zip containing the gem and associated gem.json for each gem\n\n## If you are using o3de-multiplayer-sample Game\n\nThese gems are required for and utilized by the o3de-multiplayer sample project, you can find the repo and instructions for that project and adding these gems here:\n\n[GitHub - o3de/o3de-multiplayersample: Multiplayer sample project for the Open 3D Engine](https://github.com/o3de/o3de-multiplayersample)\n\n## If you want to use these Gems in your own o3de game project\n\n### (Future) Option #1. Remote Repository, use packaged Gems with the Project Manager\n\n**!!! Skip to Option #2 !!!**\n\n**\u003cu\u003eUse of this as a remote gem repository is not yet implemented!\u003c/u\u003e**\n\nAdd this remote repository in the Project Manager using this URL:\n\n```\nhttps://raw.githubusercontent.com/AMZN-temp-user-replace-me/o3de-remote-gem-repo-demo/main\n```\n\nYou can then browse the gems in the Project Manager and add them to your Project.\n\n### Option #2.  Download and use source Gems\n\nYou can clone the repo to download the repository source, then register the local gem source folders with the engine to make available for use in a Project.  This entails the same steps as a developer contributing content creation or performing other maintenance of the gem data. (see the next section below.)\n\n## If you are a developer contributing to these asset gems\n\n### Download and Install\n\nThis repository uses Git LFS for storing large binary files.  You will need to create a Github personal access token to authenticate with the LFS service.\n\n#### Create a Git Personal Access Token\n\nYou will need your personal access token credentials to authenticate when you clone the repository.\n\n[Create a personal access token with the 'repo' scope.](https://docs.github.com/en/github/authenticating-to-github/creating-a-personal-access-token)\n\n#### (Recommended) Verify you have a credential manager installed to store your credentials\n\nRecent versions of Git install a credential manager to store your credentials so you don't have to put in the credentials for every request. It is highly recommended you check that you have a [credential manager installed and configured](https://github.com/microsoft/Git-Credential-Manager-Core)\n\n#### Step 1. Clone the repository\n\nYou can clone the project to any folder locally, including inside the engine folder. If you clone the project inside an existing Git repository (e.g. o3de) you should add the project folder to the Git exclude file for the existing repository.ne-the-repository)\n\n##### Option #1 (Highly Recommended) - cloning into a folder outside the engine repository folder\n\n```shell\n# clone the project into a folder outside your engine repository folder\n\u003e git clone https://github.com/o3de/o3de-multiplayersample-assets.git\nCloning into 'o3de-multiplayersample-assets'...\n```\n\n##### Option #2 - cloning into the engine repository folder\n\n```shell\n# clone the project into a folder named 'o3de-multiplayersample' in your existing engine repository folder\n\u003e git clone https://github.com/o3de/o3de-multiplayersample-assets.git c:/path/to/o3de/o3de-multiplayersample-assets\nCloning into 'o3de-multiplayersample'...\n\n# modify the local engine git exclude file to ignore the project folder\n\u003e echo o3de-multiplayersample-assets \u003e c:/path/to/o3de/.git/info/exclude\n```\n\nIf you have a Git credential helper configured, you should not be prompted for your credentials anymore.\n\n### Step 2. Register the gems with the engine\n\nYou may have already done this, these are the same steps as setting up the o3de-multiplayer sample project.  But if you are adding them to your own project these are the steps to do so.\n\nMake sure your engine is registered.\n\n```batch\n:: register the gems with the engine, you only need to do this once\n\u003e C:\\path\\to\\o3de\\scripts\\o3de register --this-engine\n```\n\nMake sure your project is registered.\n\n```batch\n:: register the project with the engine, you only need to do this once\n\u003e C:\\path\\to\\o3de\\scripts\\o3de register -p C:\\path\\to\\o3de-multiplayersample\n```\n\nNow make sure that the source gems are registered\n\n```batch\n:: register the gems with the engine, you only need to do this once\n\u003e o3de register --all-gems-path C:\\path\\to\\o3de-multiplayersample-assets\\Gems\n```\n\nThe above command will recursively scan the input path, then registers all paths with gem.json files into the `~/.o3de/o3de_manifest.json`\n\nNow these Gems will be available in the Project Manager and can be added to your Project.\n\n## (Optional) MPS: Asset Test Project\n\nThis repository contains it's own O3DE Game project, which can be used by contributors to build, validate, and maintain new assets independently.\n\n```shell\n# the test project for mps assets, is in this project folder in repo\n\u003e cd C:\\path\\to\\o3de-multiplayersample-assets\\Project\n```\n\n### Option 1. Add Project to O3DE Project Manager\n\n1. Launch your O3DE Project Manager (o3de.exe)\n\n2. Use the blue button in the upper right labeled \"New Project ...\", and with the pulldown select \"Open Existing Project\"\n\n3. Browse to and add the MPS Asset Test Project folder: `C:\\path\\to\\repo\\o3de-multiplayersample-assets\\Project`\n\n4. You may be prompted to rebuild the project (there are other options for building as a developer)\n\n5. Launch the Editor for the project\n\n### Option 2. Add via cli and build yourself\n\nYou can use the o3de cli tools to register your project with your engine.\n\n```shell\n# change directory to the engine root folder\n\u003e cd C:\\path\\to\\your\\o3de-engine\n# register the gems with the engine, you only need to do this once\n\u003e scripts\\o3de register --project-path C:\\depot\\o3de-multiplayersample-assets\\Project\n```\n\nThere are a number of ways to configure and build the engine and project ...\n\n[Configure and Build - Open 3D Engine](https://www.o3de.org/docs/user-guide/build/configure-and-build/)\n\nAs a developer, I often find it useful to build in an engine-centric way\n\n```shell\n# change directory to the engine root folder\n\u003e cd C:\\path\\to\\your\\o3de-engine\n# create a build folder\n\u003e mkdir build\n\u003e cd build\n# configure cmake and create solution\n\u003e cmake .. -G \"Visual Studio 16\" -A x64 -DLY_3RDPARTY_PATH=\"%LY_3RDPARTY_PATH%\" -DLY_UNITY_BUILD=OFF -DLY_PROJECTS=\"C:\\path\\to\\repo\\o3de-multiplayersample-assets\\Project\"\n```\n\nThis should generate a `build\\O3DE.sln` file, which can be opened in Visual Studio 2019 and compiled.\n\nDon't forget to build the project in Profile\n\n![image](https://user-images.githubusercontent.com/23222931/185497967-b94e1e5e-722c-4b84-b950-a00477343e56.png)\n\nBuilding the Editor project will build with all dependencies.\n\n![image](https://user-images.githubusercontent.com/23222931/185498026-0f235b71-ff10-4135-8008-ba067b6a285b.png)\n\nThe built binary executables will be in:\n\n```shell\n# bin folder\n\u003e cd C:\\path\\to\\your\\o3de-engine\\build\\bin\\profile\\\n# executables\n# C:\\path\\to\\your\\o3de-engine\\build\\bin\\profile\\o3de.exe\n# C:\\path\\to\\your\\o3de-engine\\build\\bin\\profile\\editor.exe\n# ...\n```\n\nIf this is the project you are primarily working with, you can also set it as the \"default project\". \n\n```shell\n# change directory to the engine root folder\n\u003e cd C:\\path\\to\\your\\o3de-engine\n# register the gems with the engine, you only need to do this once\n\u003e scripts\\o3de set-global-project -pp \u003cproject-path\u003e\n```\n\nThis will make this the project that launches by default if you manually directly double-click on a o3de executable like editor.exe\n\n# Contributing to the MPS Asset Repo\n\nAfter following all the steps above, you should be ready to start working.  Once you are in the Editor, you can develop assets to be committed to the asset repo.  Working with the o3de-multiplayersample-assets repo is a similar workflow to the o3de codebase, the general git contributor guide is here for reference: https://docs.o3de.org/docs/contributing/to-code/git-workflow/\n\nThe main O3DE contributor guide is here: https://www.o3de.org/contribute/#contribution-guidelines\n\nAnd the CONTRIBUTING guide for this asset repo has addtional information regarding best practices for developing and cotributing assets such as 3D models, texture images and materials, characters and animations, etc.: https://github.com/o3de/o3de-multiplayersample-assets/blob/main/CONTRIBUTING.md\n\nThe following steps help you validate you are set up correctly and get working to contribute changes.\n\n## O3DE Asset Processor (AP)\n\nAfter the Asset Processor (https://www.o3de.org/docs/user-guide/assets/asset-processor/interface/) and Editor have started, the first suggestion would be to validate that the Gems are active and processing. This is an important troubleshooting step if you actually are having asset issues, like them not showing up in the editor.\n\n1. In the Windows task-bar tray, there should be an icon for the O3DE Asset Processor\n   - ![image](https://user-images.githubusercontent.com/67011188/201197997-d8908bed-cb42-4604-bb87-8b08fa34c233.png)\n2. To view the Asset Processor interface, *right-click* the  Asset Processor icon in the system tray and select *Show*.\n3. Click on the Assets tab\n4. The Project: path should be visible, something like: \n   - `C:\\path\\to\\repo\\o3de-multiplayersample-assets\\Project`\n5. The Root: is the path to the active engine install\n6. The o3de-multiplayersample-assets\\Gems should be visible:\n7. ![image](https://user-images.githubusercontent.com/67011188/201198240-fb9aa04c-9f62-4849-afd8-4e13e890cf96.png)\n\n## MPS Asset Gem Folders\n\nThis is a collection of modular Asset Gems used in o3de-multiplayersample game, but you can develop and contribute assets simply using the MPS Asset Test project.  You simply need to place your assets into the appropriate Gem.\n\n### Asset/ Folders on Disk\n\n1. Asset Gems have an Assets/ folder, this is the default location within the gem folder structure that the AP scans for assets to process and make game ready.\n2. From the AP, you can get to the folder by ...\n   1. Selecting the gem, such as ‘character_mps’\n   2. Right-click, from the context menu select ‘Open in Explorer’\n3. Or you can manually browse to them on disk in Windows File Explorer\n   1. Examples:\n      1. `C:\\path\\to\\repo\\o3de-multiplayersample-assets\\Gems\\kb3d_mps\\Assets`\n      2. `C:\\path\\to\\repo\\o3de-multiplayersample-assets\\Gems\\character_mps\\Assets`\n      3. `...`\n4. Organize your files into the \\Assets folder.  We prefer one-folder per-asset, such as:\n   1. `Gems\\character_mps\\Assets\\MyCharacter\\`\n   2. `Gems\\character_mps\\Assets\\MyCharacter\\mycharacter.fbx`\n   3. `Gems\\character_mps\\Assets\\MyCharacter\\mycharacter.material`\n   4. `Gems\\character_mps\\Assets\\MyCharacter\\textures`\n   5. `Gems\\character_mps\\Assets\\MyCharacter\\textures\\mycharacter_basecolor.png`\n   6. `Gems\\character_mps\\Assets\\MyCharacter\\textures\\mycharacter_roughness.png`\n   7. `...`\n5. As you add asset files to the Gem folder, the AP will scan and process them (into runtime ready assets); so they will show up in your Game Project data in the Editor\n\n### Asset/ Folders in Editor\n\nThe folder structure for each asset gem is retained and accessible in the Editor as well.\n\n1. Select a folder, right-click and ‘Open in Explorer’\n   ![image](https://user-images.githubusercontent.com/67011188/201198691-df9f074c-13af-4c42-9375-b465753e77f4.png)\n\n### Create a new branch in your local workspace\n\n*Switch to the branch you want to use as a base (e.g. create a feature branch off of development):*\n\n`git switch development`\n\n*Pull the branch state:*\n\n`git pull`\n\n*Create a new branch from that state:*\n\n`git switch -c \u003cuser/branch_name\u003e`\n\n### Develop on Branch\n\nMake changes (like adding new asset files) and commit these locally\n\n*This will display files that have changes:*\n\n`git status`\n\n*This action will stage your work:*\n\n`git add \u003cfilename_or_directory\u003e`\n\n*This action will commit the new work:*\n\n`git commit -s -m \"\u003cdescription of your change\u003e\"`\n\nPush changes to the origin. This is required to share your changes, run Automated Reviews, and submit Pull Requests.\n\n*Use the following to push the commits in your current branch to origin. -u will set the branch to track the origin repo. Only required one time:*\n\n`git push -u origin HEAD`\n\n*After using -u, the next time, you can just run a simple push for that branch:*\n\n`git push`\n\n## Submit a Pull Request\n\nYou’ll want to submit a Pull Request and get 2 reviewers before you merge your changes to the public repo.\n\n1. Go to: https://github.com/o3de/o3de-multiplayersample-assets \n2. Click *New Pull Request*\n3. Click compare and select your branch. \n   1. Base branch: development\n   2. Compare: \u003cuser/branch_name\u003e\n   3. Click *Create pull request*\n\nNote: If you are comparing across forks (if you made one), the workflow will be slightly different.  If you have any trouble, let us know so we can help.\n\nConfiguring your PR should look something like:\n\n![image](https://user-images.githubusercontent.com/67011188/201199896-ce1e070c-7533-44b8-a4d0-ca6e3f4e4b5f.png)\n\nAdd the necessary details to the PR\n\n1. Enter title and description\n2. Add reviewers: assign to GitHub users or teams\n3. Get reviews and approvals needed\n4. Then merge your PR\n\nNotes:\n\n* Get a few distinctly different people to review your PR, this repo only requires 2 approvals to merge, but it’s not a bad idea to get others to not only look at the changes but also try the asset changes themselves.\n* This repo is not set up with AR, so make sure your changes work before merging to development, or from development to main.\n* Test your changes, you don’t need to test them in MultiplayerSample (game)\n  * You can use the MPS Asset Test Project folder:\n    * `C:\\path\\to\\repo\\o3de-multiplayersample-assets\\Project`\n  * Or, you can activate these asset gems into your own test project...\n\n# Appendix\n\nAfter the gems are registered and added to a project, you can validate they are operational via the Asset Processor\n\n![image](https://user-images.githubusercontent.com/23222931/178357181-b9d6689e-00c1-46b3-84a7-049615c6d244.png)\n\nHow these Asset Gems were made with O3DE.\n\n1. The Gems were created from the Asset Gem template\n\n2. Then the `gem.json` (metadata) was manually updated per-gem in a text editor to customize the information to display when browsing and viewing the Gems from the O3DE project manager.\n\n```batch\ncd c:\\path\\to\\o3de\\\nscripts\\o3de create-gem --gem-path C:\\o3de-multiplayersample-assets\\Gems\\props_mps --template-path C:\\o3de\\Templates\\AssetGem\nscripts\\o3de create-gem --gem-path C:\\o3de-multiplayersample-assets\\Gems\\level_art_mps --template-path C:\\o3de\\Templates\\AssetGem\nscripts\\o3de create-gem --gem-path C:\\o3de-multiplayersample-assets\\Gems\\character_mps --template-path C:\\o3de\\Templates\\AssetGem\nscripts\\o3de create-gem --gem-path C:\\o3de-multiplayersample-assets\\Gems\\landscape_mps --template-path C:\\o3de\\Templates\\AssetGem\nscripts\\o3de create-gem --gem-path C:\\o3de-multiplayersample-assets\\Gems\\pbr_material_pack_mps --template-path C:\\o3de\\Templates\\AssetGem\nscripts\\o3de create-gem --gem-path C:\\o3de-multiplayersample-assets\\Gems\\kb3d_mps --template-path C:\\o3de\\Templates\\AssetGem\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fo3de%2Fo3de-multiplayersample-assets","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fo3de%2Fo3de-multiplayersample-assets","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fo3de%2Fo3de-multiplayersample-assets/lists"}