#source-control
1 messages · Page 47 of 1
like the given user doesn't even has rights to use streams, or some p4 license issue
If I checkout a file using unreal source control, how can I unlock that file again? Is there a way in unreal?
@fervent jasper Either revert it (which will undo any changes you’ve made) or check in your changes.
Hello my dear game developers and designers.
Me and my friend are trying to setup perforce but with no luck, I am not able to connect to him.
Anyone has some documentation on how to set this up properly?
Or is it supposed to be pretty easy and we just messing something up
@dire frost you didn't provide too much information...
if you're using local server at one of your homes - but the second person isn't in the same local network, you need set up port forwarding or VPN
I'm from Belgium and he is from Canada, we are trying to use port 1666, it's not used but we don't get it open, he is going to call his ips today
Guess we just have to wait
have either of you ever forwarded a port before? is the server behind a large firewall such as a university campus, or just a regular household router?
yeah we both are familiar with port forwarding, managed to get the port open
with help of the isp
but his port seems to close automatically
generally ports don't just open/close automatically (rare exception, if software using UPnP is affecting it)
omg fuck the "save checked out" button
why is that where "check out selected" used to be 
Yeah they are not supposed to do that, we know, that's why we are confused
finally able to copy our project files
if you use github for source control this month have challenge from github folks to build github actions well it could help your source control workflow too https://github.blog/2020-02-27-were-challenging-you-to-create-your-very-own-github-actions/
Hey y'all, do I have to make a digital ocean server for my Perforce source control, we're a small team of 3
you can use any host
what's the best way to approach it, I kinda wish there was somethin like github
there isn't
make sure you follow their guide for package based install if you do it and not the ancient one on allars blog
Alright guys my brain is totally melted! I have set up Perforce on my unreal project. Followed the videos on the perforce website , and the unreal guide for "remote server". Everything is working! And my source control is enabled in ue4 launched project. My questions are:
- do I need to host this in the cloud
- can I host it on something like onedrive somehow
- if I am the host, does my computer just stay on at all times as the "server"
- how does my team connect to me?
Sorry for the string of questions, it took me quite a bit to get running and now I'm stuck here and really just confused lol.
@obsidian axle
- You can host in the cloud, you don't have to. Regular studio (you know, such with office) would put server on dedicated machine in the office. And just push backups to the cloud.
You can't use OneDrive for that, P4 is a regular service running in the OS. And needs access to CPU/RAM.
Yes, if your machine is the P4 server, it needs to be always on. Computer work better if it turned on 😉
The simplest way for remote clients to connect is to expose your p4 outside.
- You only need to set port forwarding matching your P4 port, 1666 by default.
- And clients would use your home IP address. If your IP is dynamic, you should set up DDNS service - and there are many free of charge services.
So my workflow would be , computer on as server, the backup the files manually on onedrive cloud? @fallen geyser
I use a paid cloud service for backup so no manual work for me. atleast. I live in sweden so i use a swedish service but im sure u can fine great ones whereever you live.
@obsidian axle
Well I think I can keep the folder in my onedrive, like you said to make it automatic
@elfin roost does the cloud host perforce for you, or it's just your backup spot
@obsidian axle No just backup
Ok I see. What happens if you ever get taken offline with perforce though?
My team cant reach the project
Some advice here would be great
My team and I use UE 4.23 and for reasons we need to upgrade to UE 4.24.
I'm a complete novice when it comes to source control.
Is there a specific way I should go about upgrading? Create a new branch or depo? Or just upgrade?
@elfin roost depends...
- if the new version of engine would be the last prior to game release, it could be risky to upgrade, especially if you don't build own engine (so perhaps branch)
- any other case, generally in all studios I worked we just go ahead - once you decided to upgrade, better to fix all issues than ever go back, too much good things coming
and it's not like you couldn't recover in case of critical issue - as you already using source control
maybe the teams more used to Git flow would suggest branching, but studios I work it on... we use to single branch for a game (only exceptions would be super-dirty E3 demo branch to abandon after demo) and simply hammer down these - maybe - few issues that appeared in the new episode of UE 😉
especially if you're using launcher version of the engine - it's super-easy to go back in time, check things before the update
Yep I just went a head and upgraded. Figured is if went super wrong I'd just revert. However turns out that fmod needed upgrade as well so doing that right now.
the same for source builds, just longer to download older state of the repo 😛
yep, one should check if all the plugins have the matching version already 😉
Does anyone here use cloud with perforce? I'm looking at this option , since my team is all over the world Haha
yes, I rent a l00nix VPS/cloud server hosted by gandi.net, so far it's worked extremely well. I think there are more affordable host options (I pay $14 USD/mo for 1 core 512 RAM and 40 GB), someone else will probably chime in eventually
(after reading up quickly) or maybe I misunderstood - I run my perforce server on a remote VPS supplied by gandi.net, I don't run a local server and back it up
I used to run a local server but it was kinda sluggish for ping time for other team members compared to us all being hosted on a proper service I found
depends on your inet etc
use linode instead - $12 for 2GB ram, 50GB storage, fast networking and daily backups
Hey, I just got back into UE4 and wanted to use a form of source control to handle my project. Im not super educated on source controls but I have used it for a year with the basic knowledge. I prefer to use SourceTree. I saw previous conversations in here talking about how most projects in UE4 using LFS will go over the limit on Github. This is just a private project I am working on but it is already 6gb in size due to some assets. What would be the best approach for using source control with a situation like this? Thanks!
Anyone have any recommendations for a git client that can handle the source version of UE?
Each engine merge is getting more and more difficult and source tree really seems to struggle.
Inb4 "do it via the commandline", would prefer the interactive resolve and when i have a couple 100 files a GUI is far easier
smartgit
smartgit
@dusk dove Downloading now, thanks!
been using it forever.. works amazingly well with the engine
especially the conflict solver is great
I wish p4merge was anything like that or that this could be used to solve conflicts in perforce.. 
@dusk dove I wish I knew what everyone was talking about right now lol. So I'm looking into amazon AWS to set up my perforce. Thet have a year trial , and some options are totally free , then range from like 8 bucks/ month (AWS Lightsail) and up. But theres Tons of options on there , and not sure what exactly I "need" to run smoothly / effectively
@woven sluice is 40gb recommended , storage wise etc?
you don't need much, p4d is extremely efficient and will run on every garbage vps
so you'd be mostly concerned about storage
and that will depend on the size of your project
So I could go with a cheap option with decent storage? Games are huge these days I'm not even sure how my my project will need by the end of it lol
(i.e. if you have tons of GB sized art source files, that'll be more expensive)
That makes sense. So if im using megascans , this is gona be expensive lol
Hey, I sent a co worker a project with assets in it through GitHub, he downloaded the project and the files are there in explorer but don't show up in the engine. This is our first time attempting this so I know there may be something we're missing
are you making stuff in c++ and your co worker is an artist or designer maybe?
cause then he might not have updated binaries with your new classes reflected in it
so if that's the case he should compile from VS or you have to get the binaries from your pc to his
No they're both bp projects
does the Subversion integration not support connecting over ipv6?
@dusk dove when you mentioned package based install guide and not Allar's article, what do you mean? I'm not sure where I can find that
and
i dont get it am using git
but its not actually working
am not the primary user btw on the git thingy
i dont git-it lol
guys ive never used source control before but i wanna start using it, i have been looking into perforce but it only allows for 1gb of free storage, do i need to use the perforce on the whole project or can i just use it on the assets folder for example?
@solemn pilot what git plugin are you using? the default?
Hey, trying to upload files to my source control and I get this error
I think its because its trying to write over my OS disk, not the data disk
Does anyone know how to fix this?
Using Perforce on Linux
I'm not good with linux but you should be able to use ssh in and check your disk space on both drives. did you ever expand one of your disks without expanding the partition as well?
I just followed the online guide on the version control fundementals in setting one up, didn't do anything with the disks
@glossy ginkgo you can store whatever you want in P4 but I would ignore the 1GB storage cloud thing, that won't get you anywhere unless you're making a very simple game. if you had to use that then you would probably want to just store source code in it, and make your own backups of art content elsewhere
have you ever used SSH/loonix terminal before crunchy?
Only to install perforce
I just followed a tutorial telling me what to type into the terminal. Can't believe in 2020 people are using things without GUIs
@woven sluice i am the only programmer in the team so far and i am only interested in the using source control so that the level designer and the artists can have a easier time working on the project, what would you think would be the best (free) aproach for this?
well, you can run P4D (server exe) on any computer, if your PC and internet is decent and you leave your PC on 24/7 you could run a server locally
in my experience P4 might feel a hair sluggish doing this compared to hosting it somewhere closer to the internet's backbone but if the other team members are mostly doing art/level assets with relatively infrequent uploads it might be bearable
@quaint obsidian yeah the default
try using the new one
@woven sluice well i wanted to avoid leaving a PC on 24/7 because thats a pain and if something happens to the HDD the project is gonna get lost, so basicly i am out of options then?
unfortunately nothing is truly free. I think the cheapest solution for P4 is to rent a VPS, zeblote mentioned "linode" recently offering 50 GB for $12/mo
you'll need to learn a bit of linux/SSH stuff on top of basic perforce admin, it's not impossible but can be a bit daunting and will take a few days if you're new to all of it
cant i just use perforce on 1 folder alone? wouldnt that work?
you can do whatever you want @glossy ginkgo, but i mean... what's your goal? you want to only sync the Content folder? or just one folder from Content? how do you intend to sync everything else?
how big is your Content folder right now? how detailed are your art assets? what % done do you think your game is (how big do you think Content might get?)
Alrighty. Can someone walk me through or point me to a tutorial for setting up Perforce , though AWS Lightsail ? This is driving me insane lol
@quaint obsidian am on linux does that matter ?
@woven sluice i want to sync everything but thats not an option because i dont want to pay nor leave a pc on 24/7, whole content, i dont think i need to sync anything else for now since i am the only one working on the project itself but it would be nice for the designer and artists to be able to add stuff to the project remotely. For example, artist 1 adds 3d asset and then level designer adds it to the map. They dont need to mess with anything but that for now. Im only going to do 3 characters and 1 map so i think 1gb would be able to handle it. Later on if the project get big enough i will consider paying for a server.
my question is more like, can i just sync the content folder without breaking the project? and how hard is that to achieve? will it be messy?
will unreal have problems with just 1 folder synced?
Well the content folder is normally 99% of your project anyway. Source code is small, you might have some big plugins you could set as ignored and share manually
As long as you're keeping models low poly, textures very small, no major UI, etc... You might be able to stay within the 1GB limit I guess
right now my biggest folders are binaried and intermediate i think, i dont have 3d assets yet tho so i dunno
this whole source control thing is a pain in the ass
@glossy ginkgo you do never commit Intermediate folder, it's needed locally ;)
and from Binaries it's enough to commit editor part, no need to send non-editor files (for packaged game), so it shouldn't be huge in size
"i dont want to pay nor leave a pc on 24/7" - well, you need do one of this thing
or use Git with LFS on GitHub - that's what people often recommends here, can't say more, using p4 for most of my gamedev life
leaving PC 24/7 isn't such bad thing if your rig isn't noisy, it's not like gonna use much energy if PC is dormant
Large File Storage mechanism - allows Git to be semi-efficient with huge binary datasets (although not as efficient as solutions like P4)
apparently this also allows overcome 1GB on GitHub
at least that what people here say 😛
maybe doesn't work with linux
ah its says diffrent version UwU
@solemn pilot when that comes up, it means you can click yes to compile it.
and it was that moment when he know he foked up
this is painful
its just taking for ever : (
Engine/Binaries/Linux/UE4Editor -opengl4 Engine/Binaries/Linux/UE4Editor: symbol lookup error: /media/ashu/App/unrealengine/UnrealEngine-release/Engine/Binaries/Linux/libUE4Editor-UnrealEd.so: undefined symbol: _Z50Z_Construct_UClass_UAnimPreviewInstance_NoRegisterv
lmao
Hello, I usually just version my content folder, but I thought hey might aswell do it the "proper" way this time, but I'm a big dumdum. I've connected to source control (although I doubt much connection has happened), put in the URL of my gitlab server, but how do I actually get it to connect and create a repo over there?
by url I mean git.mydomain.com, which is why I doubt it's doing much
If I can just do my initial push via git bash and then have UE4 allow me to push with a button I'll be happy 🤷♀️ but I can't find a push button
i just wanna say git did work
very specific question that probably was answered at some point.: What is the best and free way to work together on a project? Because as far as I know git can't read blueprint for example and I am not sure about uploading large file sizes. Is there a write up that specifically goes over that?
Like: https://docs.unrealengine.com/en-US/Engine/Basics/SourceControl/InEditor/index.html does this prepare the Assets for lfs? Should I even Host assets on git or "just" store them on a cloud thingy like gdrive. The stickies felt a bit too broad for that point.
How to use Source Control software inside UE4.
it's not about reading blueprints, it just can't merge them and has no way of locking them
if you have a small team, maybe look to setup a perforce server, it's free under 5 users
and if you use git, you use lfs for the large files
but once the extension is registered as large file you can push it like your normal commits
at yet again, P4 is free up to 20 workspaces - this is real "user" in P4
so I've been using free P4 in indie studio with like 15 like people
and once you pay, you pay per user and unlimited workspaces
so it's not like you need to purchase license for every person, some rich companies do...
git lfs has locking, too
but ugs' calls to perforce don't escape names properly so p4 interprets the # has a revision lookup command
@burnt shadow What was your fix for that?
remove # from file names

why does Gitlab CE keep popping up asking for my username password with the windows credential manager?
you could also use an SSH key instead
i get this every time i add/duplicate an actor when designing a level. how do i check out levels that are sublevels?
Anyone here has experience with using google cloud as a git provider for UE4 projects?
the key thing is getting LFS to work
I know there are some LFS providers for S3
maybe you can adapt those to GCS
@molten hearth I just set up a VM with Perforce on Azure, all clouds are fairly similar
You need a network, subnet, a VM and a public IP address that you point to your VM
and you just install perforce on that VM
here's what my setup looks like https://github.com/vladinator1000/vyatr-azure-tf/blob/master/main.tf I'm using Terraform for it but it can be easily done in the cloud console of your provider
wow Perforce might work well with binary files but holy hell does this feel like 2005
I spent hours trying to set it up and it's so cumbersome
glances nervously at svn
If you are your team's Perforce admin...
... enforce group permissions.
resumes merging hundreds of revisions submitted to a branch that should have been archived.
?
I setup perforce in less than 10 mins
just install it from packages, 4 mins configuration and done
so I definitely goofed up. I downloaded and set this free Villager pack from the Unreal Marketplace and it happened to go into source control. However, I haven't physically made a push to source control so now the villager pack and all my work are just chilling waiting to be pushed. I went to go delete this villager pack and now it says I have memory references to landscape and world that I need to take care of. I'm afraid this has something to do with my source (Github)
If I was to simply uncheck ever item from the villager and only push the work I did, and then claim origin, would that automatically take care of things?
anyone have trouble getting RunUAT builds working with jenkins
the build I have works fine if i run from a command line but mysteriously fails when run through jenkins
I think this is the right channel - I’ve just followed a tutorial and set up Perforce with my project after a couple corrupted files led to me having to re-do a day of work. I’m just wondering, if I’ve set it up locally, how do I roll back to previous versions of files should I make a mistake? Additionally, am I correct in saying that because the files are stored locally, should my hard drive fail, I’ll lose everything? In which case, how can I mitigate that?
I’m not opposed to taking the time to use a different method should suit my needs better, self-quarantine has given me a lot of free time
Ideally you would install your Perforce onto a separate drive.
Then if the either drive fails you still have some way of restoring work.
You can rollback changelists with P4V quite easily.
I store my projects on an HDD but I think Perforce is installed to my SSD
Sure, as long as they are different drives.
it’s all very confusing to me
I just had an SSD fail so I’m really worried about data loss
am I also correct in saying that if I had a collaborator, they would get the files from my SSD, the central location
and as long as I keep editing on my HDD and updating the changes to Perforce, the SSD files will remain as a “master”
Yes that is how Source Control works.
@visual pewter actually you should make it other way around...
SSD - to store the OS, Unreal, your project - otherwise you slow down yourself with HDD
HDD - it's good enough for repository, move it there
and you could simply use backup solutions like IDrive to backup your entire repository - all history with the P4 data
alright
I'll look into moving them later, but if I open the version on my HDD I can't use any of the source control options
if I open the version on my SSD (that should be the master, the one that I don't edit) I can use them
but then any edits I make overwrite the master
the version on my HDD just can't find the workspace
@visual pewter uff, so I can delete my sarcastic reply 😛
yes, and there no "versions"
you got "repository" or "repo" - your server data, all revisions, all data
do I need to re-install it to the HDD
and you local data on your machine
yeah, the simplest for you is to uninstall old repository, nuke it
install new P4 server on HDD
I think I got it working
I managed to delete a file from my workspace and then get it back from the depot - that's the main thing I want to be able to do
it works now!
Hey all, for perforce, when your working on multiple projects on different servers every time I open the editor, it is trying to connect to the last used server, how can I set my editor to remember the source control settings per project?
just not understanding why this is happening with this option un checked, can't find any other solutions
Is it possible to use the Diffing Blueprints with git?
May I specify special UE4 commandline params for diffing two files?
Hi people, I was using Gitlab for my project but it gives 10GB storage limit. I need about 50 gb storage limit cloud/git service where my friends push their changes. Is there any simple and good services I can look for? It's for game's art files so storage limit is very important. Thanks!
Hello, is it possible to connect to a project on git and have different people use different IDE,s? in my example i need to use Clion with a project that originally used Visual Studio Community 2019
should be possible I think, afaik only the .sln file is specific to VS
and that can be generated at any time
i tried to open the project without the visual studio installed and got the errors:
is there some additional trick to make it work?
you might still need the Visual Studio Build Tools though, even if you use CLion
not sure, I don't use it myself
it works fine with my own projects, its just that this one was done with visual studio first..
Is there anyone who might be able to help me with perforce and AWS knocking around?
@terse elm you can't diff blueprints - it's save in binary format and you wouldn't get any readable diff if you'd compare "graph's text"
@ebon hound folks here recommends using LFS (which is must have for asset-heavy repos anyway) - which allows you to work around limit on GitHub, maybe somewhere else too
I feel that we could somebody collect all informations from people here and post some summary online...
you can run that from cmd
Path/To/UE4Editor.exe "Path/To/Project.uproject" -diff "File1" "File2"
Hello, please advise ( experienced gamedev, but using unreal for first time on prototype project ):
I pull a friends branch, and the engine tells me: "Changes to source content have been detected. would you like to import them?"
Saying yes results in a couple of .uassets wanting to be updated to version control. ( 2 textures in this case. )
So, is this because the person's branch has maybe not been saved completely?
If I close unreal, revert and restart unreal acts as if everything is ok.
What's going on here?
trying to include an engine plugin into the project folder, got that, but now trying to push that to github repo but it wont push even though i checked the ignore file and it doesnt have plugins ignored...
anyone can help?
wont push meaning, it wont show up in the github repo
had to manually push it through github website... seems to have worked..
odd, had no trouble with the last one I added
could be cause im using github desktop when i should be using sourcetree
They all do pretty much the same thing, but I like Sourcetree.
Hey, can anyone recommend an Azure/AWS hardware config for deploying perforce server to?
I recently watched the Source Control fundementals and the guy used 'Digital Ocean' and said he doesn't get bills any higher than $8 per month
I'd like to use a larger provider but any tier I seem to select seems to come to at least $40 a month
I'd also like to use Windows instead of Linux, so Digital Ocean is out for me
well why would you want to use a more expensive provider for seemingly no reason?
just use linode, you get daily backups aswell then
@dusk dove what do you use linode with? this is for source control?
I run p4d on linode
how much is it?
runs fine on the $7 a month one until we run out of space
using 5$ github one for 50gb data
sorry im at their website but i dont see any p4 stuff
ty
Is there anyone using Github $5 50gb LFS pack? I didn’t understand how it works. If I buy it can I directly upload my files to Github like just pushing? My project size is almost 12GB
you need to install git lfs in your project folder
and add the extensions of large files to the .gitattribute folder
and if you have already used this repo before and want to move all large files, including the ones that were already there to lfs, you might have to rewrite the git history so that these files don't linger around
Thank you for the answer, I’ll create new repository.
So even I this data pack I still limited with 1gb storage. Will large files upload to lfs storage?
Is there just a simple ‘buy storage’ option like increasing 1GB limit to something bigger or GitLFS is something I have to use?
run, git lfs install on your repo before you push anything and do the git attributes thing like I said
all the files with extension in the attributes will then push to the lfs server, and the others will be on the actual repo
I don't think you can increase the size of the actual repo
but you can always buy bigger lfs storage afaik
at least on bitbucket
but if you add the right extensions to the lfs thing, the repo shouldn't really go over 1gb, since it's mostly code and stuff that you're pushing then
Thanks it makes sense.
Would it be a problem to push all the files to the lfs storage?
Like all the content folder
not sure
most of it would already be on the lfs with a proper attributes file though
better to keep it safe
these are the attributes we use for lfs
*.uasset filter=lfs diff=lfs merge=lfs -text
*.umap filter=lfs diff=lfs merge=lfs -text
# Raw Content file types.
*.fbx filter=lfs diff=lfs merge=lfs -text
*.3ds filter=lfs diff=lfs merge=lfs -text
*.psd filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.mp3 filter=lfs diff=lfs merge=lfs -text
*.wav filter=lfs diff=lfs merge=lfs -text
*.xcf filter=lfs diff=lfs merge=lfs -text
*.jpg filter=lfs diff=lfs merge=lfs -text
*.tga filter=lfs diff=lfs merge=lfs -text
*.st filter=lfs diff=lfs merge=lfs -text
*.HDR filter=lfs diff=lfs merge=lfs -text
*.ST filter=lfs diff=lfs merge=lfs -text
*.FBX filter=lfs diff=lfs merge=lfs -text
*.3DS filter=lfs diff=lfs merge=lfs -text
*.PSD filter=lfs diff=lfs merge=lfs -text
*.PNG filter=lfs diff=lfs merge=lfs -text
*.MP3 filter=lfs diff=lfs merge=lfs -text
*.WAV filter=lfs diff=lfs merge=lfs -text
*.XCF filter=lfs diff=lfs merge=lfs -text
*.JPG filter=lfs diff=lfs merge=lfs -text
*.TGA filter=lfs diff=lfs merge=lfs -text
*.SBS filter=lfs diff=lfs merge=lfs -text
*.SBSAR filter=lfs diff=lfs merge=lfs -text
# Anything in `/RawContent` dir.
/RawContent/**/* filter=lfs diff=lfs merge=lfs -text
# Library Files that might get large
*.a filter=lfs diff=lfs merge=lfs -text
*.dll filter=lfs diff=lfs merge=lfs -text
*.pdb filter=lfs diff=lfs merge=lfs -text
*.lib filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text```
Thank you so much! Will do that
has anyone used the 12 month trial of AWS ec2? if you make too many commits do you go past the free tier and get charged?
also if yes, and if you used perforce, did you set up the windows or linux server?
anyone know if you can release a lock on a file from within the editor (this is for svn)?
Hi. Is there a way to make assets text-serializable ?
not that I know of
@abstract elbow check in the file back to source control to unlock it (submit to source control)
if you want multiple people to be able to work on a locked file:
when you make some changes on a checked out (locked) file and click save, there should be a "make writeable" option,
@pearl marsh what if I want to revert it? If I revert it doesn't release the lock. Also, thank you!
when you check out a file, its like taking a book from the library, you have checked it out and locked it from others to use. You need to check the file back into source control, either click in the editor and click submit to source control, or click the single file > source control > check in. after you have checked the file in, then you can revert the file to whichever revision you want
hello. I set up perforce server for the first time and I'm trying to wrap my head around it. Going pretty well so far but I just tried to add base third person project with starter content included and it seems like it was not such a good idea after all(?)
when i pulled it back to new workspace it printed some sort of error regarding starter content
looks like I can't even add starter content manually to that project
are you adding the starter content like this? also any file management should be done through unreal once you hook up the editor to it, don't do anything through perforce except get the latest revision on your root workspace (if you are working with others) have you set up the typemap as shown on the "using perforce as source control" docs page? have you been submitting to source through the editor when adding new files?
so I figured out what caused the error
all the files were read-only
when I checked out EVERYTHING, the project opened properly
but then again, I don't want to be checking out everything each time I work on the project
I didn't hook up my ue4 to perforce yet
but here's my question then
I have my Content, Config and .uproject file on the depot
I get the latest revision and then what?
if I just open .uproject, it throws the error
if I check out everything, others can't touch any file (right?)
okay nevermind I should set that typemap. Sorry for asking before reading that
p4 set P4PORT=localhost:1666```
my username
as in username I have on my pc?
no the username you chose when installing perforce
alright
also yes set the typemap, then just make changes inside unreal without thinking about it, then when you are ready click save all and make sure you are clicking this button when you click save all or else you are not properly modifying the files (except it's not greyed out when you made changes)
https://cdn.discordapp.com/attachments/686061699337420810/690470748782854154/unknown.png
then when you are ready to make a revision, click check out all modified files, then submit to source control
thank you
so I set the typemap. But here's the thing.
- I create basic third person template project with starter content in my perforce workspace
- I add and submit it to the depot (only Config, Content folders and .uproject file)
- Let's say I delete contents of my workspace or create a new one
- I download my files back from depot
- I try to open .uproject and it throws "cannot create asset" error regarding starter content. Output log shows it could not copy files from feature packs into the project.
My guess is that it tried to get starter content from the engine and it failed because files in project were read-only and could not be overwritten. What do I do in this case?
Should I not include starter content in my changelists? Or is there some other workaround I should use? Not sure what to do here
Hey man sorry, feel free to add me and we will continue this through DM and I wouldn’t mind either walking you through the setup with something like any desk or screen sharing you to show you. You are trying to set up perforce locally on your computer right? Your workspace and depot need to be two separate locations. The depot will remain untouched by anything except perforce, so you if you were to try and open the project from the depot you would get lots of read only errors, as it’s not normal to open the master project that everyone is working on.
So let’s say you have two hard drives, your depot will be stored on your secondary hard drive, do not touch it with windows or unreal, only perforce. Once you have that depot set up where you want to store it (weather that’s a secondhard drive or server if renting one) then you would create a workspace on your main C drive, and get the latest revision in your workspace to download the entire project from your depot (second hard drive)
This workspace is a copy of the project where you would do your work, and every single time you want to save your work, (after hooking source control up in unreal editor) you would submit to source control, which perforce then detects for changes from the depot, creates a revision/log, then pushes those changes to your depot on your secondary hard drive
Hey guys, just making a new perforce server on Linux and I see 'client name illegal' in p4 info
I think this is because the server has a depot which is the same name as an old workspace I had on the same machine
How do I fix it?
All of my commands return 'BGP is a depot not a client'
Ok, just figured it out. There is some variable called P4CLIENT (not sure what it does). Just change it and it should be finew
p4 set P4CLIENT='NewClientName'
Ok, new issue, I'm trying to add files for the first time and I'm getting an error that says' file(s) not in client view'
Literally scratching my head... Can anyone help? this is so unintuitive.... Git was so much easier 😒
A colleague is every day getting a situation where Unreal decides that pretty much all the .uasset hashes have changed and have to be re-committed. What is going on?
He is working on a character mesh and blueprint, yet the changes are across the board to totally unrelated stuff like menu systems
I 'think' I fixed it, but keen for someone to check incase I did it wrong. I basically went into the workspace settings, clicked the button next to the folder view thing. And set the right hand side text to be the same name as the root folder I want the stuff in
It WAS //Leaving2/BGP/..., but I think it was trying to look for a folder under my Leaving2 called 'BGP' for files?
Would really appreciate someone to check this for me 🙂
@wide raven Sounds like a general UE4 questions rather than a SC specific one. SC is just detecting that the other files have changed in some way
Get him to pause his work, do a complete server refresh/sync using 'get latest'
Then when he starts working, only save/checkout files he's working on
Thanks, will try
Am I the only one having a hard time with source control in UE4?
no
yes, it works perfectly for everyone else
also there's a unicorn outside being chased by a flying pig
Hey guys, I'm using Perforce and it's been going well but now when I try to submit changes I'm receiving an error on some uassets that says file(s) not opened for edit. Tried googling this issue but didn't see anything
Any ideas?
no
@burnt shadow I remember when you made some fund raised to build a source control, I'm in to help, let's try again 🤣
@waxen talon
yep, some assets on changelists aren't "registered" correctly - in this I either keep reverting files from changelist until it works or making changelist from scratch
usually it's about files being added/deleted/moved, so no work wasted
hmm will try that making the changelist from scratch thanks @fallen geyser
have anyone set up TeamCity builds with Perforce?
I don't get how to publish build artifacts back to the repository 😉
Hey guys, I was having trouble with my remote Linux perforce server and I restarted it from the AWS console
Logging back into P4Admin, everything is gone! My depot is gone from the view, and I had to log-in as-if it was a fresh install!
Can anyone help?
I'm having issues with perforce. When one of my team members tries to edit a blueprint and apply changes to server depot, it says "file(s) not opened on this client"
what are we doing wrong
@dense plover
check your client mappings - by editing current workspace
it seems that his workspace doesn't point to the project folder, so any file is "outside of view"
we set up the entire depot again since we didn't really have anything added yet. It's working. But thanks
Hey, I'm trying to re-do the perforce server. I've populated it with the latest version of the project and everything looks fine on the server side
I already have all the files on the client. Rather than download them all, I want it to just link all of the files I have with the servers copies
How can I do this?
currently they're in the same structure, but seem like they don't 'know' about eachother
Manually added the png from the depot to test, it works with a green light
Hello, I had a question if anyone has had any experience with getting the Multi User in UE4 working via different areas. For example one member in the west coast of the United States and another in the East coast. Thank you for reading.
@slender coyote you can't link anything
history of asset operations is stored per server, per workspace
if you never downloaded all assets from repository once, it doesn't matter what you have locally - you can't just move files to P4 folder, you have download entire repository through P4 client
Awh bollocks 😦
P4 workspace remembers which changelist is downloaded
So should I delete everything so that it's blank and 'get latest'? Or can I leave all the files in there and click 'get latest'?
and this allows for quick - difference between last synced revision and "requested one" which is most often the latest one
but you can easily easy to any changelist from the past, the same way as you update to newer changelist
this way is superior over Git clients
@slender coyote
yeah, the best is just to clean folders
it would be replaced either way, but you clean trash eventually
Arg; I've already started it with everything moved in. I was hoping that it would check that the corect file is already in-place and skip a lengthy download
just make sure server has all the needed assets 😉
nah, P4 needs to perform sync operation, it doesn't care what stored locally
it's centralized server system, server is a king, it doesn't store any meta information locally like Git
Orly? But you can work offline tho?
you can, you just need "reconcile" local changes afterwards
eventually run some proxy server - but that's what used if you have multiple offices around world, usually reconcile it's fine after re-connecting to server
and there are probably more tricks in P4 for "offline", but I never had a real reason to investigate, especially in times where even I stream music all the time, "always-online" world 😉
🙂
Thanks dude, looks like everything seems ok now. Final question if I may - I just restarted the client and I have two warning errors. What do they mean? 'Files not opened on this client' and 'No such stream'?
@slender coyote
make sure your workspace root (by Connection/Edit current workspace) is set to your folder with local data
show me text version, the last button in Workspace Mappings row
it probably sth super obvious 😄
looks fine, have no idea 😉
"no stream" warning is a standard thing you don't use streams, ignore it
It keeps periodically doing a fstat command on what looks like the depot/workspace, not sure what this is or what it means
No worries, thanks dude! I'll keep checking back incase anyone has had the same issue / knows whats up
Hey, if I'm getting a Perforce workspace set up can I map the root to my existing project folder or do I need a separate empty folder to start with?
just rename your project folder, create the workspace, delete the folder it made, rename yours back
way to play it safe
Trying my luck here 😄
We're a group of 8 at the start of a project and I just discovered the multi-user editing unreal offers via plugin
even if it only tangents i'm hoping someone here can help me with a quick question
i think i mostly understood how the hole thing works atm but I wanted to ask if someone knows if we're able to set up the server on a remote platform?
like host the multi-user editing server on an actual server (be that in LAN or via VPN), meaning without actually having to run unreal on that server, just the multi-user editing server (if that makes sense)
oh wait i'm totally wrong here lol
ah nevermind maybe i'm not 😄
Of course we would be using some sort of source control (most likely git as our programmers got more experience with it) but having the multi user editing server constantly online would be a huge benefit instead of always manually starting the server
i tried to use a VPN with concert but it didn't work
idk if i did stuff wrong but we were on a VPN and all the regular windows LAN network stuff worked fine but not concert
the multi user plugin has a lots of ins and outs that need configuring, once you get through the hoop of ensuring everyone is on the same VPN, and the PC's all think they are on the same LAN, then the server machine needs to set it's IP and multicast settings in some .ini somewhere, THEN you have to go into each connecting users editor settings and set the correct IP's, I gave up because the setup outweighed the benefits of it, (especially when there are options like unreal game sync which to my understanding will show changes in real time without needing to submit to source control, so each user could see objects being moved in the editor real time, but I may be wrong on this)
there was this forum post I can't find that had a lot of information on how to properly set up the multi user, for a while what you copy and paste into the ini was put on the official docs by epic but I can't find that anymore. you should give this a try I heard a success story with this guide if your server is running windows https://croftinteractive.blogspot.com/2019/08/ue4-multi-user-editor-with-softether.html
New to perforce here, I have a project I've been using Perforce for. The project is done (and shipped). I'd like to make a copy (fork?) of the project that I'll work on to port it to a new platform. What's the best way to do that?
if you want a new copy that will not have any more changes added to the old copy, I would just duplicate the entire project folder in your depot,
assuming your depots root is not the main project folder
for an depot example:
Depot>Unreal Engine>Projects>YourGame
from your workspace, open explorer under your projects folder, and create a copy of the project folder (YourGame_Linux) then mark the necessary stuff ( content,config,source,uproject,sln, ect) for add to the depot, then when others get latest from p4v, their projects folder will now contail YourGame and YourGame_Linux folders
👍 Thanks, that's what I was thinking, I just didn't know if there was a better way.
Do i need only the Win64 from binaries when i compile the 4.25-plus or do i need the repo dir to?
So this is probably some basic stuff but is there some all in one guide for using UE4 with git? I've got a team trying to set it up to work with git, and everyone can copy the project fine but then are hit with "Project was compiled with a different engine version" followed by "Project could not be compiled. Try rebuilding from source manually" when attempting to rebuild the project
The project uses UE4.24.3, which everyone has, so I'm not sure what the deal is.
Hullo! I'm the lead programmer for MartinE's team. I'm mostly used to Unity so switching over to UE4 has been a bit difficult.
I won't overcomplicate the problem with excessive detail. Quite simply, our team's director set up the Git repository like any other we've used in the past, including LFS. I synced, cloned, and began a new UE4 project inside that folder. When anyone attempts to open the project, they get the above-mentioned error.
If anyone has experience with Git or some other source control system, your insight would be most appreciated.
Hello
im new to using source control on unreal
i have a team im working on a game with
what source control software would be the est to use with slow internet?
my upload speed is garbage
and it takes forever uploading to git
i was wondering if there even is nay difference between the source control software
Changing to a different Source Control solution will likely have little effect on how quickly you can upload your commits.
yeah i figured
Depends on where the Host is.
If for example you move to Perforce, you can host a server on your local machine or another machine on your local network.
is there any difference on ease of use between any of them or no?
my team memebers are having a hard time commmiting with git fr soem reason
External users will have to use your IP address to access a local machine though.
Ease of use can be very subjective.
yeah i'd be fine with doing local if my internet was garbage
I find Perforce the easiest, but ive been using it for years and years.
i havent looked into it much but i might check it out
SVN is easy to understand apparently.
does it support cloud storage or it is just local?
Both
ok
im trying to get source control to work
because with my team members we used to do it through google drive
which required uploading the enitre file all the dang time
because thye didnt know how to setup git
so i did it, and it works for me
i send them the same tutorial and they cant figure it out
lmao
Git is great for Code repositories, not so much for binary files.
i'll definetly take a look into svn if its easier to understand
perforce can upload compressed files which helps with terrible connections
^^
Perforce is also free for up to 5 user accounts and 20 workspaces.
if i do it and thye still cant figure it out ill just teamviewer into their machines
and do it myself lol
it's pretty easy to use
...unless someone clicks the wrong button and you spend the next 3 hours figuring out how to fix it
lol i'll try to figure it out
i dont mind paying for cloud storage if i have to
we plan on doing alot anyways
that also reminds me that i need to call my internet company
and "discuss" my upload speed
it really is ridiculous
200mbps down but it only ever gets like 5mbps up
it seems like they've setup my internet service to favor the download speed at all times
@hoary rain @lime ridge you have to share the Binaries folder somehow
either you can have that in source control (LFS)
or you can use package system like we did
I'll keep this in mind! I'm going to try a couple of things in the morning so I'll see if this helps.
Thanks for the insight.
I know nothing about Unreal Engine but can anyone tell me the set-up process for having multiple users working on the same project simultaneously? I searched and found out about a plugin called Multi User Editing but I am still confused on how to properly set it up.
just realized I forgot the link https://projectborealis.com/git-distributed-collaboration-at-scale
@hoary rain
Is there a way to cancel mark for add on PerForce?
Like, I marked for add an entire project by mistake
@tulip portal just revert files like you would revert files marked for edit
Has anyone used both Perforce and Github at once? Trying to see if there is a way to merge workflows
@pure epoch yes, I get engine source from GitHub, cloning forked engine to P4 root folder and committing it to P4 as part of the project 😉
hey im using perforce as my source control but when i hit available workspaces it doesn't appear, can someone please help me
@pure oak did you already created workspace?
yea idk what i need to do
anyone have experience with cleaning up space in Perforce? our project is roughly 9gb locally but the perforce depot is 61gb. been doing some research on the command p4 obliterate but not entirely sure if that is the correct one to go through with. the docs make it seems like it may wipe the entire depot clean, anyone know how to approach this to get that 61gb lowered? i found out it's still saving everything we deleted but it's still lingering around somewhere
@pure oak IDK what's wrong either, all looks good judging by this screenshot 😛
@fast meadow yes, that fundamental feature of every version control systems, it keeps every version of each file
60 GB isn't much for gamedev project, it's just getting started 😄
p4 obliterate can be used to clean up things that shouldn't be ever submitted (like you were submitting Intermediate folders) or some old crap, entire old branches
you could clean up with that older half of repo's history through p4admin, sure
keep in mind, this command often remove database entries, not necessarily all actual file versions on drive - not sure why, never investigate it further
Hello guys, I have a problem in an all blueprint project... I don't know how to proceed with marketplace plugins... My friend has a "The following modules are missing or please rebuild" What should I do to setup it correctly? We are using perforce
@fallen geyser heya 😄 i reduced it by 30gb! thank you 💝 p4 obliterate sounded like a scary command from what the docs said at first lol
no one as best practice for plugins in source control?
@somber kraken what do you mean?
- keep plugins specific to the project in project's Plugins folder
- submit to repo: .uplugin file, Content and Source folders
- Binaries folder from your machine or build machine - only the editor part of binaries, non-editor binaries would be rebuilt while packaging
Hi all. I have a problem that I cannot really figure out. I'm using github for source control and I've been pushing no problem the last three months. I recenetly installed a grass pack from the Marketplace, its size is over 1GB so everytime I push, the process stuck at (Total 1047 reuse 0 ... ). I even left it for over 12 hours and nothing.
I tried increasing git buffer to 2GB, nothing. I deleted everything in the grass pack folder but the thing i use so the folder is now 400MB and it still won't push
Its a marketplace plugin
And when I add them then my friend as a « following modules are missing » and can’t run the project
Should I make a blank c++ class ?
@fallen geyser I've copied the PLugin from marketplace to MyProject/Plugins/ and it doesn't appear then in my project
you mean is it enabled? 😉
you need to enable it through Plugins in editor or manually add entry .uproject
oh wait, got confused by another chat
you got this enabled
nothing appears ...
Marketplace plugins should come with compiled binaries for your engine version
if not, you can it compile through Visual Studio, but most probably you need code-based project to run compilation
checking again 🙂
if only other people got message « following modules are missing », you might not submitted entire content of Binaries
or submitted binaries aren't compiled with the same engine version
@molten pulsar are you using LFS?
No, what is that ? @quaint obsidian
Alright a little search told me It's for pushing large files, I'll give it a try right away, thanks @quaint obsidian
it's paid on GitHub after 1GB so you may have to switch to GitLab (free 10GB repo, unlimited contributors for private projects), or Azure DevOps (free unlimited repo, 5 free contributors for private projects)
Alright, I'll look into the matter.
i just got perforce up and running. For me to share the project do i need to give my team the user and nothing else?
They will need the IP address as well in order to connect.
Wherever you have your Perforce setup to.
If its local, then your team will need your IP address.
If its hosted on something like an IC2 instance, then they need the address to that instance.
its the folder that it is saved on?
guys I have problem with my project, I used source tree for source control, I had problem with pushing update and I copied my player controller and did it 2 times, then I needed to fix the problem with the pause menu when I unpause to disable the mouse cursor but the problem was that I had 2 controllers-I removed this with less size and now the player generation doesn't working when the script for it is there, other dev of the team pushed update and told me that it is fixed i pulled it and again same shit, I cloned the project and again same shit. What to do?
Would anyone here recommend using SVN over Git or perforce?
Hey
@neon tulip Is it fairly easy to set up? What are the main advantages to using it compared to the other two?
I've used perforce and SourceTree (git). git isn't that artist friendly as you need to deal with LFS etc
Yeah kinda easy. Advantages are better binary support than git and no wacky license like perforce
yeah that's what I'm thinking also
another sticky point RE: git is that each person needs to get the entire repository. you can't just get the files you need
also.. there is no Depot view with git.
is there such a thing with SVN?
Now the big question. Which SVN client is the nicest to use? I like the idea of TortoiseSVN but would prefer to use something similar to SourceTree. I'm currently looking at SmartSVN
Read info on PlasticSCM that offers a LFS to artist https://www.plasticscm.com/games
Plastic SCM is the version control for game development. Learn why studios worldwide choose Plastic SCM.
if only syncing from git was bit faster than almost two days..
(and support for gitignore files)
other than that PlasticSCM was actually pleasant to work with
Thanks for the heads up @jolly fog team is taking a look at that now
@river tinsel no gitignore is a little bit of a deal breaker tbh
to answer an old question from above about commit time, if you had SVN, and Perforce, and raced them side by side for the exact same commit, on the exact same network and server, perforce would most likely be faster due to how it handles files
git, not too sure about that
but the speed would be mostly negligible
We use SVN for our studios projects, apart from the .svn folder getting super large, i find it very useful.
We also use the locking mechanism through UE4 and I am starting to do something for Maya to set that up as well.
The biggest issue we are having with it is now that we are all work from home on vpn, the SVN plugin for UE4 is terribly inefficient in how it talks to the server.
I am in australiia so our internet is not the best, I am on a 100/40 plan and get 89/38 when on the vpn.
A single file doing a rename has been taking anywhere from 30 seconds to a max of 2 minutes and 37 seconds!
It seems to do a lot of stat calls or something.
I am not a C++ guy so not able to really understand what / why the its so slow.
on our work network its fine of course, I can RDP into a machine at work, do the same rename and it will take a second.
Anyone able to help understand the slowness?
@frozen harness don't worry, it's just SVN
an old tech, I wouldn't use it for professional work nowadays
Perforce works fine on VPN and other remote connections even still using central server
there's also solutions for managing large remote repos/team in Perforce, but never had reason to investigate it
Yes I much prefer perforce, sigh, wish we could transition over to it.
@frozen harness i can say for a fact AAA productions in asia use SVN
we talking square enix, nintendo, others
and it works fine
my recomendation is that you just dont use the plugin, and do the svn stuff "manually"
Yeah the svn locking functionality in the editor is not so great when the server is not close/on v. fast network. comparing a 89/38 to a Gigabit network you are gonna see some slow down there
vblanco, yep we've been using SVN for all our projects for the last 5 or so years now. multi-country setup with mirroring for our australian studio.
I'm fine doing it all manually and fixing things, however for a lot of our less tech savvy artists its not as easy.
thanks for the replies guys
the main problem of SVN is mostly just that branching sucks
as in really fucking sucks
other than that, tortoise svn is very easy to understand for artists
click on file, click commit, data goes up
click on project folder, click sync, project gets syncd
almost foolproof
how would i be able to find my ip address in perforce?
@pure oak actually just google "my ip address" 😉
that will work for the perforce project?
P4 clients needs IP of machine running server and port (1666 by default)
if you're exposing your home machine, you just need to forward port on the router
(assuming you're not using VPN remote access, but I doubt so)
I have a general pipeline question for anyone here
Would you:
A) Have an Assets/Weapon/Boop/Audio
or
B) an Assets/Audio/WeaponBoop
& Assets/Weapon/Boop/ (other files like Mats and Mesh)
@tall belfry https://github.com/Allar/ue4-style-guide
That might help you decide
Thankyou! Just discovered, diving deep into it 🙂
Hello.
Sorry for the weird question, but when setting up perforce for a project that is already been worked on (60gb project size) how would I go about sending the project to my devs?
Do I send them the project through perforce? And am I supposed to upload the entire project into perforce?
Newbie to source control here.
" 9. Finally, a confirmation email will be sent to your attention, verifying that your GitHub and Epic Games accounts were successfully linked." but haven't recieved it for months now I see 😂 so would you please help me?
@jolly fog yes, the person setting up repo simply submits the current version of all the files that needs to be there ;)
- first prepare .p4ignore file - defining what folders, files and filetypes should be ignored and never send to repo
- simply select root folder of the project and use "Mark for add" option, check if list contains all the files you want to send and nothing more
- submit 😉
What if it doesn't contain all files? @fallen geyser
correct p4ignore, repeat
you need to create it 😉
no need to apologize 😉
this one should work for you
This video demonstrates how to prevent certain kinds of files from ending up in your Perforce Helix depot. The trick is to set the P4IGNORE variable properly on your workstation and then create .p4ignore files to describe which files to filter out. The video demonstrates how t...
you need to tell p4 to use it, watch the video
setting this can be done also from .bat later on if other would need it
Wow, thanks!
How would I go about giving this to my partner?
Does he just open a empty project and he syncs it?
more like "empty workspace" in which he set folder for the local repo
and, yes, simply use "get latest"
Alright
Can I get back to you directly if I need help?
Im still learning this and I really would like some info if I need it
@pure oak It depends on your security settings. If you haven't changed the default, anyone can create users by trying to login to your server with P4V.
If you disabled public user creation, you need to login to P4Admin as a superuser and add users manually.
i added a user but i cant get him to join the server @neat grotto
Are they using the name and password you created for them? What error message are they receiving?
they are not using the password that i created
i make them click on open connection and we try to put our info there @neat grotto
They need to use the password you created when adding the user. It can be changed later if need be.
where would he put that in at ? @neat grotto
OK, back up. How is your colleague trying to login to the server? With P4V?
OK. There you can add the server, username, and optionally a workspace (usually this is blank for a new user because they haven't created one yet). If the server recognizes the user, when they click OK, it should prompt for a password.
If the server doesn't recognize the user, an error message will appear at the bottom of the login window.
he is trying it rn
does he type in my user or his @neat grotto ?
im telling him to use my user
Well they should be trying to login as themselves, not you.
i only get the default server of 1666
You need to enter the IP for your server, e.g. 123.45.67.89:1666 or ssl:123.45.67.89:1666 if SSL is enabled.
do i need to go to admin to view my ip address @neat grotto ?
Have you logged in to your own server yet? I assumed you were already using it and looking to add more users.
i did, but my ip address has colons and letters in it, if i view it from admin
when i made a new server @neat grotto , i just left the default server as 1666 and my user, then i selected a workspace
Where is your server hosted?
i only downloaded the p4v
OK, it sounds like you're missing some steps here. P4V is just a client for logging into a Perforce server.
thats why
It doesn't create or run the server itself.
One sec, I'll link you to the docs you need to set up a server.
OK, well I'll feel better if you have these docs. 😄
This manual provides information on Helix Core server installation, backup, recovery, tuning, and triggers (version 2019.2, released in November 2019).
thanks
created the server, and the port is 1666, @neat grotto. Do I type in the server name that i made in the server, and how do i find my ip address?
You want the IP address of the machine where you installed Perforce.
Which should be available from the provider where you're hosting the server.
confused on the machine, do you mean where i installed it at?
Yes, the computer where you installed and configured the Perforce server.
My own computer ok, then do I put the port after @neat grotto ?
Yes.
has anyone tried setting up SVN with OneDrive instead of with a hosting service?
Well, I'm giving up on SVN I think. There are no decent free Clients with GUI, TortoiseSVN never works properly with Icon Overlays (yes even with registry hacking)
@open bone Hey Roy, you still working on that Plastic Discord bot etc? Fellow Plastic user here 😉
out of nowhere my project is just not there
and was using google cloud + perforce 😄
is there something easier? github might be easier to use perhaps ?
im guessing my card blocked google payment once or twice and project is gone 😛
huh
@dawn kindle ya, the source is here: https://github.com/punyhumangames/plasticnotificationsystem
there is an example config here: https://github.com/punyhumangames/plasticnotificationsystem/blob/master/PlasticNotificationSystem/Discord/config.json.example
That is so cool! Thank you for sharing
Join us for a brand new Unreal Educator livestream series on Twitch, hosted by Epic’s Global Education Evangelist Luis Cataldi and Technical Artist Tom Shannon.
These presentations are for both educators and students and geared specifically towards teaching and learning in an...
another Epic's take on explaining source control
obviously focused on Perforce, but even showing setting up P4 on AWS
and nicely explaining the basic concept of the source control
but it's great for these serious big projects, but also smaller projects too
plus few hundreds per perpetual license isn't that huge cost (even if buying a license per developer), if you're not a "true indie"...
although it's a proprietary thing with no intention to be an open ecosystem never ever 😉
i think git just needs a game studio to make the leap
like MS did
they were able to invest into git, and make it better for their workflow. it's a chicken and egg scenario. p4 has a lot of underlying infrastructure to make it more tolerable for game studios (UGS is one example) and it's been developed over the years with their customers feedback in mind.
git doesnt have that at the moment, it just has the starting infrastructure for something great to happen.
the problem with git is that LFS is a deeply flawed hack
but now that it exists, having binary support as part of "real" git is likely to not be approved
i personally think git for gamedev is hopeless, its just not the tool for it
problem with git is binary files handling
tl;dr it is problem of core git design
nothing change that unless someone forks git and add it
locking on LFS is joke
especially if you don';t know how to handle git from terminal
nope, P4 wasn't even created/updated with gamedev in mind
repo of big game (like 200 GB in single version, terabytes in entire history) is just a toy for P4 😉
UGS is just nice Epic overlay, entire industry use clean P4 mostly 😉
Google used p4 before rolling their own VCS
so did microsoft
I mean the p4 might be propertiary and sometimes crap
but this shit scales to terabytes of data
not counting history even
yeah, MS did for code things and implementing entire ecosystem around
not "art projects"
this is something beyond what git can handle with binary assets
and this is keyword binary assets, because text is stored as delta in git
the issue is that game project are like 70% assets and 30% code
so you either need some specialized VCS.. or perforce
if it come to size, code is below 1% 😄
and I've seen AAA projects with hundreds thousands of submits a years, entire history took just few terabytes
with engine binaries stored on the server obviously
and you can easily configure P4 to store only the last version of heavily files - PDB would be prime example, over 20GB in single version for UE4 build
you can submit it to repo, and let people download this massive thing, have a proper callstack 🙂
we move from storing engine binaries in repo
we just store compressed builds
and debug data on separate server
what's the observable difference between "simply submit all to repo"? 🙂
I mean, I'm interested in more sophisticated solutions, but nobody in my projects complained on engine dumped to the repo yet, so... 😉
small sync sizes
we also use UGS
smaller*
artists always get engine version compatibile with assets
server is nog boggled by sending literraly thousand of files, just one zip
yeah, I'm surprised "my" artists/designers don't demand that 😄
which is something between 1-2gb
or wait
latest binary i see have around 500MB
for some reason someone choosed to keep entire history on those files
(bit pointless if you ask me)
engine binaries? only for archeologists, but happens to be useful once in a year 😄
or for marketing time-machine, slice through project in many phases.... probably very rare too 😄
Is it possible to use Perforce with OneDrive instead of a cloud hosing service?
OneDrive is a file sync service, not a server to run applications
P4 is a service run on the server
I was curious if there was a way to work locally on separate machines but sync the database through OneDrive
I think you can work this way with SVN
yes you can do that with svn, i think you could do that with p4 too
just setup the repository inside onedrive
on testing, this works a LOT better with SVN
you mean, Perforce? 😎
haha nope
maybe I just hadn't set it up P4 correctly but seems a LOT easier to set up with SVN
SVN in general or SVN with OneDrive? 😉
if you don't need any complex setup
p4 is dead simple to setup
install from package
run sh script
done
well should probably do a bit more than that
like setting up a script to make a daily checkpoint and auto backup
don't trust the journal 
I'd disagree, I run with journal no-backup for years, it's fine 😛
it wasn't smart, but it worked (side projects)
I guess @tired night simply refused to set up any kind of server 😄
the perforce server was conflicting with OneDrive sync and wouldn't sync properly unless you shut the server down. SVN seems to work silently and allow the OneDrive sync. I'm working on a solo project between PC workstation and laptop
btw I've worked for many years using P4V on AAA projects just never had to set any of this stuff up myself
I'm an artist, not a technician godamnit 😄
well, P4 server needs to service (application working in the background) on always-online server, and constantly updates its journal (with any operation)
not something that would work with file syncs 😉
but now I know that Subversion can work with that, interesting fact 😉
😉
Hello
I am having the weirdest issue
and am not sure
if this belongs in version control
am trying to add a c++ class to a project. I can generate the VS project, and create it using the editor new class wizard. But there's no way right now to actually use that class! I can't even see it in the engine. Another weird thing? It keeps asking me to generate visual project, editor prompt never changes to "update visual studio project"
so here I am thinking that it might that I need to check out a file so that UE4 actually sees the vs project? But am not 100% sure (checked out .vs folder, config folder, source folder and even binaries folder.... same behavior )
and am completely baffled at why it's not letting me add C++ class
make sure your class is a UCLASS
and compile from VS in Development Editor before opening your project
Any of you know of a good article about fixing tfignore ? my boss forgot to setup the tfignore file before doing pushes
hello, I'm working on a project with 4 other people. We have a Perforce server set up and it's all going rather well so far
now I want to use stuff from starter content in this project
(we don't have it included yet)
but that's like 300mb difference in project size
do I have to send it back and forth? Or is there a way to make ue4 include it locally after I download the rest of project files
@dense plover nope, you're not including anything locally
entire source control concept is about sync everyone to the same data
300 MB is nothing for systems for P4 😉
just submit it and let people grab it from repo
although starter content is generally a crap, you can clean it up or don't use it
cubes from engine and assets from templates are nice for starting up the project + plus some smarter asset packs like SuperGrid 😉
well some of the materials look neat. It'll be good, even for placeholders
but thanks for clarifying
I have some errors when I do a sync that look like these. Anyone see these types of errors before and can offer some assistance?
LogBlueprint: Error: [Compiler APlaneBase] Can't connect pins APlane Base Missile Homing Target and In APlane Base Target : APlane Base Object Reference is not compatible with APlane Base Object Reference. <- funny thing about this: the BP compiles fine and no errors are reported during gameplay; the system works. as intended
LogUObjectGlobals: Warning: ReloadPackage failed to find a replacement object for 'APlaneBase_C:InputKeyDelegateBinding_14' in the new package '/Game/Blueprints/Planes/APlaneBase'. Any existing references to this object will be nulled out. <-- this one I nativized to see if the code would tell me what the offending delegate is. Here, the BP works as intended and compiles fine.
I did find where these errors/warnings are thrown in the sourcecode, but i cannot make a determination of how to move forward. Answerhub has never answered this btw.
how do i force my source control settings to remain saved?
the file that saves it is forcibly kept out of perforce coz it was causing issues
so i have to reconnect every time i start up the editor
You added it to p4ignore? @prisma kindle
i wasnt the one that did it, i dont know perforce very well
im wondering if there's a way to have the credentials be saved without it bothering perforce
i have to regularly relogin into p4 but having to set up the ue4 editor on every startup as well is annoying to say the least
@tired night
I just wonder if the file is still set to read-only, if it was checked into p4 previously this might be the case.
@tired night aye, that was indeed the case
im using the preview version of rider for unreal along with perforce, does anyone know how to get rider to check out files before running a build? when I try to build it says access denied
hey if you are doing a world composition based map, what is the best way to collaborate on this using a perforce server?
your binaries and intermediate folders should be either ignored or writeable in perforce
what I mean, is if I want to work in/on a level at the same time as someone else
@half cradle the same as with classic streaming solution, the difference it's only in the way engine loads/streams sublevels, not LD workflow
just make enough sublevels to avoid collision in editing
there's this new solution allowing many people to work on the same level simultaneously, Concert aka Multi-User Editing
Get multiple users on different computers into a shared Unreal Editor session, collaborating live to build content together.
but it was designed to work on LAN, and more for pre-vis/movie industry to quickly iterate scene than for gamedev
personally I'd terrified to allow many people to edit the same sublevel 😛
probably nice to quick prototyping and checking what's work, not that useful in production...
there is new editor
which will get rid of levels
it's used for fortnite
it was supposed to commited soon after GDC
but idk
how it will be now (;
so called World Partition? yep, it would be like a new engine with it 🙂
yes
@river tinsel but i wonder, specially on things like fortnite
if there is 1 file per actor
doesnt that trash the absolute fuck out of the filesystem?
with a trillion microfiles
im seeing a lot of geometry stuff lately on the github
optane ssd is now required to use the editor, otherwise you'll be sitting there for a while loading 100000 tiny files..
unless.. it actually keeps a binary representation with the merged stuff
on derived data cache or similar
so the first time you open the map, it goes "compiling actors..."
and after that it tracks deltas
Red Engine (built for Witcher 2 & 3) uses such systems for a decade, works just OK
actually saving a "layer" holding many actor instances, for developer convenience - still it's the entire world with thousands of layers
but this is probably a major reason of Epic finally refactoring "loading times" in the engine, so the engine could keep up
and maybe to properly use NVMe in upcoming consoles 😉
I've set up Perforce on AWS today. It's really neat.
PSA: Weird little idiosyncracy to keep an eye out for. If you're using UGS to have artists sync precompiled binaries and you use virtual streams to, say, filter out source code from their workspaces...
... UGS will fail to enumerate any changelists that only affect paths that are filtered out.
In Engine/Source/Programs/UnrealGameSync/UnrealGameSync/PerforceMonitor.cs, UpdateChanges can be modified to use Perforce.Where to get the depot-relative path to the client-relative paths it tries to add to DepotPaths.
This resolves the issue because it later will try to call p4 changes with these paths. When the paths are client-relative, Perforce (reasonably) ignores changes that don't affect files in the client view. But when the paths are depot-relative, p4 changes will return changes that affected those paths even if they're not in the client view.
Any preference here between Plastic and Perforce? 2 users at the moment, no plans to add to that.
obviously, whenever you can use the free version, perforce wins
purely because it's free? I'm definitely willing to pay a few bucks for convenience and hosting. I don't have my server, and getting it again during lockdown is going to be problematic.
@novel badge you have person who just satisfied with Perforce on AWS just few lines above 😉
and Epic even done presentation how to set up this in their first educator stream
Perforce is industry standard when it comes to deal with a lot of data
used by hundreds of studios - I'm not sure how good is Plastic (it can be great, but didn't meet to many people using it)
it's still WIP article, but linking so I wouldn't have to repeat myself 😄
P4 costs few hundreds bucks per license, but it's perceptual 😉
I use subversion, and epic still hasn't replied to my AnswerHub request to please publish version requirements for source control vendor server and client software. It would be nice in their release notes that this information is in there so we know from UE version to UE version, if we want to use Unreal's built in Source Control, what SC versions they recommend for what UE version
Anyone know why when i try to push my project to git using the LFS, it times out/hangs up exactly at 2gb but completes but has one error so it never pushes it to my Git repository?
Heyho, does anyone know what I need to be aware of when updating a project to another engine version while it is already loaded up on my perforce server? Or should I just convert, delete the old project and reupload?
@chilly frost mhm? there's no need on version control for "delete the old project and reupload" 😉
if you have your project on source control, you only should submit changed files
in case of using launcher build of engine, you're simply changing entry in .uproject file
submit that + any changes in .ini, assets
hmhm i will do that then
mostly because of enabling some new engine feature or fixing post-upgrade issue
it's surprisingly simple, I know 😄
I was always thinking that since you can not migrate something from 4.24 back to 4.23 something actualy happens to the uassets that changes them to be not compatible anymore
as long so you won't submit a new file version to repository, it's still "4.23 asset"
just put visible "=== UE 4.24 ===" label on changelist updating used engine, so it would be clear that more recent changelist might be save with the new engine version
you can always get older revision of file, if something would become corrupted/broken
is there a way to start perforce with windows ?
@tight fractal if you mean a server... yes, it's a Windows service
it should be set to start automatically with system, if not just make it so in Services panel
can the perforce program start with the system too ? I mean the program, minimized
@fallen geyser
also, do you mean this:
does it look ok ?
probably yes 🙂
if you want client started with windows, you can put shortcut to Autostart folder, check guide for you Windows version 😉
oh, I'll look into it, thank you @fallen geyser !
@fallen geyser was super ez no problem 😄 thx for reconfirming
Is there a way to use githooks so that you can use git client but for binary UE4 binary merges it launches UE4 editor so you can actually merge binary files?
@simple bloom use mergetool instead of git hooks
Is there a way to use that?
is there not a dark mode
for turtoiseSvn?
according to google theres not.. hoping some expert ue4 programmer out there can swoop in to save the day 🦗
i have both of those
but new job
new source control
at least the engine is still unreal right
dark mode is? Oo
@simple bloom yes, there are git config options for mergetool, look at those
I just moved my project to perforce and tryng to pack the game, does anyone know what any of this mean ?
Why is perforce trying to delete my plugins ? :S
I had to check out saved, intermediates and plugin folders to make it work, weird
@tight fractal oh, you should actually clear read-only flag from these files
Saved/Intermediate shouldn't checked out, this are local things
should have it on your .p4ignore list
in the worst case you can just removed them and let engine recreate it 😉
the same goes for Intermiedate in your Plugins dolders
P4 doesn't do anything, it's cooker trying to clean/update files
@fallen geyser do I find that in here? I'm struggling
@tight fractal https://allarsblog.com/2017/04/05/populating-perforce-with-an-unreal-engine-source-build/
This document covers how to set up a new Perforce server and populate it with an Unreal Engine source build alongside your projects. This is the most basic setup for 'beginner' Perforce pipelines and does not cover things like streams. Please note that you should only do thi...
search for .p4ginore part 🙂
do you know how to open a command prompt?
alright, i managed @fallen geyser
the plugins are still giving me errors though
no I was wrong, nothings working haha
remove intermediate folders, run it again
ok
also from p4 if you added it
yes
these are locally generated file
should be send to server
only would cause errors while editor/IDE tries to change it
I marked and deleted them but they are still there :
with an x icon
@fallen geyser
yes, because older versions stay on server 😉
can't I clean them completely >? also, is that ok then ?
it's fine
if you want to remove it from server entirely, you can clean history by obliterate command
google it 😉
thanks
but use it carefully 😉
Does anyone know why engine can't build my timestamp ?
The finale is not in perforce
file is not read only
i finally managed to fix it by adding the files back and obliterating again
if you're searching for couldn't touch header directories is denied look up
normal obliteration command wasn't working but I did it this way:
How do you deal with .uproject file in Perforce for users that use source builds on different paths?
you could make people use regedit to change the guid assigned to their build to the same one
would be interesting to see what the "correct" way is
Is this right place?
CyberSpace, got this error while trying to generate project files,
ERROR: a game project path was not specified which is required when generating project files using installed build or passing game on comand line
generate project files error: unreal build tool was unable to generate project files
please be kind to assist
Why do you use your camera instead of taking a screenshot?
that's the engine folder
if i take screenshot, will you answer my question?
you are not supposed to be running that at all
right click your uproject file in your actual project folder and use generate project files there
Also this is not related to #source-control
i need to build engine for Online subsystem, got that f4.24 from github, it has to download 18 gb of data, i moved that to version that i got from unreal launcher, @dusk dove
@limber kraken woupd be helpful if u tell me where does this question has to be asked, u seem to have a bad day
Why do I seem to have a bad day? 😃
If this is related to #engine-source ,then you should go to #engine-source . If it is related to #cpp , then you should go to #cpp
ty
there's a bunch of examples online
got it, so do it yourself thing
There's also one in GitHub's official gitignore collection: https://github.com/github/gitignore/blob/master/UnrealEngine.gitignore
Hasn't been updated in almost 2 years, but I'm not sure it needs to be.
Like what?
Fortran module files 😄
this my p4ignore I use for with GitHub source builds, filter outs crap, perhaps few entries aren't needed
https://github.com/UnrealEngineCommunityWiki/Gems/blob/master/.p4ignore.txt
How do you handle source control with assets in ue4?, I think adding the Content folder to the version control seems wrong 😖
@feral terrace there's entire point of version control - to keep there entire project 🙂
Ah I see, thank you both. Never worked with large binaries in git
does anyone know which folders are good to add to source control ignore list? So far I have Binaries, Build, DerivedDataCache, Intermediate, Saved. Is this correct?
A few posts above there is a link to a p4ignore and an UnrealEngine.gitignore file which will list pretty much all of what you want ingore
cheers floppyDJ
When building from source, is there an alternative way to acquire the dependencies regularly fetched through the Setup.bat? Unfortunately, my DL's through that are getting regularly corrupted.
Hey all, just wanted to ask about your honest experiences with Perforce and Plastic, and the pros and cons to both.
Any pitfalls in set up or configuration would also be helpful to know about.
@quaint obsidian this will partially answer to your question
difficult to get info on Plastic as almost no one use it (although might be good)
I wanted to get more personal experiences with each with specific things that you had to work around even if it was ultimately your fault
oh... alright! 🙂
with Perforce
- Set up typemap before submitting anything, if would forget to set .uasset as +l (file to be exclusively locked by default when checked out), applying in later won't work for assets already existing on server. You'd have to change for every single file (manually or batch script) and submit "new version" to repo.
- You might consider using streams, this is optional feature in P4. Thing is you can't switch non-stream depot and users to stream ones. (You can have as many depots as you need on P4, i.e. single depot per project)
and... well... basically it's default to do a bad setup with P4, most of times beginners would just submit too much to repo (locally generated cache)
every user manually has to run the command p4 set P4IGNORE=.p4ignore to make p4v respect the ignore file because they refuse to make it default
havent tried plastic
my experience with perforce is that its a goddamn pain, but it works well
and it scales very high
its branches work... kinda, but not as well as git
it also tends to be SUPER slow as the server bottlenecks, so you better have low latency to server (latency is the most important)
also the ue4 plugin is very slow, i tend to just check out stuff from p4v. For code i basically never check out things and just use reconcile
the feature where you make changelists and shelve them is very useful. More than once ive done a fix, and shelved it for code review, and meanwhile just go work on other things. On git, for the same thing, you probably would be using branches
also the ue4 plugin is very slow, i tend to just check out stuff from p4v. For code i basically never check out things and just use reconcile
@noble knoll OMG, why? 😄
I mean, I remember terrible P4 plug-in for VS 2015, but it's works fine since 2017
Something I just found out about Peforce perpertual licenses...if you drop the yearly support package and then need to do a server IP change, you'll need to resub for support package AND THEN BACKPAY the support years you missed between cancelling and resubbing..
So support is $1850/yr for 10 licenses. You go without it for 5 years. You move. Now you need new Server IP address.
That's $9250 for the 5 years you missed + $1850 for the next year of support , + a "reinstatment fee" an additional $1850 = $12950 (just to change server ip address, a 5 min job)
...you have to pay to change the server ip? what the absolute fuck?
@dusk dove yup. You have to send them a support ticket to do it... A 5 min job... Costs a crapton of 💰
wow that's ridiculous
So yeah. Perforce might be the best. But we need better competition so policies like this don't become standard
I need to try out Plastic again.
@haughty ember That's insane. Did you bark up that tree as much as you could?
Also, having not had to directly deal with P4 licensing commercially, do they support using a domain name instead of an IP?
IE: Specifying "perforce.yourcompany.com" for the license?
@robust jacinth Oh, I am still barking.
When I was sold the perpetuals, they conveniently forgot to tell me this.
But, I can ask because that's a good idea.
Oh, I think they do actually...
Not sure if that page looks different for you, being logged in or some such, but it's little more than a contact form for me.
No clarification of what "IP-Less Request" means.
Aye, I've sent support the question
Might as well, since that did cost me $1850 for the year
First time I've ever used Support
Thanks.
@haughty ember If writing VCS was not thanks jobs I probably won't get return anything, I would start doing it : D,
Plastic is nice. I mean I really like it is fast to work with, handles big repos (although I'm not sure if sacales like perforce). BUT...
- It is extremly slow when importing shit from git (especially for something as big as UE4). for perforce I was able to setup Helix4Git and import everything in few hours. For plasitc I've seen reports on forum it takes 70+ hours. WTF. Like I mean these guys do not seem to that concerned with optimizing their product performance.
- If you think perforce has 0 third part support (like issues, bug trackers, code reviews), then Plastic is black hole.
If importing from git worked I would use Plastic. But.. There is neither import from git nor perforce, so you are left with workarounds.. and with no support for gitignore files you are bound to commit lots of shit into repo.
I ask them every few months if they changed those two things
and for the past 2 years
nothing changed.
which is sad really
Everything has their pros and cons
But yeah, it doesn't seem to be a space many people want to venture into for some reason.
We're lucky that Plastic can compete now
@haughty ember actually I asked few people running P4 on perpetual licenses and they say IP setting is local, and Perforce company doesn't bother them with that... weird thing
@fallen geyser They giving you either wrong info, or very old one
Not sure anything before 2016.1 changes.
But you definitely need license file from Perforce now
if I understyand it..