- Schola Documentation
-
Examples
- Index
- Training NPCs to Play a MultiAgent Game of Tag
- Training StateTree RL Agents via Hierarchical Reinforcement Learning
-
Training an X-Arm 5 Robotic Arm with AMD Schola and Unreal Engine
-
API Documentation
- Index
-
Python API
- Index
-
Core
-
Extensions
-
Rllib
-
-
Scripts
- Index
-
Minari
-
Rllib
-
Sb3
-
Utils
- Index
-
Compile Proto
- Index
- compile_proto.add_api_macro
- compile_proto.add_third_party_include_guards
- compile_proto.default_warnings
- compile_proto.disable_warnings
- compile_proto.ensure_ue_verify_macro_sandbox
- compile_proto.fix_imports
- compile_proto.get_expected_generated_files
- compile_proto.get_files
- compile_proto.get_generated_cpp_file_types
- compile_proto.get_generated_python_file_types
- compile_proto.get_proto_files
- compile_proto.make_grpc_files
- compile_proto.make_proto_files
- compile_proto.move_files
- compile_proto.remove_stale_generated_files
-
C++ API (Unreal)
- Index
-
Classes
- Index
- AGymConnectorManager
- AImitationConnectorManager
- AImitationPlayerController
- AImitationPlayerControllerBase
- AMultiAgentImitationPlayerController
- ConstPointVisitor
- ConstSpaceVisitor
- ExchangeRPCWorker
- FCPUModelWrapper
- FCPURuntimeWrapper
- FEnhancedInputUtils
- FGPUModelWrapper
- FGPURuntimeWrapper
- FScholaEditorModule
- FScholaImitationModule
- FScholaInferenceUtilsModule
- FScholaInteractorsModule
- FScholaModule
- FScholaNNEModule
- FScholaProtobufModule
- FScholaTrainingModule
- IAgent
- IBaseImitationScholaEnvironment
- IBaseScholaEnvironment
- IConsumerBackend
- ICppOnlyMultiAgentEnvironment
- IExchangeBackend
- IGymConnector
- IImitationScholaEnvironment
- IModelInstanceInterface
- IModelInterface
- IMultiAgentImitationScholaEnvironment
- IMultiAgentScholaEnvironment
- IPolicy
- IProducerBackend
- IProtobufBackend
- IRuntimeInterface
- IScholaActuator
- IScholaEnvironment
- IScholaSensor
- ISingleAgentImitationScholaEnvironment
- ISingleAgentScholaEnvironment
- IStepper
- PointAllocator
- PointVisitor
- ProducerRPCWorker
- ProtobufPointDeserializer
- ProtobufPointSerializer
- ProtobufSpaceDeserializer
- ProtobufSpaceSerializer
- SpaceTransmuter
- SpaceVisitor
- TCallData
- TConsumerRPCBackend
- TConsumerRPCWorker
- TExchangeCallData
- TExchangeRPCBackend
- TImitationScholaEnvironment
- TProducerRPCBackend
- TRPCBackend
- TScholaEnvironment
- UAbstractGymConnector
- UAbstractImitationConnector
- UAgent
- UBaseImitationScholaEnvironment
- UBaseScholaEnvironment
- UBlueprintPolicy
- UBoxPointBlueprintLibrary
- UBoxSpaceBlueprintLibrary
- UBoxStacker
- UCameraSensor
- UCommunicationManager
- UCppOnlyMultiAgentEnvironment
- UDictPointBlueprintLibrary
- UDictSpaceBlueprintLibrary
- UDictStacker
- UDiscretePointBlueprintLibrary
- UDiscreteSpaceBlueprintLibrary
- UExternalGymConnector
- UGymConnector
- ULaunchableScriptFunctionLibrary
- UManualGymConnector
- UMovementInputActuator
- UMultiAgentImitationScholaEnvironment
- UMultiAgentScholaEnvironment
- UMultiBinaryPointBlueprintLibrary
- UMultiBinarySpaceBlueprintLibrary
- UMultiDiscretePointBlueprintLibrary
- UMultiDiscreteSpaceBlueprintLibrary
- UNNEPolicy
- UPipelinedStepper
- UPointBlueprintLibrary
- UPolicy
- URPCGymConnector
- URPCImitationConnector
- URayCastSensor
- URotationActuator
- UScholaActuator
- UScholaSensor
- USimpleStepper
- USingleAgentImitationScholaEnvironment
- USingleAgentScholaEnvironment
- USpaceBlueprintLibrary
- UStackerBase
- UStepper
- UTeleportActuator
-
Structs
- Index
- FAgentState
- FBoxPoint
- FBoxSpace
- FBoxSpaceDimension
- FCustomTrainingSettings
- FDictPoint
- FDictSpace
- FDiscretePoint
- FDiscreteSpace
- FEnvReset
- FEnvStep
- FEnvironmentDefinition
- FEnvironmentState
- FExternalGymConnectorSettings
- FImitationAgentState
- FImitationEnvironmentState
- FImitationLoggingSettings
- FImitationScriptSettings
- FImitationSettings
- FImitationState
- FImitationTrainingState
- FInitialAgentState
- FInitialEnvironmentState
- FInitialState
- FInteractionDefinition
- FLaunchableScript
- FLaunchableScriptRunnable
- FMinariCollectionSettings
- FMultiBinaryPoint
- FMultiBinarySpace
- FMultiDiscretePoint
- FMultiDiscreteSpace
- FNNEBindingCreator
- FNNEBoxBuffer
- FNNEBufferAllocator
- FNNEBufferVisitor
- FNNEDictBuffer
- FNNEDiscreteBuffer
- FNNEMultiBinaryBuffer
- FNNEMultiDiscreteBuffer
- FNNEPointBuffer
- FNNEPointCreator
- FNNEPointToBufferConverter
- FNNEStateBuffer
- FPoint
- FRLlibAPPOSettings
- FRLlibCheckpointSettings
- FRLlibIMPALASettings
- FRLlibLoggingSettings
- FRLlibNetworkArchSettings
- FRLlibPPOSettings
- FRLlibResourceSettings
- FRLlibResumeSettings
- FRLlibSACSettings
- FRLlibTrainingSettings
- FRPCServerSettings
- FSB3CheckpointSettings
- FSB3LoggingSettings
- FSB3NetworkArchSettings
- FSB3PPOSettings
- FSB3ResumeSettings
- FSB3SACSettings
- FSB3TrainingSettings
- FScriptArgBuilder
- FScriptSettingsBase
- FSpace
- FStartRequest
- FTrainingDefinition
- FTrainingReset
- FTrainingScriptSettings
- FTrainingSettings
- FTrainingState
- FTrainingStateUpdate
- FTrainingStep
- TBaseStructure
- TBaseStructure
- FPipelinedStepperFrame
-
Enums
- Index
- EConnectorStatus
- EImitationConnectorStatus
- EAgentStatus
- EAutoResetType
- EChannels
- EComSystemState
- EEnvironmentStatus
- EAgentTrainingStatus
- ERuntimeType
- EPointType
- EFrameOfReference
- ERLlibActivationFunctionEnum
- ERLlibTrainingAlgorithm
- ESB3ActivationFunctionEnum
- ESB3TrainingAlgorithm
- EScriptType
- EPythonEnvironmentType
- ESpaceValidationResult
- ESpaceType
- ETeleportDimensionFlags
- EPythonScript
- ETrainingUpdateType
- EConnectorStatusUpdate
Task 2 - Reach with Random Location
Go to the world editor, then to BP_XArmEnv, and under the Config section of XArmEnvComp, set Randomize Color Permutation to True.
By pressing play in the editor, you should now see the target blocks spawning in different positions, and this will change over each episode during training.
Try pressing play and stop multiple times to confirm each color is not spawning in the same slot every time.
Your environment should look alike these when running.


While the play in editor is running, launch schola with the following command. We are going to continue training from the model trained in Task 1:
schola sb3 train sac editor --resume-from .ckpttask1sac_final.zip --enable-checkpoints --checkpoint-dir .ckpttask2 --save-final-policy --port 8000 --timesteps 100000 --pbar