Summary
Since we got the ability to create components without default values I’ve been using it in the following workflow.
- create a component that is partially initialized in code (requires external dependency)
- create a prefab for that component
- add the component to that prefab
- ONLY pre-place the prefab in the editor and resolve the missing values
- NEVER initialize that prefab at runtime
However the validation flags this with a warnings as the prefabs contain partially initialized components. As described previously, this used to work and is totally fine for as long as those prefabs are not instantiated at runtime, which is what I was doing.
In certain configuration this further results into content cook error or network errors and prevents from entering a session.
I tried to setup an isolated project with such an issue.
Validation warnings:
UEFNValidation: Warning: Uninitialized property: 'ENum' on Verse component: 'VZVerse-VZGame-VZMain-VZComponents-vz_other_target_component_0' (object path: '/vz_anomaly_6/VZPrefab/vz_other_target.Default__vz_other_target_C:VZVerse-VZGame-VZMain-VZComponents-vz_other_target_component_0' )
UEFNValidation: Warning: Uninitialized property: 'ENum2' on Verse component: 'VZVerse-VZGame-VZMain-VZComponents-vz_other_target_component_0' (object path: '/vz_anomaly_6/VZPrefab/vz_other_target.Default__vz_other_target_C:VZVerse-VZGame-VZMain-VZComponents-vz_other_target_component_0' )
UEFNValidation: Warning: Uninitialized property: 'ENum3' on Verse component: 'VZVerse-VZGame-VZMain-VZComponents-vz_other_target_component_0' (object path: '/vz_anomaly_6/VZPrefab/vz_other_target.Default__vz_other_target_C:VZVerse-VZGame-VZMain-VZComponents-vz_other_target_component_0' )
UEFNValidation: Warning: Uninitialized property: 'ETarget' on Verse component: 'VZVerse-VZGame-VZMain-VZComponents-vz_test_1_component_0' (object path: '/vz_anomaly_6/VZPrefab/vz_target.Default__vz_target_C:VZVerse-VZGame-VZMain-VZComponents-vz_test_1_component_0' )
Serialization warning:
LogProperty: Warning: Failed to serialize value for non-nullable property ObjectProperty /Engine/Transient.VZVerse-VZGame-VZMain-VZComponents-vz_test_1_component_Super_48:__verse_0xA563E5E8_ETarget (previously: None). Reference will be defaulted to vz_target_C /Engine/Transient.VZVerse-VZGame-VZMain-VZComponents-vz_test_1_component_0_u219al3vpmky_2131754208:vz_target_C_0.
Cook error:
PlatformCook: Error: We hit an error while cooking this content
PlatformCook: Error: errors.com.epicgames.content-service.cook_failure
PlatformCook: Error: CookJobId:73b6953c-83ed-4165-add4-ba80f79dcd6f
PlatformCook: Error: An error occurred while communicating with the game servers (failed to cook module c759d7b9-487b-a80c-6d0d-a9adf097fcad (artifact 7225b520-4b21-48f7-b19b-6f942b4202a0:linux-server) (cookJobId 73b6953c-83ed-4165-add4-ba80f79dcd6f) with error code errors.com.epicgames.cookplugin.cookfailure).
Another error:
LogOutputDevice: Error: === Handled ensure: ===
LogOutputDevice: Error: Ensure condition failed: Activity->State != EValkyrieActivityState::Active [File:Z:\UEVFS\FortniteGame\Plugins\ForEngine\Valkyrie\Source\ValkyrieEditor\Private\ValkyrieActivityTracker.cpp] [Line: 56]
LogOutputDevice: Error: StartActivity called for an active activity! Channel: Session, Activity: ConnectToBeacon - Active - Connecting to beacon, Text: Connecting to beacon
LogOutputDevice: Error: Stack:
LogOutputDevice: Error: [Callstack] 0x00007ff71bebb5e9 UnrealEditorFortnite-Win64-Shipping.exe!UnknownFunction []
LogOutputDevice: Error: [Callstack] 0x00007ff7102933bf UnrealEditorFortnite-Win64-Shipping.exe!UnknownFunction []
LogOutputDevice: Error: [Callstack] 0x00007ff7108ed327 UnrealEditorFortnite-Win64-Shipping.exe!UnknownFunction []
LogOutputDevice: Error: [Callstack] 0x00007ff710908b01 UnrealEditorFortnite-Win64-Shipping.exe!UnknownFunction []
LogOutputDevice: Error: [Callstack] 0x00007ff6fc8e7c47 UnrealEditorFortnite-Win64-Shipping.exe!UnknownFunction []
LogOutputDevice: Error: [Callstack] 0x00007ff6fc8ecfff UnrealEditorFortnite-Win64-Shipping.exe!UnknownFunction []
LogOutputDevice: Error: [Callstack] 0x00007ff6fc8e54fc UnrealEditorFortnite-Win64-Shipping.exe!UnknownFunction []
LogOutputDevice: Error: [Callstack] 0x00007ff6fbd74fed UnrealEditorFortnite-Win64-Shipping.exe!UnknownFunction []
LogOutputDevice: Error: [Callstack] 0x00007ff6f89aa72a UnrealEditorFortnite-Win64-Shipping.exe!UnknownFunction []
LogOutputDevice: Error: [Callstack] 0x00007ff6f9294256 UnrealEditorFortnite-Win64-Shipping.exe!UnknownFunction []
LogOutputDevice: Error: [Callstack] 0x00007ff70a3407d0 UnrealEditorFortnite-Win64-Shipping.exe!UnknownFunction []
LogOutputDevice: Error: [Callstack] 0x00007ff6fc7f8739 UnrealEditorFortnite-Win64-Shipping.exe!UnknownFunction []
LogOutputDevice: Error: [Callstack] 0x00007ff6fc7ffebc UnrealEditorFortnite-Win64-Shipping.exe!UnknownFunction []
LogOutputDevice: Error: [Callstack] 0x00007ff6fc7fff4a UnrealEditorFortnite-Win64-Shipping.exe!UnknownFunction []
LogOutputDevice: Error: [Callstack] 0x00007ff6fc800d9d UnrealEditorFortnite-Win64-Shipping.exe!UnknownFunction []
LogOutputDevice: Error: [Callstack] 0x00007ff6fc809ba4 UnrealEditorFortnite-Win64-Shipping.exe!UnknownFunction []
LogOutputDevice: Error: [Callstack] 0x00007ff7180685d2 UnrealEditorFortnite-Win64-Shipping.exe!UnknownFunction []
LogOutputDevice: Error: [Callstack] 0x00007ffcabe67374 KERNEL32.DLL!UnknownFunction []
LogOutputDevice: Error: [Callstack] 0x00007ffcadd5cc91 ntdll.dll!UnknownFunction []
Network error:
LogNet: Warning: UNetConnection::Tick: Connection TIMED OUT. Closing connection.. Elapsed: 60.00, Real: 60.00, Good: 60.00, DriverTime: 60.06, Threshold: 60.00, [UNetConnection] RemoteAddr: 135.220.176.187:15026, Name: IpConnection_12, Driver: Name:IpNetDriver_12 Def:BeaconNetDriver IpNetDriver_12, IsServer: NO, PC: NULL, Owner: NULL, UniqueId: MCP:115ef624b3904f1b8abd6c427436c58b
LogNet: Error: UEngine::BroadcastNetworkFailure: FailureType = ConnectionTimeout, ErrorString = UNetConnection::Tick: Connection TIMED OUT. Closing connection.. Elapsed: 60.00, Real: 60.00, Good: 60.00, DriverTime: 60.06, Threshold: 60.00, [UNetConnection] RemoteAddr: 135.220.176.187:15026, Name: IpConnection_12, Driver: Name:IpNetDriver_12 Def:BeaconNetDriver IpNetDriver_12, IsServer: NO, PC: NULL, Owner: NULL, UniqueId: MCP:115ef624b3904f1b8abd6c427436c58b, Driver = Name:IpNetDriver_12 Def:BeaconNetDriver IpNetDriver_12
LogBeacon: Verbose: NetworkFailure ValkyrieBeaconClient_12: ConnectionTimeout
LogValkyrieBeacon: [3e0c] (ValkyrieBeaconClient_12) AValkyrieBeaconClient::OnFailure - We have registered a failure in the Valkyrie beacon.
LogValkyrieActivityTracker: Warning: Session -> Fail Activity: ConnectToBeacon - Initial failure
LogValkyrieSummary: Failed to update content due to initial failure.
LogBeacon: Verbose: Client beacon (ValkyrieBeaconClient_12) connection failure, handling connection timeout.
LogBeacon: OnlineBeacon ValkyrieBeaconClient_12 requesting net driver destruction: Name:IpNetDriver_12 Def:BeaconNetDriver IpNetDriver_12
LogNet: SetPendingDestruction: 1 on Name:IpNetDriver_12 Def:BeaconNetDriver IpNetDriver_12)
LogValkyrieRequestManagerEditor: Warning: Encountered Network Error!
LogValkyrieRequestManagerEditor: Executing Step ClearFoundConnectInfo
LogValkyrieRequestManagerEditor: Error: Failed to handle connection attempt (Network error occurred when connecting to a server after matchmaking completed. Error: UNetConnection::Tick: Connection TIMED OUT. Closing connection.. Elapsed: 60.00, Real: 60.00, Good: 60.00, DriverTime: 60.06, Threshold: 60.00, [UNetConnection] RemoteAddr: 135.220.176.187:15026, Name: IpConnection_12, Driver: Name:IpNetDriver_12 Def:BeaconNetDriver IpNetDriver_12, IsServer: NO, PC: NULL, Owner: NULL, UniqueId: MCP:115ef624b3904f1b8abd6c427436c58b)
LogNet: NetworkFailure: ConnectionTimeout, Error: 'UNetConnection::Tick: Connection TIMED OUT. Closing connection.. Elapsed: 60.00, Real: 60.00, Good: 60.00, DriverTime: 60.06, Threshold: 60.00, [UNetConnection] RemoteAddr: 135.220.176.187:15026, Name: IpConnection_12, Driver: Name:IpNetDriver_12 Def:BeaconNetDriver IpNetDriver_12, IsServer: NO, PC: NULL, Owner: NULL, UniqueId: MCP:115ef624b3904f1b8abd6c427436c58b'
Please select what you are reporting on:
Unreal Editor for Fortnite
What Type of Bug are you experiencing?
Other
Steps to Reproduce
Try pushing the project provided below (see private code).
Alternatively here the current setup:
using { /Verse.org/SceneGraph }
using { /Verse.org/Simulation }
using { VZPrefab }
vz_test_1_component := class<final><final_super>(component) {
@editable
ETarget: vz_target
}
vz_target_component := class<final><final_super>(component) {
@editable
EOtherTarget: vz_other_target
}
vz_other_target_component := class<final><final_super>(component) {
@editable
ENum: ?int
@editable
ENum2: ?int
@editable
ENum3: int
}
- Scene Graph is enabled
- there are two prefabs
vz_target
andvz_other_target
vz_target
containsvz_test_1_component
vz_other_target
containsvz_other_target_component
- no entities are placed into the editor
- launch the session and wait until it errors out
Expected Result
Please clearly communicate whether or not components are no longer allowed to be partially initialized in a prefab and the mentioned prefab workflow officially became illegal. Please do not just close the ticket with a note works as intended as it does not clarify the situation I run into.
Observed Result
Content cook errors without any hints on why it fails, network and other errors. New validation warnings.
Platform(s)
UEFN (v36.10)
Island Code
3877-2978-0108
Additional Notes
The project has pushed state where I hit content cook error.