Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions Config/DefaultEngine.ini
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
[/Script/Engine.Engine]
GameEngine=/Script/SimCadenceController.TrainingGameEngine
UnrealEdEngine=/Script/SimCadenceController.TrainingEditorEngine
CustomTimeStepClassName=/Script/SimCadenceRuntime.SimFixedCustomTimeStep

r.VSyncEditor=0
[/Script/Engine.PhysicsSettings]
bSubstepping=True
MaxSubstepDeltaTime=0.008333
MaxSubsteps=1
2 changes: 1 addition & 1 deletion Config/DefaultGame.ini
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
[/Script/SimCadenceController.SimCadenceSettings]
[/Script/SimCadenceRuntime.SimCadenceSettings]
Mode=Realtime
FixedHz=60.0
bUncapRealtimeRendering=True
Expand Down
36 changes: 0 additions & 36 deletions Source/SimCadenceController/Private/SimCadenceControllerModule.cpp

This file was deleted.

This file was deleted.

18 changes: 0 additions & 18 deletions Source/SimCadenceController/SimCadenceController.Build.cs

This file was deleted.

36 changes: 36 additions & 0 deletions Source/SimCadenceEditor/Private/SimCadenceEditorModule.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
#include "SimCadenceEditorModule.h"
#include "Modules/ModuleManager.h"
#if WITH_EDITOR
#include "ISettingsModule.h"
#include "SimCadenceSettings.h"
#define LOCTEXT_NAMESPACE "FSimCadenceEditorModule"
#endif

IMPLEMENT_MODULE(FSimCadenceEditorModule, SimCadenceEditor)

void FSimCadenceEditorModule::StartupModule()
{
#if WITH_EDITOR
if (ISettingsModule* SettingsModule = FModuleManager::LoadModulePtr<ISettingsModule>(TEXT("Settings")))
{
SettingsModule->RegisterSettings(TEXT("Project"), TEXT("Plugins"), TEXT("SimCadence"),
LOCTEXT("SimCadenceName", "Sim Cadence"),
LOCTEXT("SimCadenceDesc", "Physics-authoritative cadence and training controls."),
GetMutableDefault<USimCadenceSettings>());
}
#endif
}

void FSimCadenceEditorModule::ShutdownModule()
{
#if WITH_EDITOR
if (ISettingsModule* SettingsModule = FModuleManager::LoadModulePtr<ISettingsModule>(TEXT("Settings")))
{
SettingsModule->UnregisterSettings(TEXT("Project"), TEXT("Plugins"), TEXT("SimCadence"));
}
#endif
}

#if WITH_EDITOR
#undef LOCTEXT_NAMESPACE
#endif
9 changes: 9 additions & 0 deletions Source/SimCadenceEditor/Public/SimCadenceEditorModule.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
#pragma once
#include "Modules/ModuleManager.h"

class FSimCadenceEditorModule : public IModuleInterface
{
public:
virtual void StartupModule() override;
virtual void ShutdownModule() override;
};
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
class IEngineLoop;

UCLASS(Config = Engine, Transient)
class SIMCADENCECONTROLLER_API UTrainingEditorEngine : public UUnrealEdEngine
class SIMCADENCEEDITOR_API UTrainingEditorEngine : public UUnrealEdEngine
{
GENERATED_BODY()

Expand Down
20 changes: 20 additions & 0 deletions Source/SimCadenceEditor/SimCadenceEditor.Build.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
using UnrealBuildTool;

public class SimCadenceEditor : ModuleRules
{
public SimCadenceEditor(ReadOnlyTargetRules Target) : base(Target)
{
PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;

PrivateDependencyModuleNames.AddRange(new string[] {
"Core", "CoreUObject", "Engine",
"UnrealEd",
"SimCadenceRuntime"
});

if (!Target.bBuildEditor)
{
throw new BuildException("SimCadenceEditor must be built with the editor.");
}
}
}
4 changes: 4 additions & 0 deletions Source/SimCadenceRuntime/Private/SimCadenceRuntimeModule.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#include "SimCadenceRuntimeModule.h"
#include "Modules/ModuleManager.h"

IMPLEMENT_MODULE(FSimCadenceRuntimeModule, SimCadenceRuntime)
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,5 @@ void USimCadenceSettings::PostEditChangeProperty(FPropertyChangedEvent& Property
}
}
}
#endif
#endif

Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ class USimFixedCustomTimeStep;
class ASimCadencePhysicsBridge;

UCLASS()
class SIMCADENCECONTROLLER_API USimCadenceEngineSubsystem : public UEngineSubsystem
class SIMCADENCERUNTIME_API USimCadenceEngineSubsystem : public UEngineSubsystem
{
GENERATED_BODY()
public:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FFixedStepEvent, float, FixedDeltaTime);

UCLASS(NotBlueprintable, Transient)
class SIMCADENCECONTROLLER_API ASimCadencePhysicsBridge : public AActor
class SIMCADENCERUNTIME_API ASimCadencePhysicsBridge : public AActor
{
GENERATED_BODY()
public:
Expand Down
9 changes: 9 additions & 0 deletions Source/SimCadenceRuntime/Public/SimCadenceRuntimeModule.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
#pragma once
#include "Modules/ModuleManager.h"

class FSimCadenceRuntimeModule : public IModuleInterface
{
public:
virtual void StartupModule() override {}
virtual void ShutdownModule() override {}
};
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ enum class ESimCadenceMode : uint8
};

UCLASS(Config = Game, DefaultConfig, meta = (DisplayName = "Sim Cadence"))
class SIMCADENCECONTROLLER_API USimCadenceSettings : public UDeveloperSettings
class SIMCADENCERUNTIME_API USimCadenceSettings : public UDeveloperSettings
{
GENERATED_BODY()
public:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
#include "SimFixedCustomTimeStep.generated.h"

UCLASS()
class SIMCADENCECONTROLLER_API USimFixedCustomTimeStep : public UEngineCustomTimeStep
class SIMCADENCERUNTIME_API USimFixedCustomTimeStep : public UEngineCustomTimeStep
{
GENERATED_BODY()
public:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
#include "TrainingGameEngine.generated.h"

UCLASS(config = Engine)
class SIMCADENCECONTROLLER_API UTrainingGameEngine : public UGameEngine
class SIMCADENCERUNTIME_API UTrainingGameEngine : public UGameEngine
{
GENERATED_BODY()
protected:
Expand Down
17 changes: 17 additions & 0 deletions Source/SimCadenceRuntime/SimCadenceRuntime.Build.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
using UnrealBuildTool;

public class SimCadenceRuntime : ModuleRules
{
public SimCadenceRuntime(ReadOnlyTargetRules Target) : base(Target)
{
PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;

PublicDependencyModuleNames.AddRange(new string[] {
"Core", "CoreUObject", "Engine", "DeveloperSettings"
});

PrivateDependencyModuleNames.AddRange(new string[] {
"Projects"
});
}
}
19 changes: 13 additions & 6 deletions Source/UnrealMLAgents/UnrealMLAgents.Build.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,20 @@ public UnrealMLAgents(ReadOnlyTargetRules Target) : base(Target)
MLAgentsPlatformInstance = GetMLAgentsPlatformInstance(Target);
bEnableExceptions = true;

PrivateDependencyModuleNames.AddRange(
new string[] { "Slate", "SlateCore", "Core", "CoreUObject", "Engine", "SimCadenceController" });
PublicDependencyModuleNames.AddRange(
new string[] { "Core", "CoreUObject", "Engine", "SimCadenceRuntime" });

if (Target.bBuildEditor)
{
PrivateDependencyModuleNames.AddRange(new string[] { "UnrealEd" });
}
PrivateDependencyModuleNames.AddRange(new string[] { "Slate", "SlateCore" });

if (Target.bBuildEditor)
{
PrivateDependencyModuleNames.Add("SimCadenceEditor");
PublicDefinitions.Add("WITH_SIMCADENCE_EDITOR=1");
}
else
{
PublicDefinitions.Add("WITH_SIMCADENCE_EDITOR=0");
}

AddEngineThirdPartyPrivateStaticDependencies(Target, "OpenSSL");
AddEngineThirdPartyPrivateStaticDependencies(Target, "zlib");
Expand Down
59 changes: 28 additions & 31 deletions UnrealMLAgents.uplugin
Original file line number Diff line number Diff line change
@@ -1,33 +1,30 @@
{
"FileVersion": 3,
"Version": 100,
"VersionName": "1.0.0",
"FriendlyName": "UnrealMLAgents",
"Description": "A plugin for Unreal Engine enabling Deep Reinforcement Learning, inspired by Unity ML-Agents.",
"Category": "Machine Learning",
"CreatedBy": "AlanLaboratory, Stephane Capponi",
"CreatedByURL": "https://github.com/AlanLaboratory/UnrealMLAgents",
"DocsURL": "https://unrealmlagents.readthedocs.io/en/latest/",
"FabURL": "com.epicgames.launcher://ue/Fab/product/0207991a-a838-4b27-94f6-76ee166a0146/",
"MarketplaceURL": "",
"SupportURL": "discord.gg/XNNJFfgw6M",
"CanContainContent": true,
"IsBetaVersion": false,
"IsExperimentalVersion": false,
"Installed": false,
"Modules": [
{
"name": "UnrealMLAgents",
"type": "Runtime",
"loadingphase": "Default",
"PlatformAllowList": [
"Win64"
]
},
{
"Name": "SimCadenceController",
"Type": "Editor",
"LoadingPhase": "PostEngineInit"
}
]
"FileVersion": 3,
"Version": 100,
"VersionName": "1.0.0",
"FriendlyName": "UnrealMLAgents",
"Description": "A plugin for Unreal Engine enabling Deep Reinforcement Learning, inspired by Unity ML-Agents.",
"Category": "Machine Learning",
"CreatedBy": "AlanLaboratory, Stephane Capponi",
"CreatedByURL": "https://github.com/AlanLaboratory/UnrealMLAgents",
"DocsURL": "https://unrealmlagents.readthedocs.io/en/latest/",
"FabURL": "com.epicgames.launcher://ue/Fab/product/0207991a-a838-4b27-94f6-76ee166a0146/",
"MarketplaceURL": "",
"SupportURL": "discord.gg/XNNJFfgw6M",
"CanContainContent": true,
"IsBetaVersion": false,
"IsExperimentalVersion": false,
"Installed": false,
"Modules": [
{
"Name": "UnrealMLAgents",
"Type": "Runtime",
"LoadingPhase": "Default",
"PlatformAllowList": [
"Win64"
]
},
{ "Name": "SimCadenceRuntime", "Type": "Runtime", "LoadingPhase": "Default" },
{ "Name": "SimCadenceEditor", "Type": "Editor", "LoadingPhase": "PostEngineInit" }
]
}
Loading