Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Main Character Position not restored if graphics settings are Cinematic #76

Open
RedShy opened this issue May 11, 2024 · 1 comment
Open

Comments

@RedShy
Copy link

RedShy commented May 11, 2024

Hello,
SPUD is excellent, and I'm also using the other excellent plugins you have provided (FocusableWidgets, etc.).

I have just noticed something strange. Whenever I die, I show a continue button that calls the "Load Latest Save Game" in BP on the SPUD Subsystem. If I do this multiple times in a row, after 2-3 times, it fails to restore the position, and I get spawned at the start of the level. Other variables on the character seem to be correctly loaded. I searched the log, and it seems there are no errors. I have attached an extract of the log at the point where the character is restored.

Symptoms

  • The main character's position is not restored; it spawns at the beginning of the level.
  • Other extra variables are correctly restored.

Reproducibility Steps

  • Using an old PC
  • Setting graphics to Cinematic or Epic, running at 20-30 fps
  • Using either Shipping or Development build
  • Dying 2-3 times. Sometimes it also happens the first time
  • If I put the graphics on High or lower it doesn't happen, no matter how many times I die

What could be the causes? Are there more logs, or can we enable some verbosity to understand what happens? Given that other variables are correctly loaded, I could save the position in extra variables and, after reloading, relocate the main character's position, but this seems hacky.

Thank you very much

[2024.05.11-08.35.49:717][271]LogSpudState: Verbose: | Class: /Script/UTD.UTDPlayerState
[2024.05.11-08.35.49:717][271]LogSpudState: Verbose: | FAST path, 3 properties
[2024.05.11-08.35.49:717][271]LogSpudProps: Verbose: | KeypadCodes = 1234
[2024.05.11-08.35.49:717][271]LogSpudProps: Verbose: | KeypadCodes = 7203
[2024.05.11-08.35.49:717][271]LogSpudProps: Verbose: | KeypadCodes = 0713
[2024.05.11-08.35.49:717][271]LogSpudProps: Verbose: | KeypadCodes = 0831
[2024.05.11-08.35.49:717][271]LogSpudProps: Verbose: | bCanBeDamaged = 0
[2024.05.11-08.35.49:717][271]LogSpudState: Verbose: * RESTORE Level Actor: BP_UTDPlayerCharacter_C_2147478385
[2024.05.11-08.35.49:717][271]LogSpudState: Verbose: | Class: /Game/Blueprint/Player/BP_UTDPlayerCharacter.BP_UTDPlayerCharacter_C
[2024.05.11-08.35.49:717][271]LogSpudState: Verbose: | FAST path, 3 properties
[2024.05.11-08.35.49:717][271]LogSpudProps: Verbose: | MaxLightIntensity = 0.000000
[2024.05.11-08.35.49:717][271]LogSpudProps: Verbose: | IsFaultyLight = 0
[2024.05.11-08.35.49:717][271]LogSpudProps: Verbose: | bCanBeDamaged = 1
[2024.05.11-08.35.49:717][271]LogSpudState: Verbose: * Destroying actor BP_TriggerTutorial_C_1
[2024.05.11-08.35.49:717][271]LogSpudState: Verbose: * Destroying actor BP_TriggerTutorial_C_2

@sinbad
Copy link
Owner

sinbad commented May 11, 2024

So it sounds like a timing issue between the core engine re-initialising the character on respawn and SPUD restoring the state. The core UE respawn init must be getting delayed and ends up running after SPUD has already re-populated everything. It's the weekend so I'm not at my PC to check the details but if you put some debug points in the core UE code vs the SPUD code for this it might throw some light on it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants