scholaexamples
Schola Examples is an Unreal Engine project containing sample environments developed with the Schola plugin for Unreal Engine. Schola provides tools to help developers create environments, define agents, and connect to python-based Reinforcement Learning frameworks such as OpenAI Gym, RLlib or Stable Baselines 3.
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.2%) to scientific vocabulary
Repository
Schola Examples is an Unreal Engine project containing sample environments developed with the Schola plugin for Unreal Engine. Schola provides tools to help developers create environments, define agents, and connect to python-based Reinforcement Learning frameworks such as OpenAI Gym, RLlib or Stable Baselines 3.
Basic Info
- Host: GitHub
- Owner: GPUOpen-LibrariesAndSDKs
- Language: Python
- Default Branch: main
- Homepage: https://gpuopen.com/amd-schola/
- Size: 166 KB
Statistics
- Stars: 11
- Watchers: 4
- Forks: 2
- Open Issues: 1
- Releases: 4
Metadata Files
README.md
ScholaExamples: Example Environments Built Using Schola
This project contains Example Environments for Schola. These can be used as a resource to see how to structure environments built with Schola or reused to train similar agents
Getting Started
Install Unreal Engine
Release 1.0 of this this project is designed for Unreal Engine 5.4 which is available for Download and is tested on 5.4.3 and 5.4.4. Release 1.1 supports Unreal Engine 5.5 (It is not compatible with Unreal Engine 5.4).
Install Visual Studio
Visual Studio 2022 is available for download from Microsoft. Additionally, details (and an additional plugin) for setting up Visual Studio with Unreal Engine are available in the UE Docs.
Note
Only MSVC v143 Build Tools should be selected during install including other build tools will cause linking errors. Specifically, useMSVC14.XwhereX>34from Visual Studio 2022, andWindows 10.0.22621.0 SDKto avoid linking errors
Install Visual Studio Code (Optional)
As Visual Studio is not supported on Linux, we recommend installing Visual Studio Code following the official guide for Setting Up Visual Studio Code for Unreal Engine.
Install standalone Python package
This installs the ScholaExamples environments as a standalone package
bash
pip install schola-examples
Usage
Direct Environment Import
```python
OpenAI Gymnasium environments
from schola_examples.gym import BallShooter, BallShooterVec
Both environments are subclasses of gymnasium.vector.VectorEnv
env = BallShooter() # Single environment instance for sequential training env = BallShooterVec(headless_mode=True) # Vectorized environment for parallel training
Stable-Baselines3 environments
from schola_examples.sb3 import BallShooter, BallShooterVec
Both environments are subclasses of stablebaselines3.common.vecenv.VecEnv
env = BallShooter() # Single environment instance env = BallShooterVec(headless_mode=True) # Vectorized environment for parallel training
RLlib environments
from schola_examples.ray import BallShooter, BallShooterVec
Both environments are subclasses of ray.rllib.env.base_env.BaseEnv
env = BallShooter() # Single environment instance env = BallShooterVec(headless_mode=True) # Vectorized environment for parallel training ```
Using Gymnasium Factory
```python import schola_examples import gymnasium
Creates a vectorized environment of class gymnasium.vector.VectorEnv using Gymnasium's make_vec factory
env = gymnasium.make_vec("Schola/Basic-v0") ```
Using RLlib Registry
```python import schola_examples from ray.rllib.algorithms import ppo
Creates environment of class ray.rllib.env.base_env.BaseEnv from RLlib's built-in registry
algo = ppo.PPO(env="Basic-V0") ```
Contributing
Contibuting Examples
When adding new examples to ScholaExamples please follow the below naming scheme for your files and folders.
Content/
└── Examples/
├── ExampleOne/
| ├── Maps/
| | ├── ExampleOneInference.umap
| | ├── ExampleOneTrain.umap
| | └── ExampleOneVecTrain.umap
| ├── Blueprints/
| | ├── ExampleOneEnvironment.uasset
| | ├── ExampleOneTrainer.uasset
| | ├── CustomActuator.uasset
| | ├── CustomObserver.uasset
| | └── ExampleOneAgent.uasset
| └── Models/
| └── ExampleOneOnnx.uasset
└── ExampleTwo/
└── Blueprints/
├── FirstAgentNameAgent.uasset
├── FirstAgentTrainer.uasset
└── SecondAgentNameAgent.uasset
Rules
- All umap files go under the Maps folder
- All code and blueprints goes under the blueprints folder. Prefer blueprints for implementing examples.
- For Each Example add one map that runs inference, using the trained model, one map that trains a single environment at a time, and one map that trains multiple copies of the environment.
- If the example is single agent the environment should be named after the name of the example (e.g.
3DBallAgent.uasset), for multiagent environments use the name of the agents (e.g.RunnerAgent.uassetandTaggerAgent.uasset) instead of the example for Trainers and Agents. - Models should be saved as the name of the example followed by
Onnxand be stored in the Models folder.
Unreal Coding Style
All unreal code with be styled following the Unreal Style Guide in the Unreal Documentation.
One potential auto-formatter is the Clang Formatter which has visual studio support.
Comments
Comments are based on doxygen /** style to match closely with javadoc (which Unreal uses) but support handy visual studio features such as comment previews. To enable autogenerated doxygen stubs go to Tools -> Options -> Text Editor -> C/C++ -> Code Style -> General and change the option from XML to Doxygen (/**). This will enable autogeneration of stubs with ctrl + /, or whenever you type /** in visual studio.
Automated Testing
Testing is implemented through pytests in Schola in Resources/python/tests. These tests build a fresh copy of both this project and Schola before running unit tests on Python + Unreal. This tests whether all examples run with each framework and are functional based on the API.
Owner
- Name: GPUOpen Libraries & SDKs
- Login: GPUOpen-LibrariesAndSDKs
- Kind: organization
- Website: http://gpuopen-librariesandsdks.github.io/
- Repositories: 73
- Profile: https://github.com/GPUOpen-LibrariesAndSDKs
Libraries and SDKs from the GPUOpen initiative
Citation (CITATION.cff)
cff-version: 1.2.0
title: ScholaExamples
message: >-
If you use this software, please cite it using the
metadata from this file.
type: software
authors:
- given-names: Alexander
family-names: Cann
name-particle: Alexander
email: alexcann@amd.com
affiliation: AMD
- given-names: Tian Yue
family-names: Liu
email: TianYue.Liu@amd.com
affiliation: AMD
- given-names: Nathan
family-names: Hung
email: Nathan.Hung@amd.com
affiliation: AMD
- given-names: Mehdi
family-names: Saeedi
email: Mehdi.Saeedi@amd.com
affiliation: AMD
repository-code: 'https://github.com/GPUOpen-LibrariesAndSDKs/ScholaExamples'
url: 'https://gpuopen.com/amd-schola/'
abstract: >-
Schola Examples is an Unreal Engine project containing sample environments developed
with the Schola plugin for Unreal Engine. Schola provides tools to help developers create environments,
define agents, and connect to python-based Reinforcement Learning frameworks such as OpenAI Gym, RLlib or Stable Baselines 3.
keywords:
- Reinforcement Learning
- Unreal Engine 5
- Python
license: MIT
version: '1.1'
date-released: '2025-04-01'
GitHub Events
Total
- Create event: 3
- Release event: 3
- Issues event: 1
- Watch event: 7
- Issue comment event: 1
- Public event: 1
- Fork event: 1
Last Year
- Create event: 3
- Release event: 3
- Issues event: 1
- Watch event: 7
- Issue comment event: 1
- Public event: 1
- Fork event: 1
Committers
Last synced: 8 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Mark Simpson | m****n@a****m | 4 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 8 months ago
All Time
- Total issues: 1
- Total pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Total issue authors: 1
- Total pull request authors: 0
- Average comments per issue: 0.0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 1
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 1
- Pull request authors: 0
- Average comments per issue: 0.0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- AlexHe99 (1)
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- gymnasium ==0.29.1
- schola *