Perforce Help Needed

Hi all. I’m looking to get some version control setup before my project really starts to take off. I have looked into using Git for the last few months, and I cannot get my head round it. Pretty sure I understand how it works. But it just doesn’t.

Anyway, I’ve decided to have a try with perforce as its supported by UE4 and has a nice easy to use GUI and setup. Plus I can host it locally easy enough, or on my own local server.
So. I have a Depot, and a workspace. What i need to understand is the workflow if you like.
When I set-up the server, i created the workspace in “D:\Perforce Workspaces\Test” And all of the project files got copied over to there. Not the engine, just the project, which is all I need.

Now. This is where I’m confused.
I obviously still have my project in “D:\USER\Documents\Unreal Projects\Test” so which should I use?
Do I work on the project in my “Unreal Projects” folder, or the “Perforce Workspace”?
When I open the project from the Unreal Projects folder and try to connect to my perforce server, I have no available workspaces.

So, any ideas how is best to go about this? Would very much appreciate some pointers.

Thanks in advance everyone.

EDIT: This is the message I receive in the log "Error You should set your workspace up to map to a directory at or above the project’s directory.
"

Thanks again.

Hi .

I would highly recommend installing the P4 Server on separate machine, not the same machine your UE4 Editor + P4 Client are installed. IMO, this will help avoid confusion between Depots and Workspaces. I’m using NoIP.com (free) for DNS forwarding to my P4 Server Address. If you don’t have a separate machine available, try Assembla Perforce Hosting (free for up to 20 users). The final step will be setting up Depot Directory permissions on the Server. You’ll find all the documentation you need to do this at Perforce.com. Once you have a P4 Server address to connect to, Depots created and Permissions set, you can setup Source Control for UE4 Editor with these directions.

Good Luck

Hi, thanks for the reply.

I do have two machines. I was simply following the perforce tutorial which sets up the client and server on one machine.

So, I’ve installed the Server and client on my second machine and the client only on my workstation. When i open up P4V on my workstation and try to connect to the server i just get this

I can’t find any specific enough guides on how to set this up anywhere.

I’d like to have it set up on a local machine because its free and secure, and the machine in question is on 24/7.

If it’s helpful our team uses the two folder system as we have developers around the world.

We have one folder that is the “commit” that is tied into our off-site SVN that does one thing and one thing only in that it delivers the game actual to other members on the team via the svn host.

The other folder is any project file under UE4 where works in progress can be migrated or copied to and from the “commit” folder.

The “source control” part is managed by good communication and follow common scene as to project ownership management that does not require that files needs to be locked that would be required if extremely large groups are involved. In our case if someone half way around the world locks a file and goes on a weeks vacation that would be a very bad thing.

Creating a “source chain” on the other hand is a more robust means of source control, more so when it comes to content as it’s up to the project manager to commit the changes based on iterations.

As an opinion I found software solution for source control like Perforce to be a million dollar solution for a 50 cent fix as it is high maintenance option were the members on our team will be spending most of their time trying to get it to work.

Give a try to http://www.plasticscm.com/ it´s really really fast and intuitive and for a limit number of users its free.

Grettings

Edit1: I recomend the Community Edition (it´s free) this is the list:

hmm… It would be handy to have some form of version control. Are you suggesting just making hand made copies and using something like dropbox to share the files between team members?

I think I know what you’re talking about when it comes to the whole commit thing. I’ve worked in teams in the past were there was the main folder for the most current, up-to-date packages/content, and then a second folder called commits, and inside that, each user had their own submit folder.

I guess it wouldn’t be too bad just creating dated archives of the project and backing them up manually that way. It would just be nice if i could at least get SOMETHING working. I’ve spent ages trying to figure out git, and i just cant make sense of it. There must be some way of making it do something, but I just cannot figure it out. I’ve followed every guide I’ve read to the T with no success.

It’d be nice if I just got the basic workflow of it down.

Hi , Perforce works great it just takes a little bit to get it up and running. I’ve been using a Perforce setup since 4.2 without issue with clients around the world with maya, code, & ue4.

Here is something to try for that pesky timeout stuff.

Client:

  1. Create a p4settings.txt file and put it in your workspace directory
  2. Create an Environment Variable, P4CONFIG=p4settings.txt
  3. Inside the p4settings have the following variables:

P4PORT=192.168.0.20:1666
P4USER=
P4PASSWD=
P4CLIENT=yourworkspacename
P4HOST=yourclientnameofyourpc
net.maxwait=60

That should get you in the right direction. I also put up some info on answerhub here

Some tips:
Use the P4V client to submit and get revisions avoid doing those operations in UE4, Visual Studio, & Maya. Its has more options, you can track the changes easier and fix sync problems.

However still use the P4 addon in Visual Studio and turn on the UE4 source control module. It will automatically checkout things for you as you work, very nice.

Turn on the logging in P4 output screen so you can see all file operations when you request.

I hope that helps, good luck.

Hummm not really but the ideals of version control should be centered around the need for situation awareness and implementing solutions that prevents others from stomping on works already done. Having a drop box is a good start as far as delivery goes but is just one small part of cooking you own version control that works best for you and other on your team and the only requirement is can it scale on demand.

In a small group, like ours, source control is as simple as making others aware that something is being worked on and who ever is working on that section of the game becomes the manager of their own project in hand. More or less this is where good communication comes in to effect that does not require over complicated forms of control.

On the client side of things using the SVN as a delivery and back up system if something goes bump in the night it’s easy to roll it back to the last working version. This covers our need for delivery as well as backups.

The control part of not stomping on someone else work is actually much easier since UE4 now uses individual file management instead of project packaging and members on the team will update their SVN mirror and then use something like Araxs Merge to compare files to their local projects.

Granted there is the possibility of something getting stomped, and it does and has happened, but because of our size it’s very rare that two members on the team will be working on the same project but when needed whoever is working on a given project becomes the boss so to speak.

Come to think of it if you can find the Valve employees hand book how they work is how we work and have adopted a lot of their ideas as to modular project management.

I suspect its an issue of either port blocking or port forwarding.

  1. Check your Router Port forwarding Settings. Add forwarding for Port 1666.
  2. Check your Server Firewall Port Blocking Settings. Allow connections to Port 1666…