Skip to content

Commit

Permalink
Validate ModSubsystems in GameWorldModule
Browse files Browse the repository at this point in the history
SML will crash if a mod references a null mod subsystem class in a
GameWorldModule. Add an editor check to catch this.

Signed-off-by: Angel Pons <[email protected]>
  • Loading branch information
Th3Fanbus committed Nov 5, 2024
1 parent 97a23bf commit 728256e
Showing 1 changed file with 6 additions and 0 deletions.
6 changes: 6 additions & 0 deletions Mods/SML/Source/SML/Private/Module/GameWorldModule.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,12 @@ EDataValidationResult UGameWorldModule::IsDataValid(TArray<FText>& ValidationErr
ValidationResult = EDataValidationResult::Invalid;
}
}
for (const TSubclassOf<AModSubsystem>& Subsystem : ModSubsystems) {
if (Subsystem == nullptr) {
ValidationErrors.Add(NSLOCTEXT("GameWorldModule", "Validation_NullModSubsystem", "Null ModSubsystem found. Was the content it previously referenced deleted or moved?"));
ValidationResult = EDataValidationResult::Invalid;
}
}

return ValidationResult;
}
Expand Down

0 comments on commit 728256e

Please sign in to comment.