Using 5.4, I have a similar issue. I have verified P4Ignore is not blocking. I can see the payload asset’s being created inside process viewer. I end up with a librarian error. The closest guess I can make, is that the files are being “added” to perforce, but then deleted before it completes.
I have tried every combination of stream/non-stream, stream1/stream2, stream1:stream1_subdir, and I either get librarian errors, or file not in view errors, both pointing to a perforce command firing AFTER the files are deleted.
They definitely get created, the process otherwise works. It just fails to actually submit. It would be seriously helpful to see a basic setup or something. Downloading some older versions, the class did get updated in 5.4.
ON_SCOPE_EXIT
{
// Clean up the payload file from disk and the temp directories, but we do not need to give errors if any of these operations fail.
IFileManager::Get().DeleteDirectory(SessionDirectory.ToString(), false, true);
This scope is either firing early, seems more likely
for (const FString& FilePath : FilesToSubmit)
{
const bool bRequireExists = false;
const bool bEvenReadOnly = true;
const bool bQuiet = false;
IFileManager::Get().Delete(*FilePath, bRequireExists, bEvenReadOnly, bQuiet);
}
Okay, so like 5 days later I finally gave up, it works immediately on 5.3. It fails on 5.4, librarian error, the files are added, then deleted, then attempted to be submitted. This is different to the ignore error. Will try get to a bug report.
TLDR: 5.4 STREAMS VIRTUAL ASSETS DO NOT WORK YOU ARE NOT CRAZY
EDIT: Nevermind, I am crazy. It does work in 5.4.
Avoid using a stream depot. If you have a stream depot setup for your development, you can make a second depot in p4d, and just make it a standard non-stream depot. Works immediately without hassle then.
The problem with streams, is it keeps getting conflicted and stuck, whenever a virtualized asset conflicts, so if you update a virtualized file, the payload fails to add with the “file already exists on client” error. This then immediately deletes the temp workspace, so you have no way to easily see what’s going on, and no debug logs make this obvious.
EDIT #2: So, turns out it’s nothing to do with streams, for whatever reason and I am not sure yet if this is specific to my configuration somehow, but I am unable to submit more than 8 files at a time. It will always fail. Made a new post here: Virtual Asset's fail to submit if there is more than 8 files
Hope that helps someone