Fix packaged build: weak ptr timing, factory module, hard refs, brace fix
Critical fixes for packaged builds: - Widget weak ptrs (SpawnManager/SceneSerializer) are null in packaged due to HUD deferred init. All button lambdas now get references fresh from PlayerController via GetOwningPlayer() cast instead of cached weak ptrs. - HUD BeginPlay deferred by one tick (SetTimerForNextTick) to ensure PlayerController has initialized SpawnManager before wiring. Module split: - Factories moved to separate PS_EditorTools module (Type: Editor) to fix UHT error with UFactory in packaging builds. - PS_Editor module no longer depends on UnrealEd for factories. Asset references: - TSoftObjectPtr/TSoftClassPtr changed to TObjectPtr/TSubclassOf for MasterCatalog, SpawnCatalogs, and ActorClass entries. Hard references ensure assets are cooked in packaged builds. Other fixes: - GetActorLabel() replaced with GetClass()->GetName() (editor-only API) - Missing brace in Browse dialog BaseLevel sync code - BaseLevel sync only when scenario specifies a LevelName (no more clearing on empty) - Save As dialog with native Windows file picker - Debug info in catalog UI when empty (shows chain: Master→Catalogs→Entries) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
|
||||
|
||||
[/Script/EngineSettings.GameMapsSettings]
|
||||
GameDefaultMap=/Game/test.test
|
||||
EditorStartupMap=/Game/test.test
|
||||
GameDefaultMap=/Game/test_Editor.test_Editor
|
||||
EditorStartupMap=/Game/test_Editor.test_Editor
|
||||
GlobalDefaultGameMode=/Script/PS_Editor.PS_Editor_GameMode
|
||||
|
||||
[/Script/Engine.RendererSettings]
|
||||
|
||||
@@ -1,3 +1,108 @@
|
||||
|
||||
|
||||
[/Script/EngineSettings.GeneralProjectSettings]
|
||||
ProjectID=1BC6BAE446981E654DB42F8C5E2303EC
|
||||
|
||||
[/Script/UnrealEd.ProjectPackagingSettings]
|
||||
Build=IfProjectHasCode
|
||||
BuildConfiguration=PPBC_Development
|
||||
BuildTarget=
|
||||
FullRebuild=False
|
||||
ForDistribution=False
|
||||
IncludeDebugFiles=False
|
||||
BlueprintNativizationMethod=Disabled
|
||||
bIncludeNativizedAssetsInProjectGeneration=False
|
||||
bExcludeMonolithicEngineHeadersInNativizedCode=False
|
||||
UsePakFile=True
|
||||
bUseIoStore=True
|
||||
bUseZenStore=False
|
||||
bMakeBinaryConfig=False
|
||||
bGenerateChunks=False
|
||||
bGenerateNoChunks=False
|
||||
bChunkHardReferencesOnly=False
|
||||
bForceOneChunkPerFile=False
|
||||
MaxChunkSize=0
|
||||
bBuildHttpChunkInstallData=False
|
||||
HttpChunkInstallDataDirectory=(Path="")
|
||||
WriteBackMetadataToAssetRegistry=Disabled
|
||||
bWritePluginSizeSummaryJsons=False
|
||||
bCompressed=True
|
||||
PackageCompressionFormat=Oodle
|
||||
bForceUseProjectCompressionFormatIgnoreHardwareOverride=False
|
||||
PackageAdditionalCompressionOptions=
|
||||
PackageCompressionMethod=Kraken
|
||||
PackageCompressionLevel_DebugDevelopment=4
|
||||
PackageCompressionLevel_TestShipping=4
|
||||
PackageCompressionLevel_Distribution=7
|
||||
PackageCompressionMinBytesSaved=1024
|
||||
PackageCompressionMinPercentSaved=5
|
||||
bPackageCompressionEnableDDC=False
|
||||
PackageCompressionMinSizeToConsiderDDC=0
|
||||
HttpChunkInstallDataVersion=
|
||||
IncludePrerequisites=True
|
||||
IncludeAppLocalPrerequisites=False
|
||||
bShareMaterialShaderCode=True
|
||||
bDeterministicShaderCodeOrder=False
|
||||
bSharedMaterialNativeLibraries=True
|
||||
ApplocalPrerequisitesDirectory=(Path="")
|
||||
IncludeCrashReporter=False
|
||||
InternationalizationPreset=English
|
||||
-CulturesToStage=en
|
||||
+CulturesToStage=en
|
||||
LocalizationTargetCatchAllChunkId=0
|
||||
bCookAll=False
|
||||
bCookMapsOnly=False
|
||||
bTreatWarningsAsErrorsOnCook=False
|
||||
bSkipEditorContent=False
|
||||
bSkipMovies=False
|
||||
-IniKeyDenylist=KeyStorePassword
|
||||
-IniKeyDenylist=KeyPassword
|
||||
-IniKeyDenylist=DebugKeyStorePassword
|
||||
-IniKeyDenylist=DebugKeyPassword
|
||||
-IniKeyDenylist=rsa.privateexp
|
||||
-IniKeyDenylist=rsa.modulus
|
||||
-IniKeyDenylist=rsa.publicexp
|
||||
-IniKeyDenylist=aes.key
|
||||
-IniKeyDenylist=SigningPublicExponent
|
||||
-IniKeyDenylist=SigningModulus
|
||||
-IniKeyDenylist=SigningPrivateExponent
|
||||
-IniKeyDenylist=EncryptionKey
|
||||
-IniKeyDenylist=DevCenterUsername
|
||||
-IniKeyDenylist=DevCenterPassword
|
||||
-IniKeyDenylist=IOSTeamID
|
||||
-IniKeyDenylist=SigningCertificate
|
||||
-IniKeyDenylist=MobileProvision
|
||||
-IniKeyDenylist=IniKeyDenylist
|
||||
-IniKeyDenylist=IniSectionDenylist
|
||||
+IniKeyDenylist=KeyStorePassword
|
||||
+IniKeyDenylist=KeyPassword
|
||||
+IniKeyDenylist=DebugKeyStorePassword
|
||||
+IniKeyDenylist=DebugKeyPassword
|
||||
+IniKeyDenylist=rsa.privateexp
|
||||
+IniKeyDenylist=rsa.modulus
|
||||
+IniKeyDenylist=rsa.publicexp
|
||||
+IniKeyDenylist=aes.key
|
||||
+IniKeyDenylist=SigningPublicExponent
|
||||
+IniKeyDenylist=SigningModulus
|
||||
+IniKeyDenylist=SigningPrivateExponent
|
||||
+IniKeyDenylist=EncryptionKey
|
||||
+IniKeyDenylist=DevCenterUsername
|
||||
+IniKeyDenylist=DevCenterPassword
|
||||
+IniKeyDenylist=IOSTeamID
|
||||
+IniKeyDenylist=SigningCertificate
|
||||
+IniKeyDenylist=MobileProvision
|
||||
+IniKeyDenylist=IniKeyDenylist
|
||||
+IniKeyDenylist=IniSectionDenylist
|
||||
-IniSectionDenylist=HordeStorageServers
|
||||
-IniSectionDenylist=StorageServers
|
||||
-IniSectionDenylist=/Script/AndroidFileServerEditor.AndroidFileServerRuntimeSettings
|
||||
+IniSectionDenylist=HordeStorageServers
|
||||
+IniSectionDenylist=StorageServers
|
||||
+IniSectionDenylist=/Script/AndroidFileServerEditor.AndroidFileServerRuntimeSettings
|
||||
+MapsToCook=(FilePath="/Game/test")
|
||||
+MapsToCook=(FilePath="/Game/test_Editor")
|
||||
+DirectoriesToAlwaysCook=(Path="/NNEDenoiser")
|
||||
+DirectoriesToAlwaysCook=(Path="/PS_Editor")
|
||||
bRetainStagedDirectory=False
|
||||
CustomStageCopyHandler=
|
||||
|
||||
|
||||
Reference in New Issue
Block a user