Perforce Depot structure: Where to put ContentSource directory? Same hierarchy level as Engine?

Hi,

when setting up a new Project in Perforce with a new mainline, we are wondering what the recommended directory place is, for the “ContenSource” directory?

Let’s say we have a perforce depot for example:

//depot/ProjectNew/Main

Afaik the Engine and Project folder are directly put into the root directory, so it looks like:

//depot/ProjectNew/Main/Engine

//depot/ProjectNew/Main/ProjectNew

Would we put ContentSource then also here?

//depot/ProjectNew/Main/ContentSource

(I guess we can also put it somewhere else in the depot, but ‘map’ the directory into the stream/workspaces)

So from a client workspace point of view it would be:

D:\depot\workspaceName\Engine

D:\depot\workspaceName\ProjectNew

D:\depot\workspaceName\ContentSource

Does that like the recommended setup for client workspaces?

Thank you very much in advance.

Steps to Reproduce

For what it’s worth, we use an entirely different p4 repository for content source assets. This repository is a non stream based depot, so the artists have a lot more control over filtering what they get through their p4 client spec.

Cool, thanks for the quick answer.

So, do i understand that correctly, that the ContentSourceFIles are in a diffierent workspaces on clients?

Follow up question though in regards to the relative import paths of assets in the engine then:

How do you make sure it’s consistent across the team?

Or is the setup still in the end somehow, that on clients the ContentSource directory is in the root workspace directories?

I am asking because in my head the ‘different workspaces’ would lead to different import paths, but maybe i am overlooking something.

D:/depot/<workspaceNameProject>/ProjectNew/Cotent/MyAsset.uasset

D:/depot/<workspaceNameContentSource>/ContentSource/Art/MyAsset.source

Asset import path would be something like ../../../..<artistA__worksapce>/ContentSource/Art/MyAsset.source which wouldnt work for other Artist since the workspace name is different.

Hello!

This is mostly a matter of preference. A lots of teams prefer to keep the source art separated, as already suggested, but standardize the creation of the workspace so everyone uses the same local folder structure. Keeping the source separated helps with the amount of drive space required since most people will just synch the entire stream. It is possible to create a bunch of craft specific virtual streams (views) on a Main stream that contains everything but it is a lot of work to maintain and it can create some weird cases when someone wants to view sources from multiple type of data at once.

There will likely be cases where a standardized path fails (computer with no D drive or a release stream…). The Content Browser does show the last import path in the tooltip so it is fairly easy to “rebase” when reimporting.

Regards,

Martin

Thank you very much for the response.