Skip to content

Commit 26b5663

Browse files
committed
ScholaExamples v1.3.0
1 parent 84554bd commit 26b5663

File tree

13 files changed

+90
-46
lines changed

13 files changed

+90
-46
lines changed

.gitmodules

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
[submodule "Plugins/Schola"]
22
path = Plugins/Schola
3-
url = ../Schola
3+
url = ../Schola.git
44
branch = main

CITATION.cff

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,5 +33,5 @@ keywords:
3333
- Unreal Engine 5
3434
- Python
3535
license: MIT
36-
version: '1.1'
37-
date-released: '2025-04-01'
36+
version: '1.3'
37+
date-released: '2025-08-01'

Plugins/Schola

Submodule Schola updated 78 files

README.md

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,17 @@ This project contains Example Environments for Schola. These can be used as a re
66

77
### Install Unreal Engine
88

9-
Release 1.0 of this this project is designed for Unreal Engine 5.4 which is available for [Download](https://www.unrealengine.com/en-US/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).
9+
As Schola examples is an Unreal Engine Project, you will need to first install Unreal Engine. Refer to the below table to identify the correct version of Unreal Engine for each version of Schola Examples.
10+
11+
>**Note**
12+
> Versions of Schola/ScholaExamples may be compatible with other Unreal Versions beyond the ones listed here, however these are the version(s) tested for each release.
13+
14+
| Schola Examples Version | schola version | Unreal Version |
15+
| ----------------------- | -------------- | -------------- |
16+
| 1.3 | 1.3 | 5.5-5.6 |
17+
| 1.2 | 1.2 | 5.5 |
18+
| 1.1 | 1.1 | 5.5 |
19+
| 1.0 | 1.0 | 5.4 |
1020

1121
### Install Visual Studio
1222

@@ -21,7 +31,7 @@ As Visual Studio is not supported on Linux, we recommend installing Visual Studi
2131
### Install standalone Python package
2232
This installs the ScholaExamples environments as a standalone package
2333
```bash
24-
pip install schola-examples
34+
pip install -e <path to ./python>
2535
```
2636

2737
## Usage

ScholaExamples.uproject

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,10 @@
3838
{
3939
"Name": "NNERuntimeBasicCpu",
4040
"Enabled": true
41+
},
42+
{
43+
"Name": "FunctionalTestingEditor",
44+
"Enabled": true
4145
}
4246
]
43-
}
47+
}

Source/ScholaExamples.Target.cs

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,16 @@ public ScholaExamplesTarget(TargetInfo Target) : base(Target)
99
{
1010
Type = TargetType.Game;
1111
DefaultBuildSettings = BuildSettingsVersion.V5;
12-
IncludeOrderVersion = EngineIncludeOrderVersion.Unreal5_5;
12+
13+
if (Target.Version.MajorVersion == 5 && Target.Version.MinorVersion >= 6)
14+
{
15+
IncludeOrderVersion = EngineIncludeOrderVersion.Latest;
16+
}
17+
else
18+
{
19+
IncludeOrderVersion = EngineIncludeOrderVersion.Unreal5_5;
20+
}
21+
1322
ExtraModuleNames.Add("ScholaExamples");
1423
ExtraModuleNames.Add("RaceTrack");
1524

Source/ScholaExamplesEditor.Target.cs

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,21 @@
55

66
public class ScholaExamplesEditorTarget : TargetRules
77
{
8-
public ScholaExamplesEditorTarget( TargetInfo Target) : base(Target)
9-
{
10-
Type = TargetType.Editor;
11-
DefaultBuildSettings = BuildSettingsVersion.V5;
12-
IncludeOrderVersion = EngineIncludeOrderVersion.Unreal5_5;
13-
ExtraModuleNames.Add("ScholaExamples");
14-
ExtraModuleNames.Add("RaceTrack");
15-
8+
public ScholaExamplesEditorTarget( TargetInfo Target) : base(Target)
9+
{
10+
Type = TargetType.Editor;
11+
DefaultBuildSettings = BuildSettingsVersion.V5;
12+
13+
if (Target.Version.MajorVersion == 5 && Target.Version.MinorVersion >= 6)
14+
{
15+
IncludeOrderVersion = EngineIncludeOrderVersion.Latest;
16+
}
17+
else
18+
{
19+
IncludeOrderVersion = EngineIncludeOrderVersion.Unreal5_5;
20+
}
21+
22+
ExtraModuleNames.Add("ScholaExamples");
23+
ExtraModuleNames.Add("RaceTrack");
1624
}
1725
}

pytest.ini

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,5 +16,5 @@ norecursedirs =
1616
__pycache__
1717
testpaths =
1818
python/tests
19+
Plugins/Schola/Test/conftest.py
1920
engine_path = C:/Program Files/Epic Games/UE_5.5
20-
clean_build = false

python/tests/Maps/Examples/sb3.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ def test_num_environment_copies(self, env):
4040
assert env.num_envs == self.example.total_num_agents, f"Incorrect Number of Sub-Environments. Expected:{self.example.total_num_agents} Got:{env.num_envs}"
4141

4242

43+
@pytest.mark.serial
4344
class AbstractTestSB3Example:
4445
example : UnrealExample = None
4546

@@ -78,4 +79,4 @@ def test_script_runs_on_example(self, built_game_path):
7879

7980

8081
class AbstractTestIncompatibleSB3Example:
81-
example = None
82+
example = None

python/tests/conftest.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
from .Maps.Examples import ALL_EXAMPLES
77
from .Maps.Tests import ALL_TEST_LEVELS
88
from pathlib import Path
9-
from schola.core.unreal_connections import StandaloneUnrealConnection, UnrealConnection
9+
from schola.core.unreal_connections import StandaloneUnrealConnection, UnrealEditorConnection
1010
import shutil
1111
from subprocess import CompletedProcess
1212

@@ -21,6 +21,7 @@ def pytest_addoption(parser):
2121

2222
def pytest_configure(config):
2323
config.addinivalue_line("markers", "buildtest: mark test as validating some build property")
24+
config.addinivalue_line("markers", "serial: mark test to force run serially")
2425

2526
def pytest_collection_modifyitems(config, items):
2627
if config.getoption("--use-existing-build") is None:
@@ -43,7 +44,7 @@ def all_test_levels():
4344
def make_unreal_connection(built_game_path):
4445
connections = []
4546

46-
def factory(example) -> UnrealConnection:
47+
def factory(example) -> UnrealEditorConnection:
4748
connection = StandaloneUnrealConnection("localhost", built_game_path, headless_mode=True, map=example.path, display_logs=False, disable_script=True)
4849
connections.append(connection)
4950
return connection

0 commit comments

Comments
 (0)