Skip to content
Snippets Groups Projects
Commit ce9078c6 authored by David Gilbert's avatar David Gilbert :bug:
Browse files

Switched template to new 4.26 TP_nDisplayBP template base. New .ini files work...

Switched template to new 4.26 TP_nDisplayBP template base. New .ini files work on Windows, but might need adjusting on Linux.
Input settings need to be adjusted depending on what we want to do with the nDisplayExtensions later on, but for now are also based on the nDisplay template,
not the old VR template. nothing.h/cpp file removed, don't think this is needed. New nDisplay map added.
parent 9e642a45
No related branches found
No related tags found
No related merge requests found
...@@ -31,7 +31,7 @@ Build_Windows: ...@@ -31,7 +31,7 @@ Build_Windows:
extends: .Build_Windows_ extends: .Build_Windows_
tags: tags:
- windows - windows
- unreal-4.22 - unreal-4.26
# variables: # variables:
# CLIENT_CONFIG: "DebugGame" # CLIENT_CONFIG: "DebugGame"
...@@ -40,7 +40,7 @@ Build_CentOS: ...@@ -40,7 +40,7 @@ Build_CentOS:
extends: .Build_CentOS_ extends: .Build_CentOS_
tags: tags:
- centos - centos
- unreal-4.22 - unreal-4.26
# variables: # variables:
# CLIENT_CONFIG: "DebugGame" # CLIENT_CONFIG: "DebugGame"
......
...@@ -7,93 +7,20 @@ AppliedDefaultGraphicsPerformance=Maximum ...@@ -7,93 +7,20 @@ AppliedDefaultGraphicsPerformance=Maximum
[/Script/EngineSettings.GameMapsSettings] [/Script/EngineSettings.GameMapsSettings]
EditorStartupMap=/Game/Maps/Main.Main EditorStartupMap=/Game/Maps/Main.Main
GameDefaultMap=/Game/Maps/Main.Main GameDefaultMap=/Game/Maps/Main.Main
GlobalDefaultGameMode=/Script/DisplayClusterExtensions.VirtualRealityGameMode
[/Script/Engine.Engine]
GameEngine=/Script/DisplayCluster.DisplayClusterGameEngine
UnrealEdEngine=/Script/DisplayClusterEditor.DisplayClusterEditorEngine
+ActiveGameNameRedirects=(OldGameName="TP_nDisplayBP",NewGameName="/Script/RwthVrTemplate")
+ActiveGameNameRedirects=(OldGameName="/Script/TP_nDisplayBP",NewGameName="/Script/RwthVrTemplate")
[/Script/DisplayClusterEditor.DisplayClusterEditorSettings] [/Script/DisplayClusterEditor.DisplayClusterEditorSettings]
bEnabled=True bEnabled=True
[/Script/WindowsTargetPlatform.WindowsTargetSettings]
Compiler=Default
-TargetedRHIs=PCD3D_SM5
-TargetedRHIs=PCD3D_SM4
+TargetedRHIs=PCD3D_SM5
+TargetedRHIs=PCD3D_SM4
+TargetedRHIs=GLSL_430
+TargetedRHIs=GLSL_150
MinimumOSVersion=MSOS_Vista
AudioDevice=
AudioSampleRate=48000
AudioCallbackBufferFrameSize=1024
AudioNumBuffersToEnqueue=1
AudioMaxChannels=0
AudioNumSourceWorkers=4
SpatializationPlugin=
ReverbPlugin=
OcclusionPlugin=
[/Script/Engine.RendererSettings] [/Script/Engine.RendererSettings]
r.DefaultFeature.Bloom=False r.DefaultFeature.Bloom=False
r.DefaultFeature.AutoExposure=False r.DefaultFeature.AutoExposure=False
r.DefaultFeature.MotionBlur=False r.DefaultFeature.MotionBlur=False
r.SceneRenderTargetResizeMethod=2
vr.AllowMotionBlurInVR=True
[/Script/HardwareTargeting.HardwareTargetingSettings] [/Script/WindowsTargetPlatform.WindowsTargetSettings]
TargetedHardwareClass=Desktop DefaultGraphicsRHI=DefaultGraphicsRHI_DX11
DefaultGraphicsPerformance=Maximum +TargetedRHIs=PCD3D_SM5
-TargetedRHIs=PCD3D_SM4
[/Script/IOSRuntimeSettings.IOSRuntimeSettings] -TargetedRHIs=GLSL_430
bSupportsPortraitOrientation=False -TargetedRHIs=GLSL_150
bSupportsUpsideDownOrientation=False
bSupportsLandscapeLeftOrientation=True
PreferredLandscapeOrientation=LandscapeLeft
[/Script/Engine.PhysicsSettings]
DefaultGravityZ=-980.000000
DefaultTerminalVelocity=4000.000000
DefaultFluidFriction=0.300000
SimulateScratchMemorySize=262144
RagdollAggregateThreshold=4
TriangleMeshTriangleMinAreaThreshold=5.000000
bEnableShapeSharing=False
bEnablePCM=True
bEnableStabilization=False
bWarnMissingLocks=True
bEnable2DPhysics=False
PhysicErrorCorrection=(PingExtrapolation=0.100000,PingLimit=100.000000,ErrorPerLinearDifference=1.000000,ErrorPerAngularDifference=1.000000,MaxRestoredStateError=1.000000,MaxLinearHardSnapDistance=400.000000,PositionLerp=0.000000,AngleLerp=0.400000,LinearVelocityCoefficient=100.000000,AngularVelocityCoefficient=10.000000,ErrorAccumulationSeconds=0.500000,ErrorAccumulationDistanceSq=15.000000,ErrorAccumulationSimilarity=100.000000)
LockedAxis=Invalid
DefaultDegreesOfFreedom=Full3D
BounceThresholdVelocity=200.000000
FrictionCombineMode=Average
RestitutionCombineMode=Average
MaxAngularVelocity=3600.000000
MaxDepenetrationVelocity=0.000000
ContactOffsetMultiplier=0.020000
MinContactOffset=2.000000
MaxContactOffset=8.000000
bSimulateSkeletalMeshOnDedicatedServer=True
DefaultShapeComplexity=CTF_UseSimpleAndComplex
bDefaultHasComplexCollision=True
bSuppressFaceRemapTable=False
bSupportUVFromHitResults=False
bDisableActiveActors=False
bDisableKinematicStaticPairs=False
bDisableKinematicKinematicPairs=False
bDisableCCD=False
bEnableEnhancedDeterminism=False
MaxPhysicsDeltaTime=0.033333
bSubstepping=False
bSubsteppingAsync=False
MaxSubstepDeltaTime=0.016667
MaxSubsteps=6
SyncSceneSmoothingFactor=0.000000
InitialAverageFrameRate=0.016667
PhysXTreeRebuildRate=10
DefaultBroadphaseSettings=(bUseMBPOnClient=False,bUseMBPOnServer=False,MBPBounds=(Min=(X=0.000000,Y=0.000000,Z=0.000000),Max=(X=0.000000,Y=0.000000,Z=0.000000),IsValid=0),MBPNumSubdivs=2)
...@@ -2,3 +2,7 @@ ...@@ -2,3 +2,7 @@
ProjectID=6F40C2084FB7D1EAFCAEF3B2C978D28C ProjectID=6F40C2084FB7D1EAFCAEF3B2C978D28C
ProjectName=RwthVrTemplate ProjectName=RwthVrTemplate
bUseBorderlessWindow=True bUseBorderlessWindow=True
[/Script/UnrealEd.ProjectPackagingSettings]
+DirectoriesToAlwaysStageAsNonUFS=(Path="ExampleConfigs")
...@@ -12,8 +12,6 @@ ...@@ -12,8 +12,6 @@
+AxisConfig=(AxisKeyName="Gamepad_RightY",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) +AxisConfig=(AxisKeyName="Gamepad_RightY",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MouseX",AxisProperties=(DeadZone=0.000000,Sensitivity=0.070000,Exponent=1.000000,bInvert=False)) +AxisConfig=(AxisKeyName="MouseX",AxisProperties=(DeadZone=0.000000,Sensitivity=0.070000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MouseY",AxisProperties=(DeadZone=0.000000,Sensitivity=0.070000,Exponent=1.000000,bInvert=False)) +AxisConfig=(AxisKeyName="MouseY",AxisProperties=(DeadZone=0.000000,Sensitivity=0.070000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MotionController_Left_Thumbstick_Z",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MotionController_Right_Thumbstick_Z",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MouseWheelAxis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) +AxisConfig=(AxisKeyName="MouseWheelAxis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Gamepad_LeftTriggerAxis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) +AxisConfig=(AxisKeyName="Gamepad_LeftTriggerAxis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Gamepad_RightTriggerAxis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) +AxisConfig=(AxisKeyName="Gamepad_RightTriggerAxis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
...@@ -39,46 +37,26 @@ bDefaultViewportMouseLock=False ...@@ -39,46 +37,26 @@ bDefaultViewportMouseLock=False
bAlwaysShowTouchInterface=False bAlwaysShowTouchInterface=False
bShowConsoleOnFourFingerTap=True bShowConsoleOnFourFingerTap=True
bEnableGestureRecognizer=False bEnableGestureRecognizer=False
bUseAutocorrect=False
DefaultViewportMouseCaptureMode=CapturePermanently_IncludingInitialMouseDown DefaultViewportMouseCaptureMode=CapturePermanently_IncludingInitialMouseDown
DefaultViewportMouseLockMode=LockOnCapture DefaultViewportMouseLockMode=LockOnCapture
FOVScale=0.011110 FOVScale=0.011110
DoubleClickTime=0.200000 DoubleClickTime=0.200000
+ActionMappings=(ActionName="Fire",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=LeftMouseButton)
+ActionMappings=(ActionName="Fire",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=nDisplayButton0)
+ActionMappings=(ActionName="Fire",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=MotionController_Right_Trigger)
+ActionMappings=(ActionName="Action1",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=One)
+ActionMappings=(ActionName="Action1",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=nDisplayButton1)
+ActionMappings=(ActionName="Action1",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=MotionController_Right_FaceButton1)
+ActionMappings=(ActionName="Action2",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Two)
+ActionMappings=(ActionName="Action2",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=nDisplayButton2)
+ActionMappings=(ActionName="Action2",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=MotionController_Right_FaceButton2)
+ActionMappings=(ActionName="Action3",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Three)
+ActionMappings=(ActionName="Action3",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=nDisplayButton3)
+ActionMappings=(ActionName="Action3",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=MotionController_Right_FaceButton3)
+ActionMappings=(ActionName="Action4",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Four)
+ActionMappings=(ActionName="Action4",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=nDisplayButton4)
+ActionMappings=(ActionName="Action4",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=MotionController_Right_FaceButton4)
+ActionMappings=(ActionName="Action5",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Five)
+ActionMappings=(ActionName="Action5",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=nDisplayButton5)
+ActionMappings=(ActionName="Action5",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=MotionController_Right_Grip1)
+AxisMappings=(AxisName="MoveForward",Scale=1.000000,Key=W) +AxisMappings=(AxisName="MoveForward",Scale=1.000000,Key=W)
+AxisMappings=(AxisName="MoveForward",Scale=-1.000000,Key=S)
+AxisMappings=(AxisName="MoveForward",Scale=1.000000,Key=nDisplayAnalog1)
+AxisMappings=(AxisName="MoveForward",Scale=-1.000000,Key=MotionController_Right_Thumbstick_Y)
+AxisMappings=(AxisName="MoveRight",Scale=1.000000,Key=D) +AxisMappings=(AxisName="MoveRight",Scale=1.000000,Key=D)
+AxisMappings=(AxisName="MoveRight",Scale=-1.000000,Key=A)
+AxisMappings=(AxisName="MoveRight",Scale=1.000000,Key=nDisplayAnalog0)
+AxisMappings=(AxisName="MoveRight",Scale=1.000000,Key=MotionController_Right_Thumbstick_X)
+AxisMappings=(AxisName="MoveUp",Scale=1.000000,Key=E) +AxisMappings=(AxisName="MoveUp",Scale=1.000000,Key=E)
+AxisMappings=(AxisName="MoveUp",Scale=-1.000000,Key=Q)
+AxisMappings=(AxisName="TurnRate",Scale=-1.000000,Key=Left) +AxisMappings=(AxisName="TurnRate",Scale=-1.000000,Key=Left)
+AxisMappings=(AxisName="TurnRate",Scale=1.000000,Key=Right)
+AxisMappings=(AxisName="LookUpRate",Scale=-1.000000,Key=Up) +AxisMappings=(AxisName="LookUpRate",Scale=-1.000000,Key=Up)
+AxisMappings=(AxisName="MoveForward",Scale=-1.000000,Key=S)
+AxisMappings=(AxisName="MoveRight",Scale=-1.000000,Key=A)
+AxisMappings=(AxisName="MoveUp",Scale=-1.000000,Key=Q)
+AxisMappings=(AxisName="TurnRate",Scale=1.000000,Key=Right)
+AxisMappings=(AxisName="TurnRate",Scale=1.000000,Key=MouseX)
+AxisMappings=(AxisName="LookUpRate",Scale=1.000000,Key=Down) +AxisMappings=(AxisName="LookUpRate",Scale=1.000000,Key=Down)
+AxisMappings=(AxisName="LookUpRate",Scale=-1.000000,Key=MouseY)
DefaultTouchInterface=/Engine/MobileResources/HUD/DefaultVirtualJoysticks.DefaultVirtualJoysticks DefaultTouchInterface=/Engine/MobileResources/HUD/DefaultVirtualJoysticks.DefaultVirtualJoysticks
ConsoleKey=None ConsoleKey=None
-ConsoleKeys=Tilde -ConsoleKeys=Tilde
+ConsoleKeys=Tilde
+ConsoleKeys=Insert +ConsoleKeys=Insert
[/Script/Engine.Engine]
GameEngine=/Script/DisplayCluster.DisplayClusterGameEngine
UnrealEdEngine=/Script/DisplayClusterEditor.DisplayClusterEditorEngine
GameViewportClientClassName=/Script/DisplayCluster.DisplayClusterViewportClient
[/Script/Engine.RendererSettings]
r.DefaultBackBufferPixelFormat = 1
\ No newline at end of file
[/Script/GameProjectGeneration.TemplateProjectDefs] [/Script/GameProjectGeneration.TemplateProjectDefs]
LocalizedDisplayNames=(Language="en",Text="RWTH VR") LocalizedDisplayNames=(Language="en",Text="RWTH VR")
LocalizedDescriptions=(Language="en",Text="Template catering to the common use cases at RWTH VR. Contains nDisplayExtensions, AixCAVE config files, launch scripts and more.") LocalizedDescriptions=(Language="en",Text="Template catering to the common use cases at RWTH VR. Contains nDisplayExtensions, AixCAVE config files, launch scripts and more.")
ClassTypes=Character, GameMode, HUD, Actor ClassTypes=GameMode, Actor
AssetTypes=Animation Sequence, Animation Montage, Sound Wave, Skeletal Mesh, Animation Blueprint, Skeleton, Static Mesh, Texture. AssetTypes=Static Mesh, Texture
FoldersToIgnore=Binaries FoldersToIgnore=Binaries
FoldersToIgnore=Build FoldersToIgnore=Build
...@@ -23,7 +24,6 @@ FilesToIgnore="%TEMPLATENAME%.sln" ...@@ -23,7 +24,6 @@ FilesToIgnore="%TEMPLATENAME%.sln"
FilesToIgnore="Manifest.json" FilesToIgnore="Manifest.json"
FilesToIgnore="contents.txt" FilesToIgnore="contents.txt"
FilesToIgnore="README.md" FilesToIgnore="README.md"
FolderRenames=(From="Source/%TEMPLATENAME%",To="Source/%PROJECTNAME%") FolderRenames=(From="Source/%TEMPLATENAME%",To="Source/%PROJECTNAME%")
FolderRenames=(From="Source/%TEMPLATENAME%Editor",To="Source/%PROJECTNAME%Editor") FolderRenames=(From="Source/%TEMPLATENAME%Editor",To="Source/%PROJECTNAME%Editor")
...@@ -34,3 +34,18 @@ FilenameReplacements=(Extensions=("cpp","h","ini","cs"),From="%TEMPLATENAME%",To ...@@ -34,3 +34,18 @@ FilenameReplacements=(Extensions=("cpp","h","ini","cs"),From="%TEMPLATENAME%",To
ReplacementsInFiles=(Extensions=("cpp","h","ini","cs"),From="%TEMPLATENAME_UPPERCASE%",To="%PROJECTNAME_UPPERCASE%",bCaseSensitive=true) ReplacementsInFiles=(Extensions=("cpp","h","ini","cs"),From="%TEMPLATENAME_UPPERCASE%",To="%PROJECTNAME_UPPERCASE%",bCaseSensitive=true)
ReplacementsInFiles=(Extensions=("cpp","h","ini","cs"),From="%TEMPLATENAME_LOWERCASE%",To="%PROJECTNAME_LOWERCASE%",bCaseSensitive=true) ReplacementsInFiles=(Extensions=("cpp","h","ini","cs"),From="%TEMPLATENAME_LOWERCASE%",To="%PROJECTNAME_LOWERCASE%",bCaseSensitive=true)
ReplacementsInFiles=(Extensions=("cpp","h","ini","cs"),From="%TEMPLATENAME%",To="%PROJECTNAME%",bCaseSensitive=false) ReplacementsInFiles=(Extensions=("cpp","h","ini","cs"),From="%TEMPLATENAME%",To="%PROJECTNAME%",bCaseSensitive=false)
; Which settings on the project settings page should be hidden for this template. Default: none
; Allowed values are:
; All - Hides the settings page entirely
; Languages - Choose between C++ and Blueprint versions.
; HardwareTarget - Choose between Mobile and Desktop hardware targets.
; GraphicsPreset - Choose between Maximum and Scalable graphics.
; StarterContent - Choose whether to add starter content to the project.
; XR - Choose whether to enable Virtual Reality support for the project.
;HiddenSettings=All
;HiddenSettings=Languages
HiddenSettings=HardwareTarget
HiddenSettings=GraphicsPreset
;HiddenSettings=StarterContent
HiddenSettings=XR
\ No newline at end of file
[/Script/Engine.Engine]
GameEngine=/Script/DisplayCluster.DisplayClusterGameEngine
UnrealEdEngine=/Script/DisplayClusterEditor.DisplayClusterEditorEngine
GameViewportClientClassName=/Script/DisplayCluster.DisplayClusterViewportClient
No preview for this file type
#####################################################################
# nDisplay config file
#
# This file demonstrates how to configure for the AixCAVE.
#####################################################################
[cluster_node] id=node_main addr=10.0.1.29 screen=screen_main viewport=vp_1000 port_cs=41001 port_ss=41002 master=true sound=true
[screen] id=screen_main loc="X=0,Y=0,Z=0" rot="P=0,Y=0,R=0" size="X=0.433333,Y=0.270833" parent=display_main
[viewport] id=vp_1000 x=0 y=0 width=1600 height=1000 flip_h=False flip_v=False
[camera] id=camera_dynamic loc="X=0,Y=0,Z=0" parent=shutter_glasses
[scene_node] id=cave_origin loc="X=0,Y=0,Z=0" rot="P=0,Y=0,R=0"
[scene_node] id=cave_center loc="X=0,Y=0,Z=1.65" rot="P=0,Y=0,R=0" parent=cave_origin
[scene_node] id=flystick loc="X=0,Y=0,Z=0" rot="P=0,Y=0,R=0" parent=cave_origin
[scene_node] id=shutter_glasses loc="X=0,Y=0,Z=0" rot="P=0,Y=0,R=0" parent=cave_origin
[scene_node] id=display_main loc="X=0.4,Y=0,Z=0" rot="P=0,Y=0,R=0" parent=shutter_glasses
[stereo] eye_swap=True eye_dist=0.064
[general] swap_sync_policy=2
\ No newline at end of file
{ {
"FileVersion": 3, "FileVersion": 3,
"EngineAssociation": "4.22", "EngineAssociation": "4.26",
"Category": "", "Category": "",
"Description": "", "Description": "",
"Modules": [ "Modules": [
...@@ -16,7 +16,30 @@ ...@@ -16,7 +16,30 @@
"Plugins": [ "Plugins": [
{ {
"Name": "nDisplay", "Name": "nDisplay",
"Enabled": true "Enabled": true,
"SupportedTargetPlatforms": [
"Win64",
"Linux"
]
},
{
"Name": "OculusVR",
"Enabled": false,
"SupportedTargetPlatforms": [
"Win32",
"Win64",
"Android"
]
},
{
"Name": "SteamVR",
"Enabled": false,
"SupportedTargetPlatforms": [
"Win32",
"Win64",
"Linux",
"Mac"
]
} }
], ],
"TargetPlatforms": [ "TargetPlatforms": [
......
...@@ -8,7 +8,7 @@ public class RwthVrTemplateTarget : TargetRules ...@@ -8,7 +8,7 @@ public class RwthVrTemplateTarget : TargetRules
public RwthVrTemplateTarget(TargetInfo Target) : base(Target) public RwthVrTemplateTarget(TargetInfo Target) : base(Target)
{ {
Type = TargetType.Game; Type = TargetType.Game;
DefaultBuildSettings = BuildSettingsVersion.Latest;
ExtraModuleNames.AddRange( new string[] { "RwthVrTemplate" } ); ExtraModuleNames.Add("RwthVrTemplate");
} }
} }
#include "nothing.h"
nothing::nothing()
{
}
nothing::~nothing()
{
}
#pragma once
#include "CoreMinimal.h"
class RWTHVRTEMPLATE_API nothing
{
public:
nothing();
~nothing();
};
...@@ -8,7 +8,7 @@ public class RwthVrTemplateEditorTarget : TargetRules ...@@ -8,7 +8,7 @@ public class RwthVrTemplateEditorTarget : TargetRules
public RwthVrTemplateEditorTarget(TargetInfo Target) : base(Target) public RwthVrTemplateEditorTarget(TargetInfo Target) : base(Target)
{ {
Type = TargetType.Editor; Type = TargetType.Editor;
DefaultBuildSettings = BuildSettingsVersion.Latest;
ExtraModuleNames.AddRange( new string[] { "RwthVrTemplate" } ); ExtraModuleNames.Add("RwthVrTemplate");
} }
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment