diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f4e4ba17ddd383711fd91ff1b742b0ba2a051642..93d693e418fdde59a75556ec96d65e03313e3293 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -83,7 +83,7 @@ Generate_Project: RUN_SETUP: "false" GEN_DEPENDENCIES: "( [master@UnrealDTrackPlugin]='https://github.com/VRGroupRWTH/UnrealDTrackPlugin.git' - [5.4@RWTHVRCluster]='https://git-ce.rwth-aachen.de/vr-vis/VR-Group/unreal-development/plugins/rwth-vr-cluster-plugin.git' + [dev/5.4@RWTHVRCluster]='https://git-ce.rwth-aachen.de/vr-vis/VR-Group/unreal-development/plugins/rwth-vr-cluster-plugin.git' )" Generate_Project_Without_Cluster: diff --git a/Source/RWTHVRToolkit/Private/Core/RWTHVRGameModeBase.cpp b/Source/RWTHVRToolkit/Private/Core/RWTHVRGameModeBase.cpp index e2a1511392d96f9890bb52d309346d2465413593..9102b16012edc3c0c211e77fa3ec9e7f1b4f9520 100644 --- a/Source/RWTHVRToolkit/Private/Core/RWTHVRGameModeBase.cpp +++ b/Source/RWTHVRToolkit/Private/Core/RWTHVRGameModeBase.cpp @@ -143,6 +143,16 @@ void ARWTHVRGameModeBase::PostLogin(APlayerController* NewPlayer) } } + if (GetNetMode() == NM_Standalone) + { + const FName BaseName = PawnClass->HasAnyFlags(RF_ClassDefaultObject) + ? PawnClass->GetFName() + : *PawnClass->GetFName().GetPlainNameString(); + + SpawnInfo.Name = BaseName; + SpawnInfo.NameMode = FActorSpawnParameters::ESpawnActorNameMode::Requested; + } + // Spawn and possess the pawn APawn* ResultPawn = GetWorld()->SpawnActor<APawn>(PawnClass, StartSpot->GetTransform(), SpawnInfo); NewPlayer->Possess(ResultPawn); diff --git a/Source/RWTHVRToolkit/Private/Pawn/RWTHVRPawn.cpp b/Source/RWTHVRToolkit/Private/Pawn/RWTHVRPawn.cpp index 810a6205268b8ebdec7ba7922d1ba697cbe96f88..812e83ea74b96709e72b7768dbbd5d90bc041f52 100644 --- a/Source/RWTHVRToolkit/Private/Pawn/RWTHVRPawn.cpp +++ b/Source/RWTHVRToolkit/Private/Pawn/RWTHVRPawn.cpp @@ -249,7 +249,7 @@ void ARWTHVRPawn::MulticastAddDCSyncComponent_Implementation() // for some reason acts different on the nodes, therefore leading to a potential desync when // e.g. colliding with an object while moving. - if (URWTHVRUtilities::IsRoomMountedMode()) + if (URWTHVRUtilities::IsRoomMountedMode() && !SyncComponent) { SyncComponent = Cast<USceneComponent>(AddComponentByClass( UDisplayClusterSceneComponentSyncParent::StaticClass(), false, FTransform::Identity, false));