#source-control

1 messages Β· Page 62 of 1

cyan jay
#

You can use port forwarding on your router, and share your public IP with your friend.

hoary lichen
hoary lichen
cyan jay
#

link doesn't work btw?
The usual method is:

  1. Set your PC to have a static DHCP assignment in the router so it doesn't change.
  2. Forward a specific TCP port from router to the port you used for perforce on your PC e.g. (from: 1666 to 10.0.0.65:1666)
  3. Ensure the Windows firewall on your PC has that port open for incoming connections.
hoary lichen
#

in the website it says forward a port to 80

#

and I created one for 80, the server I used for creating my helix core was localhost:1666

cyan jay
#

then you should forward the port TO 1666 πŸ™‚

hoary lichen
#

but after I did that I had to open my p4v with localhost:80, I will try to change it to 1666 and see if it works

#

btw I'm doing this in firewall should I create it in both unbound and inbound rules ?

cyan jay
#

err I'm not sure.

tardy venture
#

Forward incoming 1666 to internal 1666, so both you and friend connect to :1666

#

What's the current setup?

tardy venture
cyan jay
#

I vaguely remember reading about using port 80 because some networks (maybe school/uni etc) block access to most other ports. But it's probably not necessary for home -> home.

tardy venture
#

You risk breaking things, such as SSL, even if you do manage to bind it

hoary lichen
#

I heard I can set up my depot on AWS and it has a free trial

#

then I better go for that

cyan jay
#

sure, you'll quickly run out of space tho I expect

#

hosting in the cloud is a much better solution in general tho

#

aws free trial is good practice for free

hoary lichen
#

it was 5 gb for 12 months yea ?

cyan jay
#

idk, I never used it, I thought it was more liek 30gb tho

hoary lichen
#

do you also use cloud host ?

cyan jay
#

If I was doing it again tho I'd use AWS or Digital Ocean I think, and use extendable storage.

hoary lichen
#

what about assembla

cyan jay
#

expensive and not very good

#

but I guess it means no sys admin so that might be worth it in your case?

#

or go down the route of Git+LFS which some people in here use, but personally I prefer perforce

tardy venture
#

Who cares about performance when it's a p4 machine anyway

hoary lichen
#

it is my first experience and I'd rather use AWS as it's free, can we host our depots on any cloud provider ? or only those which support perforce ?

tardy venture
#

@hoary lichen AWS has official support, but if you know Linux setting it up yourself is quite easy

#

I couldn't figure out how to do the AWS setup, but DIY'd it pretty quickly 🀷

hoary lichen
#

I mean if a host provider doesn't have perforce support by default can I still kinda set it up there ? or they won't allow it or sth

cyan jay
#

No host will 'have perforce support' they give you a VM and you log into it and install perforce yourself.

#

Personally I'd recommend Linux even if you're a linux noob, PErforce on Windows is more difficult to setup.

hoary lichen
#

oh I see thanks a bunch!

cyan jay
#

you can also trial it locally by installing VirtualBox, create a small VM and install linux on it, then run thru the guide

#

if you want some practice πŸ™‚

hoary lichen
#

I heard it can be done both in router and firewall

woven sluice
#

you mean you heard it must be done in both router and (windows) firewall?

#

because if so, yes

#

actually maybe no - usually windows firewall is lax, I never have to force open anything in windows. might depend on your local settings

tardy venture
#

@hoary lichen your firewall might block the traffic forwarding.

Your router will create the port forwarding in the first place.

Setup TL;DR: You ensure router has forwarding for (external IP):1666 to (static internal IP):1666. If this doesn't work, check firewall isn't wrecking it (most probably isn't).

#

The routing is basically "my computing device at address $IP is ready to receive internet traffic to port $external_port, so please forward it to $internal_port, where that service is hosted".

It might be helpful to look up relevant tutorials regarding networking in general, instead of wacky P4 specific ones.

unborn imp
#

Hi guys, how do I connect with my friend on perforce to pull and push? Do we need to rent a server

hollow bluff
#

Hi, is anyone familiar with setting up Perforce on an AWS server that can meet and walk me through the process? This is my first time setting it up myself.

brave pebble
#

Hey all, really trying to split a single Unreal Project into multiple GitHub repositories. Currently the only way i've figured out how to do it is by renaming the .git to something unique and using git --git-dir=.git_path command in terminal for commands, then using the .git/info/exclude file for ignores. I'd like to still be able to use the desktop client though.. Am i just out of luck? πŸ˜›

I've also seen submodules, but the repositories need to share root files so that's not a solution unfortunately.

simple lodge
hollow bluff
simple lodge
#
  1. Consider using a VM from somewhere other than amazon, it will be a whole load cheaper. But if you are talking regular EC2 linux instance, just follow the linux install instructions?
simple lodge
hollow bluff
#

thanks!

tardy venture
simple lodge
#

Its like 1 vcpu, 1 gb ram and I think you still pay for storage

cyan jay
#

you get 30GB storage too

#

VM specs are probably ok if there's just a couple of people on the team, 30GB is probably too small

simple lodge
#

1gb of ram is likely to be an issue

cyan jay
#

depends how many files you store, as I say for a small team / eval project it's probably ok.
Even if you run out of ram it just slows things down.

#

Perforce recommend 1.5kb x NumFilesStored

simple lodge
tardy venture
#

Currently on DO who support storage upgrades, the US$5/m tier is working OK for me.

Friend I'm building the game with is moving in though, so just going to set up a NAS/ media server to host the P4 stuff too.

#

Re: AWS, IIRC the storage is extra? Their billing is super convoluted, especially as you add things

simple lodge
tardy venture
#

I believe people flock to AWS due to official P4 docs recommending them. They have some sort of automated set up, that I failed to perform.

Which is funny, because in my last role I did all the DevOps duties initially. Was able to setup P4 in a DO Linux box much easier than the AWS setup wizard.

I was half tempted to figure out how to Dockerise the whole thing, if possible. Would solve a few headaches, but it's a one-time process for the most part, so not worth it for myself personally.

#

+1 on Contabo's pricing though πŸ™‚

mellow scaffold
#

Hi ... could you please advise ?

#

I can't stash.

#

I am trying to rebase because I can't pull either, and can't push ...

#

Same rebase message ...

mellow scaffold
#

Well ... I just created another copy and pasted my changes ...

mellow scaffold
#

sorry but one more question πŸ™‚

#

So I deleted some BPs and they don't appear in the UE interface anymore, but when I try to rename:

#

and yes the BP_PlayerHud.uasset (which have been deleted) is still there ...

#

I tried to delete played_hud in UE and chose replace with player_hud_2, which kinda deleted player_hud from Ue, but not from the file system

#

is it ok to remove them manually ? is it something that is required to do ?

woven sluice
#

right click on the root folder in your UE project (Content window) and pick Fixup Redirectors @mellow scaffold

mellow scaffold
#

thanks !!

simple lodge
mellow scaffold
#

Nope I had quite a few modification, commited but not pushed because something was locked

#

And then this happened

mellow scaffold
#

Hello, I have a rather troublesome saving error using GitLfs and UE5 when source control is activated:

#

when I deactivate it, I can save ... but that defeat the purpose ...

#

any idea why this happens and how to fix it ?

#

it's not everything. It seems files that I have been working on previously ... Tried to remove the lock before and didn't helped 😦

solemn radish
#

Anyone use there own Gitlab Server for Large Unreal Projects?

simple lodge
#

ye

flat summit
#

I get this odd issue when I try to transfer the game between my primary computer and work laptop. Some textures (larger ones, 2Mb+) just turn black, and if I update the path to it on one computer, it turns black on the other one. They are in identical paths relative to each other but it appears the path to the assets is with relation to the engine or something because it goes all the way up to the root GitHub folder? Like ../../../../../../Git/GameSourceRepo/Textures/Blahblah instead of just ../../Textures/BlahBlah

Is there some kind of source control flag I've forgotten or will the assets act like this? (older engine version, 4.22, newest GitHub Desktop used for syncing)

sour cliff
#

Hello everyone, first time setting up Perforce here on an unused Mac Mini as central server, and I'm trying to move depot to shared local network (it has much larger space)
And I also have a couple Windows machine that will be clients

#

After lots of blood sweat and tears, managed to get it running on Mac, and setup P4V on my Windows PC. But my problem/question is about "moving depot storage location to shared network"
Can't seem to point it to right direction with correct absolute path

Also made myself admin on this Windows machine and tried to set tools>admin>storage as:

X:\Path (mounted drive on Windows)
\\DRIVENAME\\path
\\192.168...\\Path
/Volumes/Path (apparently MacOS thing)
afp://192.../Path (also this)
#

I can access to all these (except afp) just fine on both Mac and on Windows, and I thought they're all treated as absolute paths
And I just realised only the first try worked (kind of) but still detected as relative path so now I have a X/ folder where server is installed in Mac
Does anyone have an idea? Thanks

#

Oh and following the warning I got while moving - I also copied all depot-source files manually, still getting error except for X:\ config, \\DRIVENAME doesn't give error but I don't know where that's going

cyan jay
#

I'd highly recommend using local storage only for perforce. I used a high performance nas once and we ended up getting a lot of corrupted files and lock problems.
IMO, buy a bugger HDD or SSD for your Mac mini.

#

Remote storage works ok for Archive depots

#

That said, you should be able to make it work following method 2 from here: https://community.perforce.com/s/article/2559
Set the depot path to be the path on your Mac to the share on the windows machine, something like this:

Map: /path/to/remote/share/...

#

@tidal harness

sour cliff
#

MacOS was saving tmp files for commit messages in /private/tmp which failed with permissions error, and once I fixed that I had problems submitting becase P4D didn't have permissions to mounted volume
I gave full disk access for p4d in MacOS settings, and full permissions to current user for /private/tmp and /Volumes/Public/Path with sudo chmod 777 path

#

Now the final issue I have is I think the case sensitivity, didn't know where to set it up during installation so now I have /PerforceServer/README.txt on my Windows but perforceserver/readme.txt on shared drive when submitted
I'll try to change that or just wipe everything and start over... I want to document this anyway :D I don't want to go through it again

cyan jay
#

I think it's possible to change post install but it's a bit fiddly. Easier to create a new depot I think. Definitely want case sensitivity off.

sour cliff
#

Oh wait what do you mean? It's already off but why should I want that πŸ€”

cyan jay
#

You want the server to be case insensitive otherwise you can get problems if you have windows clients and someone on Mac/Linux submits two files with the same name but different case.

#

If it's already off then that's good

sour cliff
#

Hmm OK thanks for the suggestion! I was going to try and change that to sensitive but I'll go on with it and try then

#

I assumed having insensitive will be a problem since I create a README.txt file but it shows up as readme.txt on server when I submit (for UE assets MacOS couldn't find it?)
I suppose it has some other method to align those, that's great! Let me try with a new user on a new machine

#

Thanks a lot for the heads up on corrupted files and lock problems too! I'll try to watch out for those
I agree it could be more straightforward with external drive on Mac, but I felt like I need to try network setup at some point so wanted to figure it out :D I'm glad everything seems to work now

cyan jay
#

You might be ok. I think at the time we had 15 people all pulling and pushing too it and it couldn't handle it. Just failed in weird ways. I swore never to use NAS for perforce storage again!

sour cliff
#

Haha yeah for now we're 2 so we'll see. But I'm keeping those potential issues in mind so at least I know what to blame in that case :D

#

Also dropping a note here in case it helps someone else
I pulled out my hair over a silly error for ~3 hours, Operation 'rename' failed. on Windows
https://community.perforce.com/s/article/3191
I wrongly assumed that'd be something to pass as argument during submit on P4V, but turned out server doesn't have typemap config by default

simple lodge
#

There is an epic perforce typmap guide fyi

sour cliff
#

Yes I included that example file as well at the end, but it didn't cover all txt files, which caused me some headache on Windows

#

For now everything seems to be working, until another issue comes up :D good to learn though

cyan jay
#

I've never heard of that rename issue before

unborn imp
#

Hi guys

#

how can my friend connect to me on perforce, so we can work together?

idle pagoda
#

@unborn imp Hi there you both need to have perforce licenses and be connected to the same project - there's tons of documentation from Perforce on how to make that happen and connect to Unreal!

#

Hey everyone - has anyone ever experienced a bug with Perforce / Unreal where Blueprint assets submitted by one person show up in the level on another machine but their empty and the connection to their static meshes seems to have been lost?

unborn imp
#

@idle pagoda Thanks for the reply! The problem is, we dont find any tutorial on how to make that happen. We are searching everything, but dont seem to find anything about that specific problem. Can you link me a tutorial where this is shown?

idle pagoda
unborn imp
idle pagoda
#

Well hopefully I can find it!

bold perch
#

Could also be BP corruption through Hot Reload.

idle pagoda
#

Oohhh what's Hot Reload? ((Apologies, I'm very new to this!))

bold perch
#

Live coding is basically the much safer successor.

idle pagoda
#

Thank you for the resource! I'll start digging in and hopefully with a few experiments will get things working again, cheers!

deft merlin
#

hi. mobile-dev ue4 source is for what? and if i download 4.26 chaos its enable X86-64 android supporting too or just i have to download 4.26 for enabling this?

flat summit
#

This is a weird issue. On PC A everything works fine, but when setting up the repo on PC B some random textures appeared as black and had to be re-imported. Diffing the files (Right=Original, Left=After reimport) showed that all spaces were replaced with NUL signs. Can anyone help me figure out why this occurs? Is it a setting in Git or Unreal screwing something up?

narrow flare
#

Need some help regarding svn in oracle anyone free to talk rn?

spice aurora
#

Is there a nice tutorial guide for collaborating with git? I managed to create repository and send invites but i'm not sure how to do stuff. I created folders in my dev folder but it doesnt show on github although it does say success for the add.

#

Its the first time i'm using git in a team for a game jam. I've only ever used it on my own and not much, just for a jam that required the game was shared opensource and for tutorials.

flat summit
# quaint obsidian are you using LFS?

I haven't configured LFS but isn't the limit there pretty large? The textures are around 2Mb. And would LFS affect the contents of the file? I'm thinking more in lines of encoding right now, that maybe my Git/Unreal is configured for incompatible charsets

naive owl
#

Hey everyone πŸ‘‹

I want to get started with source control. Do you guys have any suggestion for the easiest to set up? I can pay for a service if needed.

#

Easiest to set up / best dev experience

#

I just don't want to set up my own server so I would pay for one if I need to

fiery relic
#

@flat summithave you set up a .gitattributes file in your repo? I had this problem once with png images getting corrupted, the gitattributes tells git to always treat some file types as binary and never as text

flat summit
flat summit
merry verge
#

github desktop is not a repository hosting service. It's just a git client. If you're only working with your repository locally that's fine, but it's not a hosting service.

#

github (and gitlab, and Azure DevOps, and a number of others) is a repository hosting service (which does have limits depending on what you pay), which you can use with any git client (github desktop, sourcetree, fork, etc). The client you choose should have no impact on the size of the repository.

runic summit
#

I've been running a Perforce local server on a different machine for over a year now - I was solo and mainly did it for checking back on previous commits - but I need to look into renting a cheap perforce server for obvious reasons and for onboarding additional devs -

One of the things I'm less clear on is the process of integrating large, non-changing files, since the size limits on perforce servers are pretty small - (my project files include about 60 gigs on the mainline) -

copying the content folder seems a bit hacky; what is the best practice for this and do you recommend a particular reference?

cyan jay
#

Size limits are small? A good rule of thumb is to have enough storage for 2x your expected project size. So if you expect to hit 100GB then use a server with a 200GB disk. There are no size limits in perforce besides the disk space on the VM.

If you never change a file version it is simply stored on the server as a single file (generally gzipped but not always).

merry verge
#

Also worth noting that if you don't care about keeping old revisions of certain files you can set their filetype in perforce to automatically purge old revisions when new ones are submitted.

#

I personally don't like using that feature too much, but it's useful if, for example, you're storing editor builds in perforce - no need to keep old versions if you have all the code required to build at that point in time anyway.

#

Or if you just don't care about keeping the full history of your project.

ornate willow
# runic summit I've been running a Perforce local server on a different machine for over a year...

It's a whole new headache, but if you are thinking your team will stay at 5 or under people, you could save the money and use the unlimited storage (with git LFS) with Azure Devops, once your setup it's fairly smooth sailing, the biggest issue is making sure you don't cause a merge conflict by working on the same file as someone else, since there is no solid integration with UE, but there are definitely work arounds, and you can still lock files, just not through unreal

#

even if you go over 5 people, its like 6$ per person per month which isn't bad (IIRC)

runic summit
#

(without remoting into the same machine)

real steppe
#

I am having issues with perforce and ue4 right now any one wanna tell me how stupid im being lol

#

why does it keep doing this and over writing my files every single time i try to pull from depot

merry verge
#

You seem to be editing files without checking them out.

#

Make sure you've enabled perforce in the editor and that you're clicking the checkout button rather than the "make writeable" button when prompted.

woven sluice
#

if you know you have local file edits right now and you don't want to lose them, then

  1. right click on your workspace Content folder (go to the Workpace tab on the left)
  2. select Reconcile Offline Work
  3. add everything it finds to a new changelist
  4. right click on the new changelist and hit "revert unchanged"

you should be left with a changelist that contains all blueprints/levels you've actually modified/added/deleted compared to the server

cyan jay
runic summit
#

@cyan jay this is fine but I still don't know the best way to sync the large, non-changing files, like large textures, that don't need to be in the source control - manually copying them or syncing from marketplace seems hacky

cyan jay
runic viper
#

Hey, just a quick question: I want to install perforce now and was wondering if getting on-premises hosting as opposed to AWS & Azure (the other options provided by perforce) will interrupt work if the server is offline - I'm assuming it does, but just need confirmation.
Specifically, I want to collab with my tester on my project & want to host the perforce on-premises on my computer. If the computer is off, he cannot submit changes unless I have the server turned on on my end - right?

#

But then again, he can, as soon as I turn it back on - right? I've read up on it, but most docs/vids address macro-case comparisons involving big companies/studios & a static setup through LAN (we'd "simulate" the LAN online really)

cyan jay
#

He won't be able to pull the latest version down either of course

runic viper
#

@cyan jayObviously, I don't even know why I asked (was hoping for some wizardry or something) πŸ€¦β€β™‚οΈ πŸ˜† Thanks for the answer!

cyan jay
#

Yeah server always must be on. Same for if you use Git LFS workflow.

runic viper
#

I was just thinking that maybe we could do it asynchronously somehow - he works and as soon as we get together on discord/something, he puts the changes up. I'm the only dev, he's just testing stuff/making balance changes in data tables and whatnot

cyan jay
#

Not really possible without a server I'm afraid. If paying for a Perforce VM is an issue, then I think Git LFS hosted on Azure is kinda free for small teams. I don't really know much about Git tho.

#

That Contabo link I posted just above is only €4 per month tho πŸ˜‰

runic viper
#

Perforce is free up to 5 users, but I don't know about the hosting itself... I don't understand if you pay that separately or what πŸ€·β€β™‚οΈ

cyan jay
#

yeah there's no hosting - you need to rent a virtual private server from one of the many cloud providers.

runic viper
#

aham... And perforce only supports those two then: Azure & AWS (from what I read up here)

cyan jay
#

no you can host it on pretty much anything

runic viper
#

oh...

#

damn, doing everything myself just keeps getting more & more complicated 😐 Now I need to learn this crap too πŸ˜›

cyan jay
#

yes πŸ™‚

#

fwiw I setup Perforce on a VM running Ubuntu. It was pretty straightforward and is basically zero maintenance. I log in every few months to install security updates etc.

#

lots of people here use Git + LFS instead of Perforce, which requires less setup, but I don't really know much about the Git side of things.

runic viper
#

I've looked into it, and even tho the setup itself is less work, it tends to get tedious for every change (bashing in info, making sure it's up/bla bla)

cyan jay
#

personally I have had many problems with Git and team workflow so I would never use it, but each to their own!

runic viper
#

So all in all, i'd rather pay some than use GIT honestly πŸ˜›

#

Ok, so hosting the server on my machine and inform my coleague whenever he can submit changes won't work? I mean, we communicate daily.

#

I need to inform him whenever I make "pathces" anyway & explain what he should re-test/look into so we don't really need to do it "live".

cyan jay
#

you can try it but its gonna suck for him

#

you're gonna have to learn how to install Perforce anyway, might as well do it on a VM. Installing perforce server on Windows is more error prone anyway IMO. Also have to learn about forwarding ports on your router, firewall issues etc.
Just my 2p worth πŸ™‚

woven sluice
#

hosting the server on your own machine will work "OK", it'll be a tiny bit slow for them and you will want to leave your PC on 24/7. it'd probably be much easier to do that than learn linux for a VPS if you're new to that too, but long-term a linux VPS is definitely a nicer solution overall

runic viper
#

@woven sluiceThanks for the info, I've never used Linux in my life & learning that at the moment isn't the best idea since we want to release an early-access - demo to see how the game might do - sometime around christmas so, maybe in the future, i'll probably just go with the local one for now πŸ™‚ thanks for the answer!

cyan jay
#

good luck - it's a shame there's no simple solution for this out of the box with Unreal.

woven sluice
#

looks at date
christmas 2022 i hope HaroldHaha

runic viper
#

nnnope, πŸ˜„ I'm polishing the damned thing :P@woven sluice I stand by my deadlines, not the procrastinating type at all πŸ˜„

#

And It's just an early access demo, maybe nobody cares, I drop it and start another of the 195810 ideas I have lol

cyan jay
#

so you have a nearly finished prototype and you've never had it in source control 😱

#

dude I'm having heart palpitations on your behalf πŸ˜‚

runic viper
#

When u develop solo, source control isn't really a requiremed in my experience. I usually cook things for my tester and patch it like I would for any other user

#

I do have 2tb of backups+branches tho πŸ˜‚

#

I delete them every now & then so yea πŸ˜„ I'm a total amateur tho, so whatever works, works πŸ€·β€β™‚οΈ

woven sluice
#

well you're finally getting on the right path now I guess

#

we all went through that stage for a bit when we started

cyan jay
#

Yeah 100% - get it done

woven sluice
#

(at least, hobbyist-at-home types do)

runic viper
#

I have 6 minigames released and another one i've worked 1.5years on 16+ gameplay hours, edutainment rpg/tbs on steam, so I wouldn't quite say I'm at the beginning but meh, doing my best to catch up while trying to actually produce something meanwhile πŸ˜„

woven pilot
#

Hello all, could someone help me out and let me know what the green icons mean? We are using Perforce as Source Control and I have never seen them before

quaint galleon
#

Accurate statement or just some marketing BS? I use GIT for my daily web dev job, but it isnt great for Unreal because of the 'other stuff' that isn't text. What is an adequate source control used that is good with the assets and blueprints, etc?

woven sluice
#

perforce works fantastic once you get over the very long and painful setup and learning period, but is likely to remain a huge pain in the ass for other reasons... i.e. $$$$ as your team grows. Ignoring money, there is a reason why lots of big studios still use it (e.g. Epic)

lots of people here and everywhere are happily using GIT though, with LFS of course. without LFS is pretty much an immediate death sentence. GIT might be a shallower learning curve for you if you have lots of experience already. Pick your poison.

quaint obsidian
#

perforce is also a lot better in a studio

woven sluice
#

eh, my perforce server is 7500 km away, works fine

merry verge
#

I've generally been fine with a server 3k miles away but have on occasion felt some pain from it.
With a distributed team you'd ideally set up proxies to handle geographic distribution, but that's really a big team with lots of money thing.

timid anchor
#

Does anyone have suggestions on relatively cheap source control for a team under 10? Was looking into plastic, but it gets pricey for a hobby project when there's 7 people :/

rotund bobcat
#

git on azure?

#

first 5 users are free and not that expensive above that

deft latch
#

Hi, I'm a beginner of Perforce Helix Core(actually game dev), and I have some questions. I just build a helix core server(p4d) in my VPC(powered by vultr), and p4admin in my Mac can’t connect to my server. I guess SSL is a reason of this problem( because of this article https://www.perforce.com/manuals/p4guide/Content/P4Guide/security.ssl.html), but can’t solve it 😭.. Please let me know how to solve this problem if you know that.

  • VPC OS: Cent OS 7
cyan jay
deft latch
quaint obsidian
languid escarp
#

(the git server I use is called gitea, free and open source)

languid escarp
#

I'm running the BFG remover for the first time, wish me luck :P

merry verge
#

don't accidentally delete your everything πŸ™‚

languid escarp
#

go away!

timid anchor
rotund bobcat
#

how is it a massive pain?

languid escarp
timid anchor
#

Just what I heard from some other devs that tried it πŸ˜… Gonna check it out, thanks!

languid escarp
#

how is it possible that "stash #2" is 4:04 am while the other two #1 and #0 are 4:08? I remember these stashes and I'd made them in order i.e. 0, 1, 2

alpine sail
#

Hello. We use source control ( Perforce to be exact ) on our UE4 project. Even after choosing "Run Without Source Control" option, every time we want to save a change this pop-up appears:

#

How can we disable Source Control so that we can save our changes without this prompt appearing?
Thank you

cyan jay
#

Why would you disable source control?
The prompt appears because Perforce makes files read only by default unless they are checked out.

alpine sail
#

Nvm, found a solution. Thank you anyway! πŸ˜„

glad stag
woven sluice
simple lodge
#

I mean it sounds like they probably need some ignores

simple lodge
#

You cant diff levels easily, have to basically pick one

woven sluice
#

Yeah pretty much. Make sure you task the people who tasked you into doing this to fix your team's work practices going forward sadcat

woven sluice
#

nope, that literally just stops perforce from making controlled files read-only. If you do that then you have to manually check out and/or manually run reconcile to figure out which files have varied from the server still. it's a terrible idea for perforce users. so yes you may continue to retain and broadcast your existing complaints about perforce πŸ₯³

gray oriole
#

When source control like git deletes every single asset in the project, are there any other causes other than not using git lfs?

#

I upgraded my project to using source control and everything got wipes. After trying to revert the changes, I got the files back but now the project file itself is completely gone on all devices. I have already lost hope and created a new one and git bashed it and everything but there's so much anxiety now because I don't know the exact reason the first case happened

half vector
#

Hi πŸ™‚ I'm having some issues with the SVN support -- No matter how I check the "automatic checkout" checkboxes in editor settings the editor always prompts me for checkout on asset save instead of checking it out automatically :/

#

Is there anything I'm missing?

quaint obsidian
half vector
#

Even then, when I disable the β€œprompt for checkout” option it still prompts instead of showing the β€œNeeds checkout” notification. I don’t think the settings actually affect anything at all πŸ€”

#

I’m on 4.27.1 btw

gray oriole
#

Yeah after doing some messing around, I realized I havent used git bash too so yeah a lot of things that couldve caused it probably

half vector
#

It's extremely rare that Git really loses any of your work -- especially after it's been staged and/or commited πŸ™‚

#

Digging a bit into how git works and learning to use the git command line is one of the best ways to make sure you stay on top of what's happening in the repo

half vector
deft latch
#

Hi, I need some help about helix core. First, what is different between "superuser" and "admin"? That are same notion? And If superuser(or admin) forgot his password, how can he find it?

crystal estuary
#

Hi. I'm using Perforce and have added 8GB of marketplace assets to my project. Now I don't want to mark them all for add one by one including the referenced assets. How can I only add the ones used in my lvl along with their references (materials,etc)?

agile cobalt
jaunty hornet
#

OK once and for all, what's the exact method to untrack a file in Perforce

#

while keepign a local copy

cyan jay
#

I think the only way you can do that is to make a backup of the file, mark it for delete in perforce, then copy your backup back in.
When you submit that to the server, anyone who gets latest will have that file deleted locally too though.

#

You can also do it via p4 command line but you probably don't want to get into that πŸ™‚

brittle shard
#

Hey, quick question about the built-in diff/merge tool, there's so little documentation. Does anyone know why the merge tool doesn't actually save the BP? Accept Source/Accept Target/Finish Merge don't appear to do anything. I'm running external from command line through git

jaunty hornet
cyan jay
brittle shard
jaunty hornet
runic summit
cyan jay
#

Of course, if you don't mind losing the history so far, you could literally upload your local files to the new depot instead of following the whole migrate process.

runic summit
#

@cyan jay How I am supposed to handle large files that I don't need to keep versioned but would obviously need to be available to any collaborators? Example - I have 8 gb Twinmotion materials, which I won't modify, and if I did, would make a new material instance and version that

#

but if I didn't include them for adding, someone wouldn't be able to open the project - I can probably get by this if I was certain that signing into the same epic account would ensure it downloads the packs from the epic store, but this too does not seem optimal

cyan jay
#

Usually you would just add them to perforce.

#

You can set the typemap to only keep the latest version if you want

runic summit
#

ugh, my content folder is 106 gb

#

and I'm sure not even a 10th of that is what I really needed versioned

cyan jay
#

if that's what you need to work on the project, then that's what you need to checkin πŸ™‚

#

you can clean it up first if you prefer

runic summit
#

couldn't I just duplicate the directory on another computer

#

not sure what would happen if you connected it to a depot after that

cyan jay
#

well, if you really wanted to do that then you could mark those directories as IGNORE and copy whatever you want there

#

I don't know why you don't just want to add to perforce tho

#

why make your setup workflow more complicated?

runic summit
#

because it's $40 a month for hosting then

#

it's a space/size limitation on a hosted server

cyan jay
runic summit
#

lol well shit

cyan jay
#

If you want to work with collaborators, having everything versioned and in one place is highly recommended.

runic summit
#

that's why I'm doing this

#

I live in Florida so germany is less than optimal

#

but the price/config is good

cyan jay
#

well, it's up to you of course, but I'd strongly recommend putting all the stuff required to build and run the project into perforce. As soon as you have multiple steps there's more chance for things to go wrong.

runic summit
#

no, I agree with you - it's just the logistics now - ugh I hate this part because i know it's going to take all day to figure this out but it should only be half an hour

#

paying for NVME is totally overkill right? at least for VC on unreal projects

cyan jay
#

yeah 100%, HDD is fine, if you only have a few people the main limit will be bandwidth

runic summit
#

look good?

#

got it set to 200 gb ssd down below

cyan jay
#

er, well a good rule of thumb is pick the max project size you think you'll need and double the size.
So if you think your project may be 200Gb in the future you should get 400GB storage.

#

memory and CPu are more than enough

runic summit
#

yeah but the only region they have for that size is germany

#

good point btw - i thought I might be able to add the space later but you are right, it makes more sense to get it locked into the VM at the start

cyan jay
#

does this provider allow you to attach additional storage?

runic summit
#

I didn't see a spot for it

#

in their faq I have a VPS NVMe with an additional NVMe Storage Add-On and I want to upgrade to a larger VPS? This is possible via the Customer Control Panel, please head to "Upgrade VPS" (available in the "Manage" menu in the administration of your VPS) to see your options. Upgrading your VPS will also upgrade your NVMe Storage Add-On accordingly unless you choose to cancel it in the process. As an example, upgrading your VPS S NVMe with an associated NVMe Storage Add-On (adding 50 GB of disk space for €1.00 / month) to a VPS M NVMe will also upgrade the NVMe Storage Add-On (now adding 100 GB of disk space for €2.00 / month).

#

I'll just chance the 200 gb and see, worst case I just contact them and tell them to switch it now before I set anything up

#

@cyan jay what's all this helix core stuff - I've never paid perforce (i'm not about to start now, I know it kicks in at like 5 people) can I disregard this license stuff?

cyan jay
#

helix core is basically the official name for perforce software. you don't need any license until you want to create the 6th user.

tardy venture
#

It's kinda odd with P4 no one goes through like, parallelism or threads which helps sync times so much, from the tutorials I found.

Though is there a way to enable compression on file types that may benefit from it?

runic summit
#

I've only accessed perforce from one machine, so it's possible I don't have everything in that depot that should be - can I just wait until I download the current files on the new machine and if it says it's missing them, just mark them for add on the old one?

tardy venture
cyan jay
#

yeah - Reconcile Offline Work in P4V is also good for this

tardy venture
#

I need a "The incantations of P4 for people fluent in Git" cheatsheet haha

runic summit
#

I must be using more than I thought -

cyan jay
#

WizTree is a handy tool if you're on windows for exploring the size of folders

tardy venture
#

Oh, yikes haha. Have you set up the source maps? UE wiki has mappings which define how many revisions of certain file types are kept around, which might help you here

cyan jay
#

I think you mean p4 typemap πŸ™‚

runic summit
#

Where the hell are all these depot files - there's not even a gig here

tardy venture
runic summit
#

don't worry about the dropbox, that's not a thing for much longer, I wasn't using dropbox as a source control agent

#

it was mainly in case the local perforce machine got incinerated

cyan jay
#

Yeah, take this one for example, binary+S2w means this file type is Binary, keep the latest 2 versions, and make it writeable on disk all the time

#

Good for binaries that are constantly being rebuilt in this case

runic summit
#

I'm confused - where are all these files actually stored - 281 mb in versions makes sense, mayyyyybe

#

but the initial commit should be huge

cyan jay
#

it depends how you setup perforce server

runic summit
#

god only knows

#

I'm trying to figure that out now

#

where do I actually see where on the computer the depot is stoerd

tardy venture
runic summit
tardy venture
#

So you have nothing else happening on D right?

runic summit
#

no i do i think

cyan jay
#

Install WizTree πŸ™‚

#

or in P4V, rightclick a folder and choose Open Command Prompt here, then type p4 info

#

check the Server root field

tardy venture
#

But yeah, WizTree it up!

runic summit
#

I think you are right

#
Perforce client error:
        Connect to server failed; check $P4PORT.
        TCP connect to 1666  failed.
        The specified class was not found.
PS D:\Perforce>```
#

Btw, I'm really glad you two are here right now

#

there's so little info/explanations on this stuff

tardy venture
#

I'd just run WizTree on the D drive first up TBH

runic summit
#

about what I expected

tardy venture
#

@cyan jay you seem wise in the ways of 🍐 Force, if I wanted to move from a DO instance to a Contabo one for example, can I do a live replication, like set one up as a workplace, then eventually promote it to a depot instead? Or what's the best way to move the remotes elsewhere?

runic summit
#

there will be some plugins that are installed to the engine but that's handle via epic marketplace right - is there a way to have it know which plugins to download to the new machine?

tardy venture
cyan jay
#

It's a bit fiddly but the only way to do it to preserve history

#

If you don't care about history you can create a new perforce server and upload your content to that from a workstation.

#

assuming DO and Contabo are both Linux

tardy venture
runic summit
#

ugh, now I have to remember how to ssh into something from windows

tardy venture
runic summit
#

powershell works but the damn password they provided isn't working or i'm using the wrong one

#

powershell isn't clear when you' copy' something into it or not for me

#

: Permission denied (publickey,password).

#

the irony of being able to view the system logs for my failed password attempts but not being able to login via ssh

#

check pass; user unknown

tardy venture
#

On Linux at least, the command is ssh user@ip:port

runic summit
#

i'm not sure how contabo sets it up, if I need to provide that or not

#

a bit convoluted

#

they provide this, so I'm typing ssh root@ip it connects and asks me for the password, and I copy and paste the one listed there

tardy venture
#

You would, it's likely defaulting to root or admin

#

Hmm I'd go SSH for auth, much nicer

runic summit
#

I'm trying

tardy venture
#

Is there any IP whitelisting?

runic summit
#

dont' think so, now the log actually says failed password, so at least it's not an invalid user

#

weird

#

I changed the password and it worked - i was using the default one contabo provided but it never accepted it

#

what's the difference between vps and vpd? vpd you are running on an actual machine, vps you are running on virtual machine on some hardware that might change?

#

or you can't change out components easily on a vps?

#

sudo: add-apt-repository: command not found wtf is this about

#

wow, they didn't have the basic commands installed

runic summit
#

ugh I hate command line

#

how the hell do I change the typemap, it just gives me a list but I can't type anything

runic summit
#

I've never used a VI editor before, had to track down a tutorial just to navigate it - but does this look right?

hushed granite
#

hello !

#

I don't know which Character Encoding to us eon my new Perforce server (this wasn't asked before)

#

should I also check the box below ? maybe that will avoid issues if some teammates choose another character encoding method ?

hushed granite
runic summit
#

I'm not wrong in assuming the spacing won't matter irtfght, as long as they are new lines

hushed granite
#

I think it's fine

#

shouldn't change anything

#

oh well

#

actually

#

I think this is an issue

runic summit
#

yeah i'm getting syntax error, i'm manually adjusting the spaces now

hushed granite
#

you figured it out

#

yeah sorry man

runic summit
#

No worries, it only has to work once

runic summit
# hushed granite

I have this same question - I'm going to default it but if you find something, let me know please!

#

fuck I hate doing this kex_exchange_identification: Connection closed by remote host

runic summit
#

Can someone please tell me why I can't connect o my perforce server to run commands when the service is RUNNING in windows and I can connect to it via the visual clients - I'm getting Connect to server failed; check $P4PORT. TCP connect to 1666 failed. The specified class was not found.

#

connecp4d

#

If anyone searches this and finds out, I figured out how to use p4 commands in powershell when you are running a perforce service in windows you still have to type in the port number, IN BETWEEN the commands apparently

p4 -p 1666 info in this case

cyan jay
#

you can also right click in P4V and choose Open Command Window Here.
This ensures the current session settings (P4PORT etc) are set correctly.
then you can call p4 info etc without manually specifying that

runic summit
#

Thank you! that's very helpful

cyan jay
#

right click a file or folder in Workspace or Depot tab, it's near the bottom of the context menu

runic summit
#

ah thank you!

#

i'm assuming the verify command will take some time right?

#

it doesn't say anything

#

d:\Perforce>```
#

Note to self- had to use p4d -r D:\Perforce -xv for validating

runic summit
cyan jay
#

errr I'd suggest making sure your linux server is set to NOT be case sensitive so it matches Windows

runic summit
#

shit - um I followed those directions I can't remember if they said it or not but I remember reading it

#

how do I check?

#

Btw, does this make sense - the helix docs say to copy over everything from the depot this way

#

shit, it is case sensitive, but it's brand new

#

WHY did this guy choose case sensitive, if his tutorial is using WINDOWs? this is so unclear @cyan jay

#

And how do get all these files to the folder on the remote - win scp seems like it could work but when I went to copy, ALL of this shit scares the hell out of me

runic summit
#

@tardy venture can you offer any advice?

gloomy birch
#

Hiho i try to crreate a source controll with git (Github) to share and work together with my tea on my game. I'm looking for someone who already has some experience with it because I get some error messages. I don't know exactly what and how much I can / may load into a repository.

regal grotto
runic summit
#

@regal grotto GOOD ONE

regal grotto
#

No, seriously. Using closed-source commercial software and searching for help in community forums = taking the worst from both worlds. You can't fix the software you use and you don't get in contact with those who can fix it.

runic summit
#

he doesn't even mention the case sensitivity thing, maybe it doesn't matter

woven sluice
#

well... they do specifically say "set it up appropriately". everyone's needs do vary. most people doing UE4 would definitely want insensitive though, sometimes I've had a colleague end up somehow with myfile when I submitted MyFile and without case insensitivity these would be two different files. then when you pull files down onto a windows machine that will cause... some kind of horrible annoying issues I'm sure.

gray dust
#

Hi all, I've used source engine for sometime now and used to updating manually, I've just setup Github Desktop for the 1st time and noticed there is a 4.27.1 hotfix.

In Github Desktop, how would I update to the latest version? apologies for the noob question, just never updated from Github Desktop before, any help would be appreciated.

#

ignore me :), Just figured it!

runic summit
woven sluice
#

well that's my point

#

we all use windows

#

case changes "can happen"

#

If you submitted a file and then you renamed the file purposefully to the same name with a different case, you could submit that as a completely new unrelated file. This should strike you as something worth worrying about, if you at all value your future sanity

runic summit
#
Please contact support at support@perforce.com or via by the main Perforce Technical Support page for further details on this flag.```
woven sluice
#

I thought you said you had set your server to case sensitive, I was trying to convince you to fix it. Lmao. Sorry

woven sluice
runic summit
#

change it before i try to load the databases / checkin

toxic relic
#

Have a thought about a particular source control setup and I'm wondering if someone more experienced could chime in on it:

I'm wondering if it's possible to separate the game's art assets out into a public git repository with unlimited storage (for instance on github), while keeping the rest of the project very small and tracked in a separate, private git repository. Wondering if this is a viable way to get around source control hosting costs - potentially the whole thing can be done for free?

tardy venture
toxic relic
#

Ah, I was looking at "package storage" which is different

#

Decision paralysis continues, then. Perhaps I should just go with a digital ocean droplet and perforce

#

Tbh I don't actually care about versioning the art assets - just everything else. Wish there was some way to version the project and just point it to a bundle of static assets somewhere

toxic relic
#

Oh, I guess this is possible after all? It looks like imported uassets have a "source file" field which indicates that they are just pointers to the source assets? In this case, I guess I could keep the big png/fbx files in some excluded directory so that the versioned project size remains constant as the asset directory grows?

#

In that case, I could have a directory which syncs with google drive or something for the big binary files and the project could just depend on them being available on the local machine at a particular relative path?

woven sluice
#

the uasset files contain the imported data

toxic relic
#

Oh 😦

#

No way to separate that?

#

Would be excellent to only track metadata in the VCS

woven sluice
#

not that I've ever seen. games have to run fast, even just within the editor to some extent... so it's kind of important to manage everything explicitly

toxic relic
#

Makes sense

woven sluice
#

I mean if you're equally up for either perforce or git, you don't have to maintain a long file history of uasset files (but if you just naively set it up like that it'll affect all assets - blueprints etc). most people have some strong preference of which VCS they want to use from past experience or whatever [or more frequently: because $$$ for perforce large teams πŸ’© ]

toxic relic
#

I wonder if there's support for runtime-loaded art assets? Probably there is? To support modding and content updates which don't require code changes

woven sluice
#

you're going down the square peg in a round hole solution real fast there

toxic relic
#

Yeah I've used a flavor of perforce before and git all the time, I prefer git for code but both can work so it's not a huge deal.

toxic relic
#

I saw Robo Recall listed as a learning project somewhere in the unreal launcher, this all looks positive so far

woven sluice
#

if you decide to build your entire base game as a mod solely to enable you to build some frankenstein version control system then... oh what the hell, go break some eggs

toxic relic
#

Modding is core to the game, it's just nice that it may enable some source control wins

#

And building the base content as "mod zero" was the initial idea, so this all seems to fit so far

thin glade
#

Hey guys, unsure if this is the right channel to post in but does anyone know if i was to make my own LOD channel in the engine file (BaseEngine.ini) and use it within a project if it would upload to source control and be seen on others devices? Im only confused as i'd be changing the engine files which dont get uploaded to the server only my own device files so i dont know if that'd work

cyan jay
thin glade
#

Ah okay thanks man, do you have any idea how i would go about changing the properties of an LOD channel/create my own that would work with source control?

cyan jay
#

Sorry I don't know for sure, but usually adding the same ini section to the DefaultEngine.ini in your Project/Config folder is how you would do it.

#

generally you should never modify any of the Engine files

runic summit
#

I am extremely confused - I'm hosting on a local machine but not using a depot on that machine - but since it HAS to have copies of the files for the stream to run, WHERE are they stored - I've tried the p4 info tag and it shows me a folder but it's not syncing there (I can push from another computer but not see it) when I check in the visual client on the server, it shows me the file that I've just pushed, as being listed in the stream, but not its location on this machine, where the stream should be located!!!

#

if a workspace is a local copy, there still should be a stream location on the host machine

#

same host computer

#

That stream folder does NOT exist on this server's machine, in any place that I can find

#

https://community.perforce.com/s/article/16418 where the fuck are my actual depot files being STORED? I thought a stream always has the actual files on the server's machine and then when a workspace is setup, that workspace download's copies FROM the stream's location

rotund bobcat
#

I don't use perforce but?

runic summit
#

it's like perforce people want it to be hard

#
Please contact support at support@perforce.com or via by the main Perforce Technical Support page for further details on this flag.```
#

how the hell do I use that flag

thin glade
runic viper
#

Any idea on how to auto-search & "mark for add" files from across the project? I'm using perforce, I've migrated quite alot of content (I'm building stuff in another project and only bring finished work into my main). All of the migrated content has the question mark and isn't marked for add. Please don't tell me I need to manually add at least 70 files...

#

nvm, found the filters πŸ₯³

cyan jay
#

You can do it from p4v too, right click the Content folder and choose Reconcile Offline Work. Shows you what you need to add.

runic summit
#

What's the proper way to completely get rid of a server (in Linux) can I just delete the actual folder structures via command line? (I've not hooked up anything to this server, just set it up the wrong way)

lean prism
#

How would you exempt a whole folder from being ignored? With .gitignore?

rotund bobcat
#

doesn't it work with !/FolderName ?

tardy venture
runic summit
#

How can I still connect to my perforce server if I have DELETED the perforce folder and uninstalled it on the machine it's running on?

wind gazelle
#

Is it possible to somehow disable the autostart of git fs-daemon in for each git folder. or disable it completely
it is a bit annoying since the encrypted drive fails to dismount because the daemon processes running in got repos on it

wind gazelle
runic summit
#

regarding case sensitivity - if I am working n windows (case insensitive) that's fine as long as I will only be working FROM windows - since I can flag the linux perforce server as Case insensitive as well, it should work for my purposes, (but would probably break if someone tried to colloborate from a case sensitive OS)

runic summit
#

Perforce does not let you use help in command line if you have any problems at all root@vmi744135:~# p4 help Database open error on db.server! BTree Case Order Mismatch! Check p4d -Cx flag usage.

#

I hate you so, so much Perforce

#

I am actively employing mental health mechanisms, like meditation, exercise, and time with family, to resist what your software setup would do to me

runic summit
#
        Unknown -x operation.  Try 'f', 'i', 'u', 'v', or 'x'.
root@vmi744135:~# p4d -xD
Perforce server error:
        Server does not yet have a server ID.
root@vmi744135:~# p4d -xD LiveSimService
Perforce server info:
        Server ID: LiveSimService
root@vmi744135:~# p4d -r /opt/perforce/servers/LiveSimService/root -C1 -jrF checkpoint.3
Perforce server error:
        Database open error on db.server!
        BTree Case Order Mismatch! Check p4d -Cx flag usage.
root@vmi744135:~# p4d -C1
Perforce server error:
        Listen 1666 failed.
        TCP listen on 1666 failed.
        bind: 0.0.0.0:1666: Address already in use
root@vmi744135:~#


cyan jay
#

tbh I'd probably wipe the VM and start again πŸ™‚

runic summit
#

@cyan jay I'm strongly considering just renting a VM that has Windows on it even if I have to pay $15 a month just for the stupid license

#

I won't be in the position of being able to really learn all the nuances of Linux based perforce

#

I wiped it several times already

#

I'll mention it casually now then maybe I'll actually put a bounty on it but I'd be willing to pay a hundred bucks for someone to walk me through the migration

runic summit
#

Buried deep in a facebook thread, someone mentioned there is a PERFORCE DISCORD SERVER - does anyone know where I can find that - I've searched google filtering out for bots/notifications, as most topics involve making a notification for any commits

midnight niche
#

So how can I get git to only stage 'large' files to LFS?

runic summit
#

How the hell do you stop the perforce server on the machine it is RUNNING ON - ```
C:\Users\blmcc>p4 info
Perforce client error:
Connect to server failed; check $P4PORT.
TCP connect to 1666 failed.
The specified class was not found.

C:\Users\blmcc>p4 admin stop
Perforce client error:
Connect to server failed; check $P4PORT.
TCP connect to 1666 failed.
The specified class was not found.```

#

those are from the server that I am actually running it ON!

#

I want to hurt Perforce

gloomy birch
#

I know, i always get the max folder error (100 folders)

merry verge
#

Also, those errors are likely because you haven't set P4PORT. Perforce's tools don't know where the server is, that's the point of specifying P4PORT.

#

(despite the horrible name, P4PORT is the full address and port)

#

You can either set it in an environment variable (set P4PORT=127.0.0.1:1666 would probably work) or via p4 set.

runic summit
#

@merry verge Thanks - it's worse than I thought - god the lack of syntax examples for these command lines - they are so spread out - it's almost intentionally obtuse

And the problem is for some reason my versioned files are in TWO locations - I'm at a decently stable point in my build where I could start fresh how things are - it galls me to do that but I am spending too much time trying to migrate this piece of shit

gloomy birch
#

Is the meanin of "folder" a real folder/directory or a data?

#

Folder/directory Widgets or the data AllStatsComponent?

runic summit
#

"zip up project" is still the correct way to begin working on another machine right? I want to start a new perforce server but not copy unessentials over, so I'll copy it over to a new machine and upload it there to the perforce depot fresh, does that make sense?

quaint obsidian
quaint obsidian
runic summit
#

What is then? It's an official command from the engine -

woven sluice
#

The fact that someone spent time to implement that is hilarious

merry verge
#

All that command does is create a zip of your project folder. I assume without extra folders like intermediate. No reason to use it - either submit your stuff from your current computer, or just copy the whole thing to another computer (cough use the first option cough)

runic summit
#

I'm setting up a new main machine and keeping the previous one as a backup, alternate work machine - my current petforce Depot is all fucked - so I wanted to make a new one from scratch

#

Once I've confirmed the project opens and runs correctly, I'll use it as a source of a new perforce Depot - then on the other machine, (obviously in an entirely new folder) I'll connect to the new Depot and download the new version files to make sure that it all works

#

And just to confirm when I do mark the files to add - I want content, plugins, and what else?

merry verge
#

If you're making a new depot, then just make a new depot and submit to it. You don't need a new machine in the mix to do that, and you can use that to verify you're able to pull down the project from perforce successfully on the new machine.
As for what you need, it's more about what you should be excluding than what you're including. Generally you should create a p4ignore file, run p4 set P4IGNORE=.p4ignore (or whatever you name the file - i use .p4ignore to match .gitignore personally), then add everything (right click the top-level folder of the local workspace in p4v and add it, or drag the folder into a changelist) and let perforce sort out what should be ignored based on that file.
Here's most of my p4ignore, it covers most if not everything you'd need to add: https://pastebin.com/K37CvR8P

#

Also there may be one or two extra things in there from my project that I forgot to strip out.

runic summit
#

@merry verge why can't I connect to my server from the server itself OR from another machine? I can connect from the other machine if I use the IP, but if I set the p4port of the server to it's own ip and port, it only works for the server - originally I had it set to p4port 1666

merry verge
#

I'm confused as to what works. Does 127.0.0.1:1666 work on the server itself? Does the external ip work from the server itself?
Regardless of the answer, it's probably because the server is configured to bind solely to its external ip address rather than all addresses or the external + loopback address. This isn't a solely P4 problem, this is just how servers work.
By default I believe p4d binds to all network interfaces - but I don't know what you've done to configure your server, and I definitely don't know if the windows install uses reasonable defaults.

#

If it's binding to all available interfaces, then it's unlikely to be p4d itself with an issue and more likely to be something to do with the firewall or computer's network configuration.

runic summit
#

it was pretty straight forward but I didn't have many reasons to connect to the server from itself before

#

now I can't even connect in my saved connections

#

If Epic games treated development the way perforce does, blueprint would not exist

#
P4EDITOR=C:\Windows\system32\Notepad.exe (set)
P4PORT=192.168.1.140:1666 (set)
P4USER=Blakestr (set)
P4_192.168.1.140:1666_CHARSET=none (set)
PS C:\Users\blmcc>
``` run from the server
#

It's running as a server (and I checked to make sure it's running)

merry verge
#

Those are client options - they don't affect how the server is running afaik. p4d takes the interface it binds to on the command-line - I don't know how this is specified in windows when running as a service and would have to look it up.

#

But the fact that you can connect fine from another machine implies it isn't a binding issue

runic summit
#

but I was able to change the port using the p4 set

#

and after I did that, i couldn't connect from the other machine

merry verge
#

Oh sorry, it looks like the command line flag I was looking for was to override P4Port

#

so that's correct

#

What I'd suggest is running p4 set P4PORT=1666 as that'll bind to all interfaces

#

in any command line where you need to connect to the server from itself, do not use p4 set because that'll set the value globally

runic summit
#

ah

merry verge
#

instead, set a temporary environment variable - set P4PORT=127.0.0.1:1666, though it being set to 1666 alone is probably fine.

runic summit
#

ugh, perforce is soooo shittly obtuse

merry verge
#

The issues you're hitting here aren't really due to the design of perforce. It's more due to misunderstanding how configuration works. None of this is particularly weird design from a server administration perspective - it just isn't made for beginners and is a big part of why I would not recommend running a perforce server yourself if you don't have prior systems administration experience.

runic summit
#

it is what it is, I don't have a choice

merry verge
#

Fair enough.

runic summit
#

i did that binding and restarted the server, still can't connect to it

#

from the other machine on the same network

merry verge
#

odd... well, changing it back would probably be prudent. What's the error you get when P4PORT is set to the ip and you try to connect to it locally?

runic summit
#
User name: Blakestr
Client name: DESKTOP-0UPBT6J
Client host: DESKTOP-0UPBT6J
Client unknown.
Current directory: c:\Users\blmcc
Peer address: 127.0.0.1:63240
Client address: 127.0.0.1
Server address: DESKTOP-0UPBT6J:1666
Server root: D:\Perforce
Server date: 2021/12/11 19:55:36 -0500 Eastern Standard Time
Server uptime: 00:02:58
Server version: P4D/NTX64/2019.1/1865205 (2019/10/11)
Server license: none
Case Handling: insensitive```
#

p4 set PS C:\Users\blmcc> p4 set P4EDITOR=C:\Windows\system32\Notepad.exe (set) P4PORT=1666 (set) P4USER=Blakestr (set) P4_1666_CHARSET=none (set) PS C:\Users\blmcc>

#

error from the other machine on network - ```Connect to server failed; check $P4PORT.
TCP connect to 192.168.1.140:1666 failed.
connect: 192.168.1.140:1666: WSAETIMEDOUT

#

basically the classic perforce network error

#

I can connect to it from the server machine itself via port 1666

#

and I CAN to it from the server machine via 192.168.1.140:1666

merry verge
#

Is the server named DESKTOP-0UPBT6J? Can you try running this from the other machine on the network? ping DESKTOP-0UPBT6J
Also try p4 set P4PORT=DESKTOP-0UPBT6J:1666 from the other machine.

runic summit
#

ping seems good ```Pinging DESKTOP-0UPBT6J

Ping statistics for 192.168.1.140:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Averag
e = 0ms
PS C:\Users\blmcc>```

merry verge
#

Try connecting using the name instead of the ip

#

I wonder if p4d is acting like a web server and paying attention to hostname instead of just ip...

runic summit
#

from local machine (i'm kinda glad this didn't work, I would have to rethink a lot)

merry verge
runic summit
#

tried to use " p4 set -S Perforce P4PORT=1666" and ti says it doesn't recognize the environmental option - - i'm checking on how to set it in windows

#

I hate you, so much Perforce.

#

Perforce client error:
registry: create key: The system could not find the environment option that was entered.

merry verge
#

per that, it's likely a permission issue - probably need to be in an admin command prompt

runic summit
#

you think they would have a bold red text to make sure you are using as administrator

#
Perforce client warning:
        Warning: environment variable hides registry definition of P4PORT.```
merry verge
#

Do you have P4PORT set globally as an environment variable somewhere (or maybe just in that session)? That's my guess for what that warning is.

runic summit
#

I deleted it from system

#

as far as I can tell

midnight niche
quaint obsidian
#

it depends on your budget and service used

#

i would strongly recommend solving your storage concerns instead of hampering your productivity

#

azure devops for example has unlimited storage

runic summit
#

How does one manage UE's autosave features of open blueprints for checking out assets - do you just use "revert unchanged" if there were no actual changes? (what about levels that are open)

#

I don't want to have a bunch of items on my change list that I was simply opening but making no changes on

runic summit
#

Also, how are HLOD's handled in source control? It's something that is used for performance, which means they probably aren't added at the very end of a build - (maybe recompiled) - you'd need them on to make sure your performance is consistent across developers- but if you so much as move an item on a level, they need to be rebuild - the actual HLOD0 file can be over 1 gig on a single level

runic summit
#

Other than pushing a version of your project, is there another file I should push for version control between updating the engine? do I push the VS files as well?

merry verge
#

Anything that's not in the p4ignore file I posted a while back.
Excluding situations where you're distributing binaries via perforce, you only want to store what is required to build your project. That means the uproject, config files, content folder, source folder, and some other misc stuff (+ any content source files you care about storing in version control - this depends on you and your project). The VS sln and vcxproj files absolutely should not be stored in source control - they can and should be regenerated from the uproject when someone needs them.

brittle shard
#

Hey guys, i have the merge tool running from command line, but it doesn't write any files no matter how i accept the merge. is there another command line flag that has to be set?

coarse lichen
#

i have a huge perforce depot i want to set up on my machine. i have all the files from the depot already, can i just copy them into a new workspace and reconcile somehow?

#

trying to avoid the download..

oak dune
#

Anybody know how to make P4V show modified files only in the workspace window?

woven sluice
#

like... hide unchanged files? i don't think it has that as a feature. why do you want it?

oak dune
#

Its easy to forget a file change if you do a lot of changes, or miss adding a file. It is a very common feature in git vcs, and svn too I believe.

woven sluice
#

yes, it's one of [at]Lorash's favorite criticisms of P4V

just run Reconcile Offline Work once in a while (i.e. while you're cleaning up your changelist right before submitting) if you think you might have some dirt to find

hot moat
#

Can confirm, I always end up doing reconcile offline work. P4VS was too slow. Rider's integration is less slow and seems to notice changes slightly better tho

tardy venture
#

The UE integration doesn't pick up new files well, you have to go into files/folders individually and save or mark for add.

I miss git status

quaint obsidian
#

got a new release of the git plugin for ya'll!

improves remote syncing behavior, including background updates
and fixed a few bugs!

#

hopefully soon I'll have some time freed up to look at some of the requests given here, like submodule support, ue5 ui fixes and repo creation

#

but our main priority is a few internal requests related to history and change management

quaint obsidian
#

going to release it officially soon, but need to deploy a new version of embedded Git LFS

long hull
# quaint obsidian hopefully soon I'll have some time freed up to look at some of the requests give...

Submodules support would be awesome, I was one (only? :P) person requesting it πŸ˜‰
In the meantime I went around and forked your project to just add diff and log support for submodules, since it's the only thing I actually need. I thought I would be able to hijack low-level git commands to instead run them in the submodule if applicable, but it turns out it wasn't really doable. So my implementation is very hacky, but it does the job.
https://github.com/brifsttar/UE4GitPlugin/commit/e7666a4c8d709674a507abf95f79267a6e055643

regal grotto
woven sluice
#

Takes 20-30 seconds on my project and I live in a first world country, if my internet is down then the only thing I'm trying to do is get my internet back up, but sure, go ahead and complain about problems that have been obsolete for fifteen years HaroldHaha

#

(Hint: just complain about the licensing/indie cost instead)

regal grotto
regal grotto
woven sluice
#

yes, been doing it for 5 years thanks. i have better things to do than talk about this, we all know you hate perforce blindly, you have valid points and you have dumb points, you're welcome to stop beating a dead horse any time you like sir

merry verge
#

I do wonder how git performs under the same situation. I assume mildly better for actual network operations (which are much less common, I'm aware) but still not great. Github/gitlab (hosted) is globally distributed and isn't a fair comparison except to say that it's easier/cheaper to get professional hosting but that's just another dead horse to beat.
But honestly if you're doing solo dev you should just be hosting nearby... AAA should be setting up proxies for outsourcing partners or for any locations with lots of remote work, and AA/mid-tier/distributed indies... I guess you're fucked lol.

#

That last quip was about perforce, not git. Should have made that more clear.

woven sluice
#

I've always intended to give git another try in modern times, last time I used it for a game project was ages ago... Probably right when lfs was young if it even existed. It sucked ass for games then. Was only natural to find something better

regal grotto
merry verge
#

I'm aware.

#

It's more a question of frustration

#

For example, dealing with LFS locks

#

DVCS doesn't really help with that

woven sluice
#

Thanks for the master class on the speed of light tho GottaGoFast

merry verge
#

If I ever hit the 5 user limit of perforce I'll probably contact perforce just to see if they have something actually for indies in the pipeline, and inevitably they won't so I'll try git again.

woven sluice
#

Yeah

#

I specifically set up my perforce server on the other side of the globe from me because that's where my team mates are and I'm dealing with 1kb .h files and they'd dealing with asset files, figured they're worse off lol. Waiting 60ms for a command to start has never become something that bothers me though...

regal grotto
merry verge
#

Figures.

#

Locking is the thing that no one has a good solution for... which is pretty much the nature of the thing.

#

Maybe one day we'll get mergeable assets (lol, that's a pipe dream).

woven sluice
#

Randomly reminds me I never did try out the cross branch/stream lock status hard coding thingy. Ahh maybe in another year

merry verge
#

I was going to mention that LFS locking being cross-branch without an (easy) way to turn that off is just... bad.

#

Doesn't matter much for solo dev but I know that'd be a deal-breaker for AAA. No way to do release branches without a separate remote? That's just... ugh.

#

One day...

regal grotto
merry verge
#

I agree with that.

woven sluice
#

I haven't actually used lfs yet, I always led myself to believe its locks might be serviceable based on everyone here saying to use them... Are they just a little buggy, or way out to lunch?

#

Our team probably going to hit the magic 6 user mark in 2022 so now I gotta start wondering if I actually am going to bend over for perforce rainbowbin

merry verge
#

They're not buggy afaik

#

they just aren't designed well

#

as I said - locks are cross-branch. If you lock a file on one branch, you've locked it on all branches.

#

I'm not sure of the specifics of other issues with their design but I've definitely heard grumblings before about them.

#

Oh, the other big thing is just a lack of tooling support. There are plugins for unreal that'll work fine, but most other DCC tools don't have anything.

woven sluice
#

Oh, ok. Yeah I guess just that alone would get frustrating quick in a full pipeline

merry verge
#

Yep. As I said, release/stabilization branches are a no-go unless you split your repo into multiple remotes.

woven sluice
#

Oh DCC tools are easy just work with team mates who don't judiciously commit most original source art files

toast

merry verge
#

lol

#

Oh, I do think someone in here hacked on gitlab's api to make locks per-branch instead of across all branches. But I don't remember who that was or how they did it.

#

kinda hacky for my taste though

simple lodge
#

I am actually working on fixing it but its an absolute nightmare

tardy venture
#

I've found increasing threads and concurrency massively helpful with every operation. I'm guessing this would be covered in most setups though.

regal grotto
simple lodge
#

I have a sort of working solution, but I don't like it, if I can get one that I am happy with I will PR it

woven sluice
#

i think i've had that happen like once in my life, and i think when i three-finger-saluted it, nothing bad happened... usually p4 is pretty good about making sure everything is atomic, if the actual server is still waiting on something then it should abort and ignore the entire attempt

merry verge
#

I have that happen when submitting large files - my impression is that P4V has finished uploading the CL but the server is still in the process of storing the files.

#

I've somewhat confirmed this is what is happening during a particularly large upload of files that the server is set to store only one copy of. Disk space usage on the server goes up during the upload, stays up for a while when there's limited network activity from P4V when it's at 100%, and then declines as the server wipes the old revisions and moves the new files into place. The time it sits at 100% is likely a function of how big the files are and how fast the server is.

#

My thought is that it's probably not a good idea to close P4V during this, but the worst that'll happen is the server will cancel the submit (and the best that'll happen is the server finishes what it's doing).

quaint obsidian
#

I do intend to start working on LFS once I finish up work on the UE Git plugin. They could use the help for sure.

merry verge
#

Yeah, it's not so much git itself that I'm wondering about since that only needs to talk to the server on push/pull (which is definitely an advantage over perforce if you're not using perforce's local server stuff). Locking and LFS is another story though 😦

quaint obsidian
#

Yeah I meant the push/pull negotiation & transfer is really efficient

#

The LFS stuff, afaik, the authentication bug is still not fixed, where HTTPs requests have to be individually authenticated for LFS uploads and multiple locks, or something like that

#

and that's a huge part

#

and the protocol is kinda just naively designed, definitely needs a look over as a sort of post mortem for how it works for users now

grizzled rain
#

Hey. How well does Unreal play with Git? I use Git day to day for web projects (so files are mainly text-based and easy to diff). What is it like for something like a Unity project where I imagine a lot of files will be binary blobs, though?

regal grotto
grizzled rain
regal grotto
grizzled rain
#

Yeah. I contracted for a AAA studio a few years ago and they used Perforce. So just wondered if other source control systems were preferred.

merry verge
#

Git is the easiest to setup for solo dev.

runic summit
#

is there a way to access the location the type map for perforce? this fucking VI editor is retarded - I've been reading for 10 minutes on how to do a paste

merry verge
#

You mean the actual file location? Not sure. But you can just edit the typemap in any editor you'd like.

runic summit
#

I get this editor that won't let me paste

merry verge
#

p4 set P4EDITOR="C:\path\to\editor.exe"

runic summit
#

i have to use commands to scroll down lines - I feel like I am in Wargames from the 80's

#

it's on a linux machine

merry verge
#

If you have any windows clients you can edit the typemap with those. Otherwise, time to learn vim or one of the other linux editors.

runic summit
#

technically this has little to do with perforce (for once) and is more a linux based question - i only asked here b/c someone might have solved it

#

I have p4v, where is the typemap there?

merry verge
#

I don't know specifically how to get p4v to open it, but you can use the same command you did on linux on the commandline.

#

p4 typemap

runic summit
#

as long as I can do it after the fact, that's fine - I got the server finally setup, now I need to setup the streams-

merry verge
#

Yeah, it's fine to do it after the fact. Just note that the typemap only affects new files submitted.

#

Old files need to have their types changed manually.

woven sluice
#

sadly it is a bit of a requirement to learn how to use VI if you're going to do any admin'ing in l00nax

#

(though... i bet there must be a notepad-like package available somewhere/somehow, I guess I just learned VI instead)

runic summit
# woven sluice (though... i bet there must be a notepad-like package available somewhere/someho...

I mean, IS there a way to type to paste it in? https://askubuntu.com/questions/256782/how-to-copy-paste-contents-in-the-vi-editor - I can use a VNC server to open up files in Gnome but I'd have to know what the typemap is stored as to edit it

runic summit
merry verge
#

Do you already have a stream created?

#

assuming this is a stream depot

#

If this is a stream depot and you don't have a stream yet, you'll need to make one. You can pull up the streams tab in the view menu of p4v, right click, and hit "new stream".

#

Once you have a stream created you can use the browse button in the workspace dialogue to set it.

#

If this is a classic depot, it's fine to leave the stream field blank.

runic summit
#

it won't let me click browse (it's not greyed out, just nothing happens when I try to click browse for the strema)

woven sluice
#

you have a classic depot

#

those are streams depots

runic summit
#

I need a stream don't I?

woven sluice
#

classic depot and stream depots are entirely separate things, you make your depot one or the other and they have different workflows for workspace setup and stuff. they just opted to use the same dialogs for either so theres a button or two here and there that seem pointless

runic summit
#

ugh, I had to set this up on linux, there isn't a command line I can do to change it is there?

woven sluice
#

you create depots from P4A

#

you don't need to use a streams depot if you don't want to

#

i think most people who use them like them, but they're different

runic summit
#

they are mainly for creating more branches?

#

like shelving but more encapsulated?

#

I had looked at the chart once and it honestly confused me

woven sluice
#

ahh they're just... different πŸ˜„ you won't really get it unless you use them a bunch I think. they are less flexible than classic depots but let you do some nice things for more complex setups like virtual streams

runic summit
#

ah, so leave it alone then - I was using one before but I didn't ever do anything stream related I think

runic summit
#

This seems like it's going to make every folder into the Blake_MainRig (even on other computers) I thought workspaces were just a physical location of a depot's files

#

so why is it asking me to copy the files to the new root directory (versus LiveSim Mainline?0

#

I feel like it is making an extra subdirectory in there

merry verge
#

You're going to have to explain that again...

#

I don't think I've followed what you've done here whatsoever

#

A workspace is indeed a single physical location of files on a local machine. I don't entirely remember what triggers that popup, but I think it's when you change the folder a workspace is pointing to - it's asking if you want to copy the files over to the new location.

#

If this is a new depot and you haven't submitted anything to it yet, you can hit no and ignore it.

#

Even if you have files in the depot you can hit no, it's just asking if you want to copy the old location to the new one.

runic summit
merry verge
#

No, how did you get to this point.

#

Did you create a new workspace? Did you take an existing one and change its location?

#

(or other options on it)?

#

The safe thing to do is just hit "do not copy" and then see what p4v shows in the workspace view.

runic summit
#

okay, then I should be good, it just was confusing the way that it displayed it in p4v

#

Where is that command line tool, I can't type anything in the log in P4v (I am doing the typemap now)

merry verge
#

just open up any command prompt

#

like the windows command prompt, not anything from p4

#

If p4 isn't available then you can either add it to your PATH if you know how (likely C:\Program Files\Perforce) or just type out the full path for each command (likely C:\Program Files\Perforce\p4.exe, if this is powershell it'll be & "C:\Program Files\Perforce\p4.exe" yourcommandhere)

#

you'll probably need to set P4PORT and login as the command line tool doesn't necessarily share session information with p4v -

# if you're using cmd
set P4PORT=ssl:yourserver:1666
# if you're using powershell
$env:P4PORT = "ssl:yourserver:1666"
# or set it semi-permanently
p4 set P4PORT="ssl:yourserver:1666"

# finally, login
p4 login

then edit your typemap

p4 typemap
#

By default I think it opens notepad on windows, but when you originally installed p4v it should have given an option to change it (I believe you can also change it in p4v options or via p4 set P4EDITOR=C:\Path\To\Another\Editor)

runic summit
merry verge
#

then don't include that part

#

it's whatever you type into p4v on the start screen

runic summit
#

ah thank you

#

lol I just had to type p4 typemap literally in commandline on windows (you had mentioned it as a client I could do that)

#
                binary+w //....dll
                binary+w //....lib
                binary+w //....app
                binary+w //....dylib
                binary+w //....stub
                binary+w //....ipa
                binary //....bmp
                text //....ini
                text //....config
                text //....cpp
                text //....h
                text //....c
                text //....cs
                text //....m
                text //....mm
                text //....py
                binary+l //....uasset
                binary+l //....umap
                binary+l //....upk
                binary+l //....udk
                binary+l //....ubulk```
merry verge
#

yeah if you already have a login ticket you can just run p4 typemap. I sometimes have an issue with that which is why I wrote out the full process.

#

anyway, that looks fine. You may want to add to it depending on what kinds of files you have - for example, I personally store some art source files in there (fmod stuff, mostly) so I also have wav and mp3 set as binary+l

#

you don't technically need the text lines - perforce would auto-detect them but it's not a bad thing to have.

#

binary+w means those filetypes are binary but aren't lockable and can be written to without being checked out which helps if you're storing builds in perforce so that you don't have to lock those files when building locally.

runic summit
#

why would you have wav/mp3?

merry verge
#

those are source audio files for fmod events. Likely not applicable to you, just an example of other kinds of files you might care to submit.

#

fmod is a third party audio system, not something built into unreal. Again, just giving an example.

#

You likely don't need to modify the typemap any more than what you have - but if you have stuff in the future that you want to submit that should be locked like uasset files just know that you can always go back and edit it.

runic summit
merry verge
#

Right.

runic summit
runic summit
# merry verge Right.

Also, it mentions in the docs that you can include your binaries - I'd "like" the latest build to be synced but I don't want to have 30 gb version of it - so I just need to have a limit on the revisions then?

merry verge
#

Yeah, you can set a limit on how many revisions the server will store. It's part of the file type so it can be something you apply to individual files (right click a file in p4v -> change filetype) or you can set it in the typemap to apply to a bunch of files.

#

If you do it per-file you get a gui in p4v that'll set things for you. If you need to set it in the typemap (which, by the way, can be done by folder and not just by file extension) you'd set it to something like binary+S1w which would be binary, store a single revision at max, don't mark as read-only on disk.

runic summit
#

thanks again for all your help in all this

merry verge
#

np

runic summit
#

is that what you do for builds? basically I want it that I can compile a build and have it get pushed, download it to another (to be sure it really is the same build) or is it better practice to compile the build on the other machine as well

merry verge
#

Depends on your workflow.

#

If you only have engineers who would be building their own binaries anyway, there's no reason to store it.

#

If you're working with artists who you don't want to have to deal with building things themselves, storing builds somewhere is a good idea. I don't personally use perforce to distribute editor binaries but that's because I have a CI server (teamcity) that they can be downloaded from with a script.

runic summit
#

That makes sense - thank you for explaining that

#

um, this is silly but do I need to submit the p4ignore.txt?

merry verge
#

You should. It's worth noting that you may need to p4 set P4IGNORE=p4ignore.txt on every machine using it.

woven sluice
# runic summit is that what you do for builds? basically I want it that I can compile a build a...

another setup: personally, I do include binaries in our server. I do limit them to just a couple versions in history like you said. Coders don't submit any binaries ever though, only our CI server does it. So any coder submits a code file, the CI server kicks in and adds new DLLs a couple minutes later, and then our artists just run a Get Latest in P4V and have everything they need. I have a Virtual Stream set up for coders which gives them the entire project sans Binaries folders, so they just build their own DLLs freely locally. Same idea as what siliex described but without using the extra functionality of teamcity

#

none of these workflows work unless you actually have a standalone build server though (and a week to learn it all and set it all up if you're not experienced at it), thanks hot reload/live coding

runic summit
#

Right now my initial commit was about 38k files and I come back to the computer this morning, thinking it would be finished and it says I have lost connection to the server

#

and of course perforce has no logs that I can determine what the hell is happening

#

wow, I think I got this server hosting for a steal

#

not sure what happened to the files during the upload from perforce that didn't apparently finish

#

I guess I might have to break it up into several changelists

woven sluice
#

If a push fails halfway through the server just cans the whole attempt like any good VCS will ( @jolly fog hi) Yeah, if you're on a flaky connection or if you got a real "bargain" server it might be worth breaking into smaller pieces for reliability

I've never had to look at perforce's log files, the error on client side has always been enough for me to figure out what happened eventually... but you could go figure out where the logs are if you wanted. From what I gather the server side logs are more for checking performance, and you have to turn on client side logs manually because nobody needs them shrug

turbid harness
#

hey, getting this error about not being checked out in source control, but i'm not using source control as far as unreal is concerned?
"The following assets are writable on disk but not checked out from source control"

#

i do have a .git repo in the root of the project but i manage that manually, never have activated the source control settings in unreal

#

it's refusing to save some assets that i just created, they've never been saved before

woven sluice
#

Thonk the button has the 🚫 sign on it?

runic summit
#

What's this about -

runic summit
woven sluice
#

that just means you typed in a folder that isn't in the workspace... you don't need to use the dashboard, I haven't opened it in years

#

yeah if you Get Latest it will get each file update individually

somber kraken
#

Can you still "submit to source control" on UE5?

merry verge
#

yes

#

the menu has moved, bottom right of the editor.

worthy oar
#

Hey there, does anyone know how to gain write access to a file that's checked out by another user (in p4v) ? Solved: the issue wasn’t the file being checked out but the fact that the machine had been renamed after checking the file out. Perforce just didn’t like that

woven sluice
#

Just make the file writable if you want to do throwaway edits

Tell them to check it in if you want to make actual/permanent edits

paper dagger
#

Hey guys, is there some setting to automatically mark assets to add when created/imported? Seems like that behaviour changed at some point (using perforce)

runic summit
glad stag
runic summit
#

he tells me, right after I setup a contabo server

runic summit
glad stag
runic summit
#

If I want to be sure I can roll back my project from updating to an engine version, do I just need to basically check out everything in Perforce from my project folder (including content) and then revert any unchanged files after it finishes - then anything that was changed will be in it's changelist?

merry verge
#

Nope. Checkout the uproject file (since updating to a new engine version will need to modify that and fail if it isn't writeable).

#

Nothing else needs to be done - updating engine versions just involves changing the uproject file and nothing else. Any assets that need to be modified after that will need to be checked out as normal, but the engine isn't going to just overwrite a bunch of files without telling perforce (it can't anyway - they're read only)

#

@runic summit

#

Even if upgrading does manage to overwrite files it shouldn't have, you can just reconcile offline work which will add those files to a changelist.

paper dagger
merry verge
#

If their editor is properly connected to source control it should automatically add new content (usually when the content is saved, not immediately on import). There are occasionally weird situations where this doesn't happen - I've found that quixel bridge (in UE5) likes to add files in such a way that seems to bypass unreal's source control integration so files need to be marked for add manually - but it generally seems rare.

#

Also, typemap is mostly irrelevant for this. Perforce autodetects filetypes when they aren't specified, and having something in the typemap is only necessary if you want to change this behaviour.

paper dagger
#

Thanks for the clarification, will look into that.

faint cairn
#

Has anyone here used UGS in the past?

#

I used it before on client projects but wanted to set it up internally for our company, however it seems to enforce having the Engine uploaded to perforce?

#

Like, can that somehow be used without a custom engine? we don't need one atm, especially not on p4 >.>

#

Guess not, they actively check for a relative engine being uploaded

#

............................

woven sluice
#

I'm still curious what benefits UGS would offer to companies who aren't massive (I have only ever skimmed the docs for it, never actually leaned how to use it). All of the things it talks about offering seem to be beneficial for large teams where everyone isn't communicating with everyone

#

I guess maybe I just need to pretend it's a wrapper that entirely replaces P4V with extra features?

faint cairn
#

@woven sluice Yeah kinda

#

You basically get a nice list with CLs

#

And if the MetaServer is also available to you (e.g. inhouse server), you can add quite a lot of info to it

#

E.g. people can mark builds as bad

#

There is also a nice handling of binary files. If you have at least one artist in your team, it's already nice to have

#

They don't need to compile anymore, and UGS shows which changelists rely on new binaries etc.

#

You can also add stuff like jira identifier, so you can submit changelists with e.g. [SHORTCODE-45] and the chagnelist description gets a little clickable tag that brings you to the jira in question

#

We are only 4 peeps atm, with one being WHO. But we have an artist on an internal project starting next year, and then UGS would be super nice

#

I will try to check if they really need the engine on p4 or if I can change it to point to an existing installation.
After all we have source code of UGS via Engine Source

woven sluice
#

the binaries thing isn't an advantage that i can see, you can get convenient functionality out of the box with just perforce and a build machine for that, but everything else sounds at least a little bit nice πŸ‘

faint cairn
#

Of course, the binaries stuff can be done with simple jenkins job

#

But then they still need to make sure they get the latest binaries via p4.
UGS can for example allow users to only get content instead of binaries

#

Imagine you have a CL 1000, that has new code and requires binaries. But in the meantime someone submits some changes to a level file or so that you need and the Binaries are still building.

#

You can choose to just get that CL without the code if needed

#

It's small things but we used them often when working on The Ascent

#

To be more precise, the BuildMachine could be busy or even something failed.

#

If you get latest between the CL submit of the coder

#

And the BuildMachine submit

#

You are f'd I guess

#

(if something relies on the code)

woven sluice
#

that doesn't make any sense

#

if you're an artist/level dev, you either need the DLLs or you don't, and you either get them or you don't, getting latest before CI puts the DLLs in would have the same effect either way

#

I do understand what you're saying, it's just super niche armageddon situation

faint cairn
#

It's probably badly explained by me

woven sluice
#

I guess you're suggesting if people push both new blueprints and minor level changes and you just want the level changes

#

blindly mashing "get latest on all" would break things

#

that makes sense

faint cairn
#

Yeah I think it also had to do with people pushing more and more CLs while the binaries were still not there

#

You would basically be locked until the BuildMachine is finally ready

#

You can submit PCBs to Perforce in a .zip file to associate them with a changelist. After that, Unreal Game Sync can sync and extract the .zip file's contents instead of compiling locally.

Doing this uses the same user interface as compiling locally, but any changes that don't have matching binaries will be greyed out.

#

Something something

#

The top sentence is doable with just p4/jenkins of course

woven sluice
#

I guess I haven't been exposed to these problems yet because I managed to set up our build server so it always pushes DLLs into perforce for artists within about 2-5 minutes after any coder submits a file (no engine source build, project isn't huge yet either). coder submits a file, few seconds later our CI discord bot posts "I'm building", few minutes later it posts "I succeeded, DLLs are updated to this changelist" or "I failed, here's the error log link, fix it" ... no slow automated testing or anything either though πŸ™ƒ

faint cairn
#

Anyway, I really freaking want UGS to work for us, cause it was nice to work with on The Ascent.
Have to figure out what I have to change in the code to get it to look for a local installation

faint cairn
#

Although actually I still need to setup the P4 triggers

#

Which is something new for me

#

Will look into that the coming days

#

If I udnerstood my short read over the docs correctly, I just need to run p4 triggers, enter something like jenkins-editor-binaries changelist-commit //depot "run SomeFile.sh"
And SomeFile.h is just some bash script that uses curl to send an HTTP request to the Jenkins Server

#

Which will of course all horribly fail

woven sluice
#

yeah pretty much

#

been meaning to switch to teamcity ever since jenkins corrupted our perforce server from its damned inability to properly work with parallel sync but not yet monkaS

runic summit
#

Anyone know of a good way to export changelists automatically, like when they are submitted? I'd like to have them auto-add to my dev wiki on Notion - I know this question is half-Notion based but figured I would start here

woven sluice
#

see messages immediately above HaroldHaha dunno what Notion offers for hooking into it, but you can get the compootah to start running code that has most of the changelist data with p4 triggers

#

if the p4 triggers don't feed enough info in for you, you may also want to learn how to use p4 -Ztag to retrieve info about a changelist ... it's, uhh, confusing. I might be able to dig out some examples sometime if you have to go there

faint cairn
faint cairn
#

Not the biggest fan of subscription stuff if I can have that stuff in my office selfhosted

woven sluice
#

it isn't subscription. but, I got frustrated with it because I found it way harder to do basic stuff with it compared to jenkins, like you have to actually code a proper plugin for it to do some simple build start notification stuff, instead of just stuffing some easy .bat code in a pre-SCM step like you can do in jenkins

#

so... i'm still using dirty old jenkins for now

cyan jay
#

I used Jenkins extensively for many years, and teamcity for the past 2 years. TeamCity is far superior IMO. Just easier to work with, no weird problems with perforce etc. I run it self hosted on a build machine.

woven sluice
#

everyone says that, yet I still can't figure out how to simply make it send a cURL to let me post a basic "build started" message πŸ™ƒ (without learning how to build a full java plugin for it)

merry verge
#

Powershell

#

assuming this is a windows build agent, just use Invoke-WebRequest or Invoke-RestMethod

cyan jay
#

Doing it on an agent as a build step is a good idea πŸ‘Œ

woven sluice
#

it's been ages since I tried to tackle it... I seem to maybe remember that to do it "right" I would have had to entirely ignore the built-in SCM pre-build part of the build pipeline, and run the SCM manually myself as a build step, does that sound right? IIRC my idea was that I wanted to get a notification before it even started pulling from perforce and the standard systems didn't offer anything to set that up (except for making a custom plugin)

#

guess i'm overlapping into #automation but I'll cut the convo short soon anyway awkward

merry verge
#

Yeah, that was basically right. But duplicating what it does for SCM is like 1-2 lines. A bit annoying, but not particularly hard or even hacky.

craggy gulch
#

Hoping someone can help at least point me in the right direction. Starting my first project with a buddy of mine. Small in scope, no particular game idea in mind, just learning. I'm a programmer and he's more on the art side.

I created our git repo, enabled LFS and did things as I normally do. Submitted just a small, blank project with a cube, circle and one rigged character from Blender just to test that he can pull down the project and see everything as expected.

He downloaded the project files from the online repo but gets the following:

craggy gulch
#

Tried searching online and found some old, dead, unanswered UE4 AnswerHub questions to no avail.

Is there some documentation or video or anything somewhere with instructions on how to do team collaboration with a git workflow? He won't ever need to touch code so I don't see why he'd need to have Visual Studio installed. His contributions will be primarily adding art assets and working with uasset files, nothing in the code.

quaint obsidian
#

you need to share the DLLs and target files in the Binaries folder

mighty light
#

if im using a source build of unreal, do i commit the binaries folder to git so other users dont have to build the source?

#

i noticed that the gitignore provided by both unreal and github lists binaries to be ignored

quaint obsidian
#

zip up a build and distribute that

#

use installed builds ideally

mighty light
#

the only reason im using a source build is because of dedicated server support. ive made no changes to the engine source at all, does this matter? or should i still provide an out-of-repo zip?

frosty ruin
#

~~Hey all, I'm trying out UE4 on Linux but I'm getting this error when I try to set up Perforce as source control in the editor:
SSL library must be at least version 1.0.1.

Seems to be coming from the actual p4api, anyone managed to solve this problem before? Everything works fine from my Windows machine.~~
See #linux

finite tartan
#

I setup github with my ue4, and I have a project that I wanted to add to a github. anyway when I try and send it to github using the source control. It errors out telling me I ran out of Video memory. anyone have any ideas.

#

ping me when some one can answer.

marble briar
#

hello. I hope this is a right channel. I am using Sourcetree, but everything I know is how to push commits to server. I made a mistake and my current situation looks like on the screenshot. all I want is to delete all above origin/master origin/HEAD and be again in that commit without master1. master needs to be where origin/master is. I tried couple things, but I think I made situation worse. sadly I don't understand almost everything about git, I always used P4V, so please use simple words πŸ™‚

violet nexus
#

is there a way to view blueprint diffs in Github?

marble briar
#

@jolly fog I can't switch to master. error in screenshot. I tried deleting ".git/hooks/post-checkout", expanded ".git/config" (in screenshot). I didn't found anything more what I can understand to try

marble briar
#

32 GB ram. git version 2.30.2.windows.1 (from Sourcetree). I can't find git folder on disk, so I don't know if it is 32 or 64

marble briar
#

done. I was able to do steps from yours first post, so everything is how it should be. thank you so much

quaint obsidian
quaint obsidian
finite tartan
#

@quaint obsidian Can you give me a name for another plugin that I can use. So that way I can look for a video on it.

#

what about GitKraken Client

#

No, I have to pay for it.

violet nexus
#

would this help me view blueprint diffs in github?

violet nexus
#

i set up the editor's blueprint differ which is actually pretty neat. one workaround to viewing these diffs in github would be to check out the person's branch and look at the diffs in editor

#

but it would really be awesome if there was a way to just see the diffs on github.com

brittle smelt
#

yeah, if bps were text files would be nice, but cant unfortunately

violet nexus
#

well, you can see their diffs in editor despite them not being text files, so it's technically feasible to be able to view them in github also.

#

right now the team's workflow is to take screen shots of all of the blueprint changes and include them in the PR. this helps us be able to refer to changes after the fact for learning and such

#

changing the code review process to checking out the branch and viewing diffs in editor instead of screen shots in the PR would eliminate this

#

is there something better than either screenshots in the PR or checking out the branch to view diffs?

violet nexus
#

i know i don't control GitHub i'm just simply asking if there is a way and attesting that it's feasible. FYI there are tons of github plugins that modify the behavior of github by processing things on different servers and reporting the result back to github in an integrated way

#

i guess there's not a way to do this yet. thanks

woven latch
#

Hello,
I do not have any networking background and I'm trying to setup a raspberry pi with an SSD to store git repos with Unreal projects at home.
I'm not totally sure if is possible (LFS support?, 32bit os?) but I'm following several tutorials on how to set a git server with a pi. Long story short, I can't seem to connect and, as I said, I do not have the basic knowledge in network connections to understand what I'm messing up. Anyone can point me to a good learning resource about setting this things up?
I can connect via SSH from home, wiregurd is installed and i can set working tunnels.... What ancient ritual is missing?

quaint obsidian
#

what does the git trace look like?

quaint obsidian
#

as for plugins, you can try

#

or

finite tartan
#

I use the github for the client. It's just when I'm working on the project. and want to submit my work to github threw the source control. the one that comes with ue4 doesn't work like it should.

#

I will try some of these. Thank you @quaint obsidian

finite tartan
#

@quaint obsidian The 1st 1 seems to be a project files. I'll have to see if this is not on the market place. and the 2nd 1. didn't want to download. ???

#

none of these seem to be in the market place. All I wanted was the plug in. I didn't want or care about the source code. @quaint obsidian

crystal estuary
#

does it make sense to exclude .Builtdata files from source control to avoid others having to download these large files and have them built lights locally?

finite tartan
#

Yes, That makes sense. Getting them to do that is another issue. It would be easy for us.

crystal estuary
#

thanks

finite tartan
#

Well I agree with you.

#

Unreal Engine doesn't all ways have the help we need.

quaint obsidian
finite tartan
#

Yes, I know. It's just I didn't want to have to try to compile them my self. If for some unknown reason it doesn't compile. Then I'm screwed anyway. It's easy just to download and install the plugin.

quaint obsidian
#

if you can compile, it will (i.e, if youve setup ue4 c++)

#

and im pretty sure the first one has binaries already

woven latch
#

@quaint obsidian I can't "git add remote" because when I activate the wireguard tunnel internet stops working and I can't connect to anything.
Using ssh locally works ok.
Without wireguard i get this message using public ip "ssh: connect to host xx.xxx.xxx.xxx port 22: Connection timed out"

grizzled rain
#

@woven latch It’s a bit strange to decide to set up a home network if you don’t have any experience with networking. Why not just use a free private repository from one of the popular providers like GitHub, Bitbucket, GitLab, etc?

woven latch
#

@grizzled rain I teach to a few students online and I would like for them to be able to have backups of their projects, and also a way for them to learn source control and how to colaborate between them. The size of the average Unreal project doesn't allow me to use those sites. The "home network" is just a pi with a 2Tb sdd. But I can't figure out how to connect to it from outside.
Now I'm back without vpn just trying to connect to it forwarding ports. (I know it's not safe)

quaint obsidian
#

use cloudflared tunnels

#

it's an easy way to add secure access to servers

#

also can use zerotier

woven latch
#

Once I have an active tunnel with handshakes, how I'm supposed to push/pull/clone? I'm trying this without success: git add remote pi pi@xxx.public.IP.xxx:/PathToGitInPi
Adds the remote but whan using it to pull/push has the connection time out error.

quaint obsidian
#

you need to address it by its name on the network

#

not public IP

#

this can be a LAN IP or a hostname you assign

#

for example cloudflared, you connect to localhost on a port you assign

#

other VPNs may assign things to a LAN IP

#

like 10.0.0.1

#

but going through a public IP isn't going to route it locally

woven latch
#

thanks!

mighty light
#

so with git lfs, its created 2 folders: "hooks" and "lfs". do these folders need to be committed? they arent ignored so i guess so, but just making sure

quaint obsidian
#

@mighty light what version of LFS?

#

there was a bug in older versions which didnt use the .git folder as it should

mighty light
#

Hm I should probably update these. Looks like lfs is up to version 3 according to https://git-lfs.github.com/ not sure if that's the actual site for it though

Git Large File Storage

Git Large File Storage (LFS) replaces large files such as audio samples, videos, datasets, and graphics with text pointers inside Git, while storing the file contents on a remote server like GitHub.com or GitHub Enterprise.

quaint obsidian
#

yep it is

woven latch
#

@quaint obsidian sorry to bother!
So, once I have a wirgeard tunnel i could access to the pi via ssh like pi@PiNameInHomeNet ?

quaint obsidian
#

if thats how it's setup, i think so

woven latch
#

i cant make it work...
Edited: Done! With the help of remote.it ! Super nice features and easy to setup!

mighty light
#

so ive updated both git and installed git lfs (i never installed it manually before so i guess older git shipped with it?) is it safe to delete the hooks and lfs folders in my repo now? or do i manually move them to the .git folder?

vocal hemlock
#

Hello everyone

#

I don't know if I'm at the right cc for this

#

I have a project that I created in 4.26, want it to convert it to 4.27 or 5.0 but got an issue, "The following modules are missing or built with different engine version. Would you like to rebuild them now ?

#

the problem is that it won't rebuild if I click yes

#

I compared the plugin and 4.27 have all the plugin that 4.26 have.

#

so probaly not a plugin issue.

#

I hear that I probaly need to rebuild it manually

#

I use UnrealBuildTools from the 4.26 binaries folder

#

C:\Program Files\Epic Games\UE_4.26\Engine\Binaries\DotNET>UnrealBuildTool.exe -ProjectFiles -UsePrecompiled -Game "e:\Unreal Projects\T5c_4.26\T5C.uproject"

#

it generate the solution file but visual studio don't reconise it

#

there's no source folder

#

The projet still able to load in unreal 4.26 but won't open in 4.27 or 5.0

mighty light
vocal hemlock
#

I have found the solution, I just need to add c++ class in the editor and it create source folder and files, than I was able to convert the project to UE4

runic summit
#

How did my HLOD's get added to source control - I thought they were set to be ignored

#

It might be worth it to have a single revision but they'd get invalidated the moment someone moved something in a level, so I'm not sure

#

but every time I go to quit the game wants to save all the HLOD files

rugged dagger
#

Has anyone seen anything about blueprint diffs outside of the editor? Preferably in a web friendly format. I'd like to improve our Pull Request reviews because reviewing Blueprints just doesn't work today in my opinion.

quaint obsidian
#

you could potentially use blueprintue.com and export blueprints to text into there

#

but you'd have to make a build system for that

merry verge
#

You can use the blueprint diff tool. It's still technically running the editor, but it's a standalone tool that can be launched separately.

#

Still not a great experience but... better than nothing I guess.

#

UE4Editor.exe <path to project> -diff <path to left> <path to right>

rugged dagger
#

That means there has to be a way to generate diffs to attach to PRs

merry verge
#

Not really... unless you mean taking a screenshot of the tool.

#

There is a textual representation of blueprint but it's not meant to be particularly readable, and it won't fare very well in a normal diff tool. Your only real option is to download the change and use the blueprint diff tool.

cyan jay
#

Fwiw we use this site to show BP's in a useful format when reviewing, but it doesn't show diffs. When you think about it how would you expect a generic BP diff tool to work?

https://blueprintue.com/

merry verge
#

probably how the one that already exists works... which is unfortunately not great but it's better than nothing.

jolly fog
#

Hey guys big problem here and searching for a solution

#

I use perforce for my work

#

The project I have is almost 60gb

#

I am about to do a format on my pc because I purchased a new disk

#

Although I don’t want to download the project again

#

Is there any way to make it sync after the format if I keep a copy?

woven sluice
#

the perforce server "remembers" what files it has sent you... if you copy the workspace exactly somewhere else and then copy it back, it'll work fine. if you are reformatting, your PC might have a different name and you might run into issues with P4 telling you that you don't own this workspace. similarly, if you're putting your workspace into a different spot it might throw similar nuisance issues at you. it's possible to get around these with enough willpower and/or possibly admin help

jolly fog
#

Okkkay

woven sluice
#

sidenote if you haven't turned it on already and if your P4 server can push harder, using parallel sync can change your download speeds from like 10 Mb/s to 100-200 Mb/s

#

for the tradeoff of losing a progress bar

jolly fog
#

The problem is that server has slow upload speed almost 5 mbps

#

So

#

I have all the willpower to learn how not to download again all the files hahaha

woven sluice
#

I think one time i literally renamed my pc to get access to an old dead workspace from a dead pc. But admin should be able to edit the workspace

jolly fog
#

I have admin rights

#

So if I find where to fix it

#

Found this

#

Let’s see if works

woven sluice
#

I don't think this is what you will need. Although the note about not having any work in progress/checked out files would be wise

#

You won't be trying to change the workspace name. Just the host pc name and maybe the workspace root directory. Properties of the workspace to trick perforce into thinking nothing has happened

jolly fog
#

Okkk

#

Let me do the format

#

I will take a copy in my ext had

#

Harddrive

#

And then we will see

rugged dagger