#jira UE-107531 - Fatal Error setting Package Mode to External for individual actors when Recovery Hub is enabled
#rb Francis.Hurteau
#fyi Jason.Walter
[CL 15280112 by Patrick Laflamme in ue5-main branch]
- Added revert unchanged on changelists & files
- Added changelist parameter to the Execute method of ISourceControlProvider (& updated all derived classes)
- Fixed style problem in the Perforce settings dialog
#rb sebastien.lussier
[CL 15128504 by julien lheureux in ue5-main branch]
Source control providers now require an FSlateIcon and implementation of GetIcon instead of overriding mutliple functions to do the same thing. Fixed up all known source control providers.
#jira UETOOL-2812
[CL 15045642 by Matt Kuhlenschmidt in ue5-main branch]
Create a new interface IPackageResourceManager that handles all attempts to load packages from storage. The default implementation passes through to loading from IFileManager. Future implementations will load from other services such as the EditorDomain and TargetDomain.
Add FPackagePath class that holds a LocalFilePath or LongPackageName, or a relative path to a package under a mounted content root (which can be converted into either the LocalFilePath or LongPackageName).
Modify LinkerLoad, BulkData, and AsyncLoader to use FPackagePath and IResourceManager.
Modify UPackage and FLinkerLoad to have a FPackagePath instead of a Filename.
#rb Paul.Chipchase, CarlMagnus.Nordin, Francis.Hurteau, Devin.Doucette
#rn Major Core
[CL 14814912 by Matt Peters in ue5-main branch]
Replaced usage FEditorStyle by FAppStyle as documentation states in FAppStyle.h
#rb Jamie.Dale
#fyi Francis.Hurteau
[CL 14810414 by Patrick Laflamme in ue5-main branch]
Lightweight instances allow a low memory representation of objects. Instances can be converted into full actors when necessary. Actors can also be reduced down to light weight instances when the full representation is no longer needed.
Hit results now return a handle that may refer to either an actor or lightweight instance.
#rb Michael.Noland
[CL 14369221 by Fred Kimberley in ue5-main branch]
Deprecated PlayTo, ScrubTo, JumpTo for Frames, Seconds, and MarkedFrames. Replaced with SetPlaybackPosition() which takes PlaybackParams to specify the position (ie, frame, seconds, or marked frame) and an update method (play, scrub, jump).
Also, adding a new feature/function:
PlayTo() - play from the current time to a specified time
#rb andrew.rodham
#ROBOMERGE-SOURCE: CL 13137367 via CL 13137369 via CL 13137373
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v687-13115495)
[CL 13137377 by max chen in Main branch]
- Changed the recovery session activity stream to return 'I'm done' when it encounters an error to prevent the caller to ignore the error and continue asking new activities (which triggers the assert).
- Handled the error reported by the stream when searching for a recoverable session just after the Editor finished its initialization.
Fixed DisasterRecovery freezing the Editor if the new session database could not be created successfully.
- Reported the error to the client instead of silently ignoring it.
- Updated the verbose log to Warning to let the user know that a new session could not be created (and therefore disaster recovery is going to be off.
#jira UE-89128 - Re-Opening Game After Trying to Add a Cooked Material to a Level Results in a Crash
#rb Jamie.Dale
Details:
- The bug UE-89128 is possibly related to UE-89826 (at least on Mac) where the database file would fails to open successfully. Corrupted database/broken file API would fail to open the database file and will result in the assert below:
Assertion failed: (RequestFetchCount < 0 && LowestFetchedActivityId == 0) || (RequestFetchCount > 0 && LowestFetchedActivityId > 1) [File:/Users/build/Build/++UE4+Licensee/Sync/Engine/Plugins/Developer/Concert/ConcertSync/ConcertSyncClient/Source/ConcertSyncClient/Private/ConcertActivityStream.cpp] [Line: 66]
This CL fix can be tested by:
1. Launch the Editor, generate a crash with 'debug crash' command.
2. Comment 'SessionDatabase->Open(Session->GetSessionWorkingDirectory());' in Engine\Plugins\Developer\Concert\ConcertSync\ConcertSyncServer\Source\ConcertSyncServer\Private\ConcertSyncServerLiveSession.cpp to simulate SQLite failing to open the database.
3. Recompile CrashReportClientEditor(Windows) or UnrealRecoverySvc(Mac/Linux)
4. Relaunch the editor.
[CL 12393668 by Patrick Laflamme in 4.25 branch]
Refactored FindField into FindUField and FindFProperty to avoid confusion caused by the fact that FindField<UField> will no longer return FProperties.
#jira UE-90683
#rb Steve.Robb
#tests Basic editor functionality test, cooked and ran PC client and server, bot soak tests for two hours
[CL 12190998 by Robert Manuszewski in 4.25 branch]
- Converted Concert API transferring package data in-memory only model to a streaming model to support packages bigger than 2 GB. (TNumberiLimit<int32>::max())
- Added the IConcertFileSharing interface to share large files between the client and the server. This is used as a side channel to the Concert request/response and event protocol.
- Fixed the ConcertClientPackageManager to prevent sending the package data for each the 'pre-save' when the 'live sync' is off. It only emits it once.
- Fixed UI to correctly report pre-save vs save vs auto-save for package as well as when a package is discarded.
#jira UE-85652 - Crash when importing large FBX with Morph Targets and Disaster Recovery enabled
#jira UE-78722 - Potential Memory Leak with Disaster Recovery Plugin
#rb Francis.Hurteau, Jamie.Dale
[CL 12113821 by Patrick Laflamme in 4.25 branch]