Skip to content

o3de/o3de-samples-project-gems

O3DE Samples Project Gems

This repository contains:

  1. A collection of O3DE Asset Gems (portable asset packages)
  2. Asset test projects in: o3de-samples-project-gems/tree/main/Projects/*
  3. (Future) A repo.json file containing information about this O3DE Remote Gem Repository
  4. (Future) A GitHub release folder
    1. The gem .zip containing the gem and associated gem.json for each gem

O3DE Modularity

O3DE is highly modular engine and is essentially a collection of O3DE objects. O3DE objects are things like projects and gems, this repository contains both sample asset Gems (asset collections) and sample projects for contributing and validating sample assets (generally not fully featured interactive game projects.)

Core, Canonical and Non-Canonical repos and objects

This repository is considered Non-Canonical which means unofficial, untested and not part of an official O3DE release. Canonical means officially supported, tested and part of an official O3DE release. For more detailed information about optional non-canonical versus canonical O3DE repositories see https://github.com/o3de/o3de-extras

If you want to use these Gems in your own o3de game project

(Future) Option #1. Remote Repository, use packaged Gems with the Project Manager

!!! Skip to Option #2 !!!

Use of this as a remote gem repository is not yet implemented!

Add this remote repository in the Project Manager using this URL:

https://raw.githubusercontent.com/AMZN-temp-user-replace-me/o3de-remote-gem-repo-demo/main

You can then browse the gems in the Project Manager and add them to your Project.

Option #2.  Download and use source Gems

You can clone this 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.)

If you are a developer contributing to these asset gems

Download and Install

This 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.

Create a Git Personal Access Token

You will need your personal access token credentials to authenticate when you clone the repository.

Create a personal access token with the 'repo' scope.

(Recommended) Verify you have a credential manager installed to store your credentials

Recent 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

Step 1. Clone the repository

You can clone the project to any folder locally, including inside the engine folder. If you clone the repository inside an existing Git repository (e.g. o3de) you should add the project folder to the Git exclude file for the existing repository.

Option #1 (Highly Recommended) - cloning into a folder outside the engine repository folder
# clone the project into a folder outside your engine repository folder
> git clone https://github.com/o3de/o3de-samples-project-gems.git
Cloning into 'o3de-samples-project-gems'...
Option #2 - cloning into the engine repository folder
# clone the project into a folder named 'o3de-multiplayersample' in your existing engine repository folder
> git clone https://github.com/o3de/o3de-samples-project-gems.git c:/path/to/o3de/Gems/o3de-samples-project-gems
Cloning into 'o3de-samples-project-gems'...

# modify the local engine git exclude file to ignore the project folder
> echo gems\o3de-samples-project-gems > c:/path/to/o3de/.git/info/exclude

If you have a Git credential helper configured, you should not be prompted for your credentials anymore.

Step 2. Register the gems with the engine

You 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.

Make sure your engine is registered.

:: register the gems with the engine, you only need to do this once
> C:\path\to\o3de\scripts\o3de register --this-engine

Make sure your project is registered.

:: register the project with the engine, you only need to do this once
> C:\path\to\o3de\scripts\o3de register -p C:\path\to\o3de-samples-project-gems\Projects\BistroPBR

Now make sure that the source gems are registered

:: register the gems with the engine, you only need to do this once
> o3de register --all-gems-path C:\path\to\o3de-samples-project-gems\Gems

The above command will recursively scan the input path, then registers all paths with gem.json files into the ~/.o3de/o3de_manifest.json

Now these Gems will be available in the Project Manager and can be added to your Project.

(Optional) o3de-samples-project-gems\Projects*

This repository contains its own O3DE Game projects which utilize these sample assets. These projects can be used by contributors to build, validate, and maintain new assets independently.

# the test projects for sample assets are in this project folder in repo
> cd C:\path\to\o3de-samples-project-gems\Project

Option 1. Add Project to O3DE Project Manager

  1. Launch your O3DE Project Manager (o3de.exe)

  2. Use the blue button in the upper right labeled "New Project ...", and with the pulldown select "Open Existing Project"

  3. Browse to and add a sample project folder: C:\path\to\repo\o3de-samples-project-gems\Projects\<sample project>

  4. You may be prompted to rebuild the project (there are other options for building as a developer)

  5. Launch the Editor for the project

Option 2. Add via cli and build yourself

You can use the o3de cli tools to register your project with your engine.

# change directory to the engine root folder
> cd C:\path\to\your\o3de-engine
# register the gems with the engine, you only need to do this once
> scripts\o3de register --project-path C:\depot\o3de-samples-project-gems\Projects\<sample project>

There are a number of ways to configure and build the engine and project ...

Configure and Build - Open 3D Engine

Contributing to O3DE-samples-project-gems Repo

After 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-samples-project-gems 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/

The main O3DE contributor guide is here:

Contribute to Open 3D Engine - Open 3D Engine

And the CONTRIBUTING guide for this asset repo has additional information regarding best practices for developing and contributing assets such as 3D models, texture images and materials, characters and animations, etc.:

o3de-samples-project-gems/CONTRIBUTING.md

Appendix

How these Asset Gems were made with O3DE:

  1. The Gems were created from the O3DE AssetGem Template

  2. 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.

cd c:\path\to\o3de\
scripts\o3de create-gem --gem-path C:\path\to\o3de-samples-project-gems\Gems\my_gem --template-path C:\path\to\o3de\Templates\AssetGem

License

For terms please see the LICENSE*.TXT file at the root of this distribution.

About

No description, website, or topics provided.

Resources

License

Unknown and 2 other licenses found

Licenses found

Unknown
LICENSE.txt
Apache-2.0
LICENSE_APACHE2.TXT
MIT
LICENSE_MIT.TXT

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published