#source-control

1 messages · Page 37 of 1

uneven coral
#

Eh it's running 27/7/365 regardless.

molten marsh
#

Ok

uneven coral
#

Oh I used to run a full cluster in my house. XD

#

$350/mo avg bill

molten marsh
#

I guess power prices in the US is alot cheaper than here...

uneven coral
#

Most likely

#

Australia?

molten marsh
#

Yes

uneven coral
#

Your 5x more expensive

molten marsh
#

Yeah

uneven coral
#

So that bill would be $1800

#

Omg! I just realized that. Damn

molten marsh
#

We are charged per Quarter as well

uneven coral
#

But that was also 48 core's, 120Ghz, 512GB RAM, 20TB of storage.

#

I was learning to be a Sr. engineer and that was years ago. Sold em off to all the new tech guys at work. :)

molten marsh
#

Well basically you either use your Server at home or go with a paid hosting solution.

uneven coral
#

So now I'm down to my little guy :) I'll set it up see how it goes.

molten marsh
#

Perforce doesnt need massive resources

uneven coral
#

Any tutorial videos or something u can point me in the right way?

molten marsh
#

For what?

#

Installing it?

uneven coral
#

I've tried to find a few some weeks ago.

molten marsh
#

Its pretty easy, theres tutorials everywhere on Youtube

uneven coral
#

Yeah I'm not a Linux guy. :P I assume these are Linux tools.

molten marsh
#

Oh, nar im on Windows Server 2012

uneven coral
#

Okay. I didn't actually go to YouTube. Haha

molten marsh
#

No idea how the install would go for Linux

uneven coral
#

Oh shit. Windows?! Naw I'm good then. :)

#

Ill muddle my way through it. Can't be harder than vCenter. Haha

#

Thank you Devil's :)

molten marsh
#

Good luck

#

You should also look into Continuous Integration as well

#

So my Server at home is a Build Server that does all my Automation as well as my Perforce server.

#

If your not already running automated builds etc etc, its a good thing to get going.

uneven coral
#

Yeah what is a build server? I have yet to get to that point

#

Instead of running builds on my PC we do it elsewhere?

#

And it automates the process?

molten marsh
#

Yeah basically what the Server does is every night it polls Perforce to check if anything has changed. If theres a new Commit it will pull the changes and then package the project for Server and Client

#

That way i can come back in the morning and have the final product ready to be tested immediately.

uneven coral
#

Oh neat. I know Dark and Lights builds take 48 hours.

molten marsh
#

Also deploys a dedicated server instance

#

For testing etc etc

uneven coral
#

They use Jenkins, is that what you would recommend

molten marsh
#

Yeah

#

I havent tried anything else

#

Took a while to setup all the scripts perfectly the way i wanted them and they are scalable to any number of different projects so basically once its done you dont need to touch it again.

uneven coral
#

:) good

fringe abyss
#

so how Beta is git in ue4editor for source control... do you guys not recommend it?

clever storm
#

Never reccomend git for UE4 as main source control. I use perforce that pushes some content to git, like open sources plugins from my plugin project. But that's all code work.

proud forum
#

Sourcetree with lfs and then just all the uassets and umaps won't work properly?

untold skiff
#

Perforce is great until you want to use it for professional stuff and then see the price tag

clever storm
#

Perforce is great, but you should see the cost in downtime from SVN we had this year on a 10 man team.

#

Commits alone took 2-3 times longer, since we don't have a NAS for storage in house we use the net. and have to use SSL. By switching to perforce we are actually saving money by reducing the downtime of team members.

untold skiff
#

Hey man if you can afford that price tag then sure, by all means, more power to you

clever storm
#

I mean, since we have more than 5 users, it does cost us a bit of money. But when your spending 1-2 hours extra a week submitting content or backing content out. @ 40$-60$ an hour per programmer it becomes cost effective pretty quick.

forest umbra
#

hi

fringe abyss
#

this is for a gamejam so 5 users is great... i do have a question, i got perforce up and running on my desktop and in ue4... im runing a server etc... now on my other laptop i logged in and i can see the project files however i dont see the workspace

#

do i just create a new workspace , what am i supposed to do to actually pull the project?

fringe abyss
#

@molten marsh what are you using for continuos integration?

molten marsh
#

Jenkins.

fringe abyss
#

awesome downloading now

molten marsh
#

👍

fringe abyss
#

thanks

#

and i figured it out that im supposed to create a new workspace where that project will be synced to, after that its just right click and some other button to download it all

untold skiff
#

My Ubuntu laptop has a Perforce that I've been using for years but all of a sudden the Ethernet connection to the router doesn't work anymore, so I might have to setup some kind of emergency Perforce server on my regular PC or otherwise consider some other alternative for this game jam coming up tomorrow.

#

It's the dumbest thing because when I connect it directly to the modem it's fine, but when I plug it into the router it just cannot for the life of it establish a connection anymore. I've gone through like 5 pages worth of Google search results and nothing helps.

burnt shadow
untold skiff
#

Formatted and reinstalled a fresh distro and am going through the rigmarole of getting the Perforce server setup again. I successfully backed up and recovered everything, but unfortunately it seems that the Perforce service does not run automatically on boot anymore like it used to because I don't see it anywhere in ps -ejH | grep p4

#

Yeah, there's no perforce service conf in my /etc/init

untold skiff
#

whew it took me all day but I finally fixed the internet connection, backed up the perforce data, reformatted the laptop, reinstalled a fresh ubuntu distro, reinstalled perforce, recovered all of the server data, configured the server, and setup the upstart process to run the server in the background even when the laptop lid is closed and the screen is turned off.
😓

burnt shadow
#

sounds like a normal linux experience

brittle raft
#

Not really

#

It's usually fairly streamlined these days

burnt shadow
#

any time that one has to fuck with upstart/systemd/etc

#

this happens

fringe abyss
#

so how important is it to setup a typemap for ue4 in p4v?

#

for our game jam

#

we are using a launcher editor build 4.20.1 and not a github 1

dusk dove
#

very, otherwise it won't know what types the files are

fringe abyss
#

i mean its been working so far though

#

okay i shouldnt argue this

#

so how bad is it that i added the typemap AFTER syncing the project with my team?

dusk dove
#

the typemap only affects files added after setting it up

#

might have to fix up the type of some of them manually

fringe abyss
#

ill just pretend everything is fine

inner linden
#

Any advice for SVN hosts?

#

Looking for something either very cheap or preferably free

#

4 users

#

probably gonna use tortoise svn to interface with it

#

Was gonna try git with bitbucket but I have no idea how to setup LFS and I don't have enough experience with UE4 to know which files i shout gitignore

noble knoll
#

@inner linden ive worked for a year on a raspberry pi with perforce installed

#

self-hosted

#

worked fine

inner linden
#

Yeah but I don't have a personal server

#

:/

inner linden
#

I need it for the gamejam in an hour I unfortunately don't have a pi

noble knoll
#

oh

inner linden
#

Great idea though.

noble knoll
#

in that case sadly i cant help you with the hosts

#

maybe you could rent a cloud server

#

in digital ocean or whatever

inner linden
#

I was thinking of renting from OVH

noble knoll
#

but that takes a while to setup...

inner linden
#

they've been reliable in the past

#

only 5bucks too

noble knoll
#

for the lurkers

#

all the 3 and 2 models will run perforce just fine. I used a raspi 2 and then a 3, the 3 was faster

#

for memory, either a big SD card

#

or a usb disc/pendrive

inner linden
#

I thought perforce wasn't free?

noble knoll
#

free for 5 users

inner linden
#

But how do you get to that option

noble knoll
#

also you can put git there too

inner linden
#

it only shows me the 50 dollar one

#

for the core

dusk dove
#

you gotta take this and put it on a server/vps

noble knoll
#

plus the client of course

inner linden
#

Where is the client downloaded at?

noble knoll
#

same download website

inner linden
#

That looks like the server stuff

dusk dove
#

installs the ui, command line client, admin tool

inner linden
#

I see

dusk dove
#

just can't create more than 5 users

inner linden
#

I see.

#

Thanks.

#

I'll go host a month worth of OVH then

#

Which server architecture would you assume it to be the most stable?

#

I could just setup a quick debian distro

dusk dove
#

just using default ubuntu 16.04

#

works fine

inner linden
#

Alright

dusk dove
#

they don't offer packages for 18.04 yet for some reason

inner linden
#

I'm assuming there's no backwards compatibility either, eh?

#

So if I setup a later version of ubuntu will it allow me to use the 16.04 files?

inner linden
#

Might not be worth the time it takes to experiment during the jam.

#

I'll fuck around with it on a new ver of ubuntu afterwards

#

@dusk dove thanks

#

btw

inner linden
#

What should I call my perforce service name?

neat grotto
#

@inner linden Honestly I usually just leave the default.

#

I think it defaults to master or something?

inner linden
#

I wonder if I can stop the configuration

#

I called it PerforceMaster

#

hahaha

#

I should be able to change it later though, right?

neat grotto
#

I imagine so, but I've never done it.

#

I really appreciate the new Perforce installer script. It used to be a more manual process.

inner linden
#

What does unicode-mode do?

#

Is that anything I need to care about?

#

They say you can't turn it off in the install docs

#

For now I'll leave it off and change it later

#

if needed

neat grotto
#

That's the best approach to take if you don't know. You can always turn it on, but once it's on you can't deactivate it.

inner linden
#

So I have a question does perforce run automatically on the server or do I need to start it in a screen

#

and leave it running

#

just reattach later with -r or whatever

neat grotto
#

If you're following the official docs and ran the post-install script, it will run automatically once you're done.

#

I used to use the screen attach method years ago when I first started - got it from an old tutorial.

inner linden
#

Well I did the configurration

#

it says that i can now connect to the service or manage the service using the p4dctl utility

neat grotto
#

Yeah. It should run automatically, but you can use p4dctl to manage it which is handy.

#

It's for starting/stopping the service, stuff like that.

inner linden
#

So now I need to grab the windows client and I should be able to interact with the service right?

neat grotto
#

Right.

#

Most people use P4V.

#

But it comes with a command line utility, too.

#

Keep in mind p4dctl is different from p4.

#

p4dctl is only for managing the service that's running on your Linux server.

#

p4 can be used locally to interact with your Perforce depot on the command line, if you prefer that over the visual client.

inner linden
#

Oh, okay. I see.

#

Oh, I should ask, is there any conflict if my super user (name) and perforce user name are the same

#

or is that literally the same user

#

I don't know if that's just a login for the server side

#

or if it's an actual user account too

#

for making edits and stuff

#

super user name for perforce, that is.

#

God it's confusing, I don't do enough on ubuntu so my questions are gonna be super dumb.

neat grotto
#

The superuser is a regular account that can be used to commit stuff to the depot.

#

It just has full admin access.

inner linden
#

Oh, okay. Thanks.

neat grotto
#

When you download the client, it will come with an app called P4Admin. You can use that to manage depots, users, and get basic stats from your client machine. 😃

inner linden
#

Neat! When I try to connect it says the server is using SSL

#

so I need to provide my SSL login/pass to P4V I suppose?

neat grotto
#

You just need to add ssl: to the address of your server.

inner linden
#

I'm in!

neat grotto
#

\o/

inner linden
#

So now I assume I can go into UE4

#

source control

#

go with perforce and then plug in my settings

#

What is a workspace? Is that anything I need to fill? Or can that be left empty?

neat grotto
#

A workspace is something you create through your preferred client (like P4V). It's basically a mapping of files in your depot to a location on your client machine.

#

It's how Perforce tracks the local version of your project.

inner linden
#

Oh, okay then. Instead of bothering you about all of this, which I apologize for by the way, is there a guide that details setting it up with UE4?

#

I'm not sure how many steps away I am from the finish line and I definitely don't want to impose.

burnt dagger
#

Check the pins, there are a couple of tutorials in there

neat grotto
#

It's OK. Happy to help.

#

Allar has a good guide on his blog, but it's quite old at this point.

inner linden
#

Will do.

#

Also thanks!

neat grotto
#

It's old, but it's still probably the best guide out there.

#

Scroll down to the section about connecting to the server. He briefly goes over workspace creation and some basic security settings.

#

Make sure you set up your workspace to ignore Intermediate and Saved. those folders don't need to be versioned.

inner linden
#

kk

#

My perfroce looks like it has a few different steps

#

it didn't prompt me to setup a user

neat grotto
#

For P4V, right?

#

Pretty sure there are some differences in the process now. That tutorial is 4 years old.

inner linden
#

yeah

#

Ah, no worries then. Shouldnt' be too big of a deal

#

Oh by the way in his video it's like 8 gigs but in mine it's only like 1.8 gigs

#

he's uploading the actual engine right?

#

Not just a project

neat grotto
#

Either that or just a larger project.

#

I don't remember off the top of my head what he uploaded in the video. 😅

inner linden
#

For some reason pressing reconcile offline work doesn't seem to work after providing a .ignore

#

Mostly uassets and some other stuff

#

Project is small anyways so no biggie

#

So how can I now pull files from the server into a different workspace to try them out and make sure it uploaded right?

neat grotto
#

Reconcile Offline Work has always been weird for me, too.

#

As for testing things out, just create a second workspace and map it to a different directory. 😄

inner linden
#

At least hopefully it's not something I did 😅

#

So yeah I have a second workspace but I don't know how to pull files from the server

#

Do I have to clone it or something

#

similar to git

neat grotto
#

If your .p4ignore isn't working, you can ignore directories from the workspace settings.

#

Ugh, I always hate this part. No, it's not simple like cloning in git.

#

It drives me nuts. lol

inner linden
#

Well I have to get these files to my other team mates

#

(My artist quit lul so I can't say artist)

neat grotto
#

Trying to remember how you pull down all files... think360

#

Somehow I always manage to forget. You'd think I would write it down by now!

inner linden
#

haha no worries

neat grotto
#

One sec.

inner linden
#

Sure!

neat grotto
#

They do have a new git-like "personal server" feature with cloning, but I've never used it.

inner linden
#

So I think I need to add new users to my perforce server

#

for the team member and then somehow download the files onto their rigs so they can run the editor

neat grotto
#

Yeah, you'll need to add a user for each team member.

#

And they'll all need to go through the same process: download P4V, login, set up a workspace, sync the files.

#

Probably not the best solution, but I think if you check "Automatically get all revisions" when you set up a workspace, it will pull all the files. I think.

#

For an existing workspace, you can right-click > Edit Workspace and do it there.

inner linden
#

What are job views and reviews?

#

Nevermind, got it to work without them anyways.

neat grotto
#

I don't use either of those features. 😅

#

I think they're for issue management and bug tracking.

inner linden
#

I'm gonna try using get latest revision

#

and see what happens

neat grotto
#

That won't pull the whole project in a blank workspace.

inner linden
#

I think its working

#

oh I see

neat grotto
#

Did you try checking Automatically get all revisions in the workspace settings?

inner linden
#

It seems get revision and specifiying the commit with all the files worked

#

Not sure where that option is by the way.

neat grotto
#

Ah, right. That works, too.

#

When you create a workspace, it's a little check box at the bottom left corner.

#

To edit existing workspaces, you have to show the Workspaces tab.

#

View > Workspaces

inner linden
#

Get Latest Revision actually grabbed all the files

#

when I tried it a second time to grab ss's for the other guy

neat grotto
#

Oh snap.

#

Well, Perforce confounds me once again. lol

inner linden
#

It actually didn't work the first time though

#

so you're not wrong

#

O_o

neat grotto
#

Hahah.

dusk dove
#

gotta make sure you got the workspace root folder selected in tree view when you click get revision

inner linden
#

Perhaps that's it.

neat grotto
#

After 4 years, I still question my Perforce knowledge.

dusk dove
#

it gets revisions only in the selected folder

#

same for reconcile

inner linden
#

So this basically is only for one project at a time and not like github where you can have multiple, I assume?

dusk dove
#

you can make multiple depots on the same server

#

but you can only connect with one server at a time

inner linden
#

Ah, okay. How can I go about deleting test workspaces?

#

I assume deleting the root dir doesn't do much

dusk dove
#

view->workspaces

inner linden
#

Thanks!

#

You guys rock~

#

Sorry for being dumb at this stuff by the way!

dusk dove
#

wtf

inner linden
#

Making yas put up with me hahah

dusk dove
inner linden
#

.xxx

#

nice

#

That needs to be a new file format

dusk dove
#

well they're numbered

inner linden
#

like lets be honest

#

how is that not a thing already

#

Clearly each x indicates kisses.

dusk dove
#

are these meant to be here

rose wave
#

@inner linden Just to add to your worries, make sure you Perforce server is set to back up properly (and that you can restore). The last thing you want is to lose a whole depot with no chance of recovery.

inner linden
#

You mean like the VPS itself?

#

Also quick question, inside UE4 my workspace isn't populating.

#

Any particular reason why?

#

Ah, I needed to add ssl:

#

in ue4

rose wave
#

With a VPS you can just snapshot the disk periodically, but this isn’t a “proper” Perforce backup. Whilst it may work, ideally you should run the proper backup process and store the result somewhere away from the VPS.

inner linden
#

Good idea. I need to do that for my local personal files too at some point.

#

I was thinking AWS but i have no idea their price

#

Like I'd love to buy 100 gigs of space from them and just pay them monthly but they don't do that they charge per gb per month or something

rose wave
#

AWS isn’t too bad for P4 hosting but the disk space can ramp up the price. Pretty easy to setup snapshots through their console. You can follow various tutorials for automated backups and then store them on S3 or Glacier.

neat grotto
#

I use DigitalOcean and recommend them.

rose wave
#

AWS has a free period for 12 months depending on what you use.

#

I also use digital ocean for other applications and they are excellent.

neat grotto
#

DO has add-on block storage now, so you can expand as you need more space.

inner linden
#

I'm using OVH at the moment for the VPS

#

since they do 2gigs of ram instead of 1

#

for 5 bucks

#

That's the only reason lol

#

Same storage size I think

neat grotto
#

Ah nice.

#

I've heard good things about them from some folks.

inner linden
#

I used them back when hosting game servers

#

never had any complaints from users*

#

And I mean at least their prices ramp up linearly too like 8gigs is only 20 bucks

#

Back in the day it'd be l ike 40 bucks for that kind of hosting

#

and by back in the day I mean like 4 years ago

rose wave
#

Main reason I’m using AWS at the moment is so I can spin up Build Servers in AWS and connect to P4 on a fast internal network.

neat grotto
#

Yeah, VPS hosting has gotten really cheap and powerful in recent years.

#

I love it.

#

Way more affordable than it used to be.

inner linden
#

The reason I want to use AWS is for my own personal CDN so I can upload files with ShareX

#

Dropbox is lame

neat grotto
#

I use Imgur for my ShareX uploads. A personal CDN would be cool if you set up your own short URL, too. 😄

inner linden
#

Exactly

#

Dropbox URLS are too long

#

Like that's unwieldly

neat grotto
#

ShareX is such a good tool.

inner linden
#

I want a way to do a direct link

#

but without a discord preview

#

I know the obvious answer is to not use the direct link option

#

but I don't want dropboxes lame interface

#

that takes forever to load

neat grotto
#

That's why I use Imgur personally.

inner linden
#

Imgur doesn't accept mp4s

#

afaik?

neat grotto
#

Oh wow, really? I thought they did now.

#

I think they get converted to gifv

inner linden
#

Conversion sucks

#

takes time

#

I like being able to cap a video and share it in like 2 seconds

#

Dropbox is a 0.8 - 1.8second delay

neat grotto
#

Well that'd certainly be nice.

inner linden
#

Yeah a 10s clip was 3mb and took less than a second to upload

#

the larger files can be like 3-5 seconds though (2-3 minutes)

#

Depends on what you're doing I find the mp4 compression is so random

#

Never a big file, don't get me wrong, but the file sizes definitely are very inconsistent.

neat grotto
#

I know what you mean.

inner linden
#

I originally was uploading to gfycat but they got mad at me and stopped letting me upload for an entire night

#

That prompted me to search for other means of uploading, turns out dropbox wasn't only no quantity / data limit but they were insanely faster

#

I think it takes like 20 seconds to upload to gfycat and have it converted

#

it also has like a innate 45 second file limit

neat grotto
#

Oh wow.

#

Hey I have to get back to work, but I'll be in and out of here if you have more Perforce questions.

inner linden
#

Sure, sorry for offtopic.

#

Talk later!

neat grotto
#

No worries. It happens from time to time. 😄

#

Sure thing! Good luck!

inner linden
#

Thanks for your help!

neat grotto
#

Anytime. 😄

burnt shadow
#

Stop following my guide

#

Its super old

dusk dove
#

needs a new one

burnt shadow
#

Im working on one

#

But I want to cover Git too

#

But no one has a standard git process and all the info is whack

dusk dove
#

sounds like using git

neat grotto
#

Git is great. There just aren't enough Unreal devs using it.

dusk dove
#

it's great for code

#

not unreal projects

neat grotto
#

It's getting better. Certainly perfectly usable.

#

Binary support is still rough, though.

#

It's fine for small projects.

dusk dove
#

binary support will always be fail until they integrate it properly instead of this silly lfs hooks thing

neat grotto
#

What's wrong with LFS exactly?

dusk dove
#

the locks feature especially is unusable slow

neat grotto
#

Ah.

#

I know file locking is still early days.

dusk dove
#

I tried using it with the editor plugin and it took 2 minutes to rename a folder

#

with like 6 files in it

#

lfs also doesn't compress the data so it'll quickly become ginormous for both the storage and bandwidth

neat grotto
#

I'm pretty sure LFS compresses files. 🤔

#

Maybe it's just not as compressed as Perforce.

dusk dove
#

also the perforce integration in the editor works flawlessly while the git one was constantly messing up or even crashing it

neat grotto
#

I agree about the plugin.

#

I had a rough experience, too.

#

The newer one is much better, but I haven't used it enough to compare stability.

#

For a long time, the editor came with a very old version of the plugin.

#

Not sure why.

#

But it includes a newer version now.

#

Honestly, my biggest gripe about using git with binary files is that you don't get the nice first-class experience you get with text.

#

You lose file state tracking, for example.

dusk dove
#

file state tracking?

neat grotto
#

For example: if I modify a text file, git detects that it changed. If I undo those changes and save again, git sees the file as unchanged again.

dusk dove
#

oh

neat grotto
#

With binary files, every time you save it gets marked as changed regardless of file state.

#

It's not aware of undoing changes and such.

dusk dove
#

yeah that's what I mean with lfs being this hooks nonsense instead of a proper component of git

#

it's just not that good

neat grotto
#

Ah, OK. We're on the same page then.

dusk dove
#

and when you have things like a merge conflict it presents you the diff between the 2 lfs hashes, like what are you supposed to do with that lol

neat grotto
#

Right. That's not really a fault with LFS specifically.

#

It's just that git has no idea what's in the file since it's not text.

#

I don't know what kind of work it will take to fix that. There are so many binary file formats.

#

I would just love to see deep integration with .uassets. Fuck, that'd be awesome.

dusk dove
#

it could do it like perforce and give you both files so you can open them in a tool that's useful

neat grotto
#

At least we can diff blueprints.

#

But that's it.

#

Lots of other asset types in UE4 that, honestly, I'm not sure how you'd ever diff them. Not even Perforce can do that.

#

That's not a git-specific problem.

dusk dove
#

the editor plugin can do it a little

#

it converts them to the text format you get on copy paste, and passes the 2 versions to p4merge

neat grotto
#

Well yeah, but to me that's not useful.

#

That really only tells you that the file's changed. You can't expect any reasonable developer to read that and know what is different.

dusk dove
#

its not useful too often

fiery prism
#

I think you'd have to just write your own diff/merge for your asset types.

neat grotto
#

Probably. With plugins and such.

fiery prism
#

effectively thats why you can diff BP

neat grotto
#

I have to wonder if they're encouraging that with the editor scripting API, actually. It has a ton of hooks for source control.

dusk dove
#

maybe it could open a details view on both versions and compare them

neat grotto
#

I just dream of a future where I can use GitHub for even the largest UE4 projects.

#

It's such a nice platform.

fiery prism
#

Just stop using as much BP kappa

dusk dove
#

sure when they add a normal scripting language

burnt shadow
#

Or art

neat grotto
dusk dove
#

no art

#

write the textures in c++

#

seems like the new text based uasset format will dump the texture data as base64

neat grotto
#

They were working on a new mergable file format at some point.

#

But that was on their old roadmap.

#

Haven't heard anything about it in ages, although there's the new mesh format as well.

#

I think that's something different, though.

dusk dove
#

there's been a ton of commits on it merged in 4.20

#

you can now export an asset to the text format and look at it

#

idk if it's able to load them yet

neat grotto
#

Oh I had no idea.

#

I thought they ditched the new file format.

#

Unless you're talking about the new mesh format. Or is that the same thing?

dusk dove
#

the mesh description is unrelated

neat grotto
#

OK.

dusk dove
#

I forgot how to enable the option

#

but while I was testing 4.20 I found a thing in the content browser context menu to save to text format

neat grotto
#

Ohhh, interesting.

dusk dove
#

and it would make a .utextasset next to the .uasset

#

the format is not human editable beyond changing some simple values

#

but it's text

noble knoll
#

thats good enough

#

so it gets diffed through git

#

very important for all the blueprint files

dusk dove
#

still need locks though if you aren't working alone

burnt shadow
#

One of the tidbits of info

#

that I've run into regarding Git / GitHub

#

which no one has mentioned to me so far but is kinda hella important when doing research on this

#

is that GitHub has a 1GB storage limit

#

And say if you push a 500MB file (a large map with built lighting)

#

Then you make 1MB of changes to it

#

Then push that 500MB file again

#

You will exhaust your 1GB storage limit

#

Because Git of course has to store both copies

#

GitHub then offers $5 per month "Data Packs" to allow for increased storage

#

$5 for 50GB of storage/bandwidth per month

#

And due to Git storing every copy of every file

#

Hosting a large project on GitHub would actually be more expensive than many other solutions :o

wild hound
#

Thought I'd ask a question to see if anyone has a better solution for me.
So when I'm connected to source control I can't seem to sync the root Contents folder from within the engine, it was a pain having to sync every subfolder inside Contents so instead I just made a folder so it goes Contents>Game>rest of my folders for assets so I can just sync the entire game folder at once.
Problem now is adding marketplace assets and things from other projects. They all go into the top level contents folder and I can't seem to migrate them to the next folder down, which is leaving my imported assets inside Contents and the rest of my assets inside Contents>Game. If i try to move it into this folder with Migrate, it breaks all the references.
How do other people handle this? Starting to realise it might not have been the best idea to move all of my initial contents one folder deep but not really sure how is the best way to set up my folders. Cheers.

safe zephyr
#

@wild hound I use git (gitlab.com) for SCM. Easiest way to prevent sync of Marketplace assets is to add the entire folder to a global .gitignore file. You definitely don't want to mess around with 3rd part file/folder layouts, that'll break UE in a jiffy.

#

@burnt shadow, try using Gitlab.com instead. I have several projects with > 2.5GB of files in them and can have multiple private projects for free.

brittle raft
#

Gitlab has a 10GB limit per project, no project count limit

#

Git is also completely unrelated to GitHub

#

So you can work just like with Perforce and have your own server

burnt shadow
#

Gitlab has restrictions?

#

I thought it was self-hosted

#

Ah, they offer hosting too

brittle raft
median heart
#

You can also self host it as its own piece of software also called GitLab :p

#

But yeah, the official site has limits

dusk dove
fresh garnet
#

Hi everyone. I'm setting up a git repository for an existing UE4.20 project. I would prefer to use SourceTree for all commits, pushes and pulls. I already have a GitHub account.

Now, how do I go about cloning my project to GitHub using SourceTree and sharing it to another team member? I'm getting distracted as whether UE's Source Control needs to be activated or not. If someone can write simple step-by-steps, it would be highly appreciated and I'll promise to tell a joke.

median heart
#

You don't have to use the editor integration, no.

#

Especially with Git, I've found that it can be a bit flaky anyways.

#

I've personally always just used either the VS integration or the command line, but if you want to use SourceTree that's fine too.

#

What are you having trouble with that's not really covered by other guides online?

#

@fresh garnet

fresh garnet
#

Apparently everything sorted itself out. Thank you anyways @median heart . Here's a joke:

#

Knock knock.

#

Who's there?

#

An extraterrestrial.

#

Extraterrestrial who?

#

What - how many extraterrestrials do you know?

#

badum tshhhhh clap clap

buoyant ice
#

@burnt shadow Git just is not fantastic for game development. Perhaps for the code side of things it would be great, but without a clean and sane way manage your content along side it with locking it will always be a crapshoot. Plust with perforce you can setup Unreal Game Sync which is a huge boon to anyones pipeline if they can get it all working. Makes distribution and global knowledge about builds so much better.

soft token
#

LFS is kind of the solution, but yeah UGS is awesome

brittle raft
#

The biggest problem with Git for content is that LFS sucks

#

At least compared to Perforce

#

Git for code is top notch, there's a reason every serious project is there now

summer terrace
#

Has anyone use Plastic SCM much?

#

I've been talking to Perforce, but it seems a bit heavy handed. Plastic SCM seems to be a good alternative, but I have no experience with it

fringe abyss
#

working source control is kinda fun
its like a multiplayer make a game

fringe abyss
#

why teach your kids roblox when you can teach them unreal editor

brittle raft
#

@summer terrace Haven't personally tried but I didn't hear anything good about it

#

If anything, it's probably not mature enough

versed hill
#

how to transfer c++ source code using perforce?

#

so far i know perforce only transfer content folder

#

or did i missed something?

brittle raft
#

Uh, no

#

You should put your entire project into Perforce, not Content

#

Ignoring Intermediate & Saved

#

Whether you version binaries or just the source code is up to you

faint cairn
#

Yo, so how's Merging with Blueprints coming along?

#

We usually take turns, but if you want to work on a new feature in a different branch, you can't really do that anymore.

#

And I'm not sure if some Merge Tool for Blueprints has surfaced over the years.

#

Google seems to say "no".

#

The Diff tool exists, so I wonder what keeps Epic or who ever wants to from giving us a merge tool

dusk dove
#

the answer is probably still "you can't do that"

faint cairn
#

So what do bigger UE4 BP projects do if they want to add a new feature but don't want to add it into the running main code to not kill it?

#

I mean, C++ is all cool, but we are limited to BPs atm, which I can't change

fiery prism
#

Just artificially component-ize code.

#

That way, each segment is in a different .uasset

faint cairn
#

@reef oriole Does your Git Plugin allow Blueprint Merging in the way of actively saying "Use X of Version#1 and Y of Version#2."?

#

Cause it lists it in the feature description

#

So basically the same way as you would merge 2 versions of C++ files

#

@fiery prism Yeah that's not always possible though

#

Specially if the Feature is big enough to touch multiple files

#

At some points it will overlap with the active dev of the main branch

#

I mean even with components you can end up with two branches adding different components to the character

fiery prism
#

Aye. Most of the projects I've worked on have either addressed it via proper mix of BP and C++, fragmenting as described, or just being really careful about touching BP.

#

Nothing really good for a project to switch to, though.

faint cairn
#

Yeah our C++ is basically everything that is not in Blueprints

#

Exposed Variables, Functions and Classes that are only in C++.

#

The rest stays in Blueprints atm

#

have to see what Sebastian answers

#

Might have to ping him on Twitter

#

Cause that lists "Merging Conflicts of Blueprints"

#

Hope it's not just "Accept Target or Source" for the whole thing

fiery prism
#

I'd be really curious how much that handles, and if it would invisibly break BP internals

faint cairn
#

Thing is, a DIFF tool exists

#

So you can DIFF two Versions of Blueprints and it shows precisely what changed

#

So I wonder why can't that be used to "merge"

#

It would only work in the Editor at which point the whole COPY PASTE stuff of node would work

#

But who cares?

low flame
#

I actually am kinda surprised a SC provider hasn't come out with a BP diff tool. It'd bring a lot of UE users to their service.

faint cairn
#

There is a diff tool already

fiery prism
#

He means like P4

low flame
#

The one built into the UE4 editor?

fiery prism
#

Like a P4 tool

low flame
#

Cause that thing is a joke

fiery prism
#

p4diff-BP

low flame
#

^

faint cairn
#

A joke that at least shows all differences

#

Which one can build up on

low flame
#

I'm talking about a tool provided by your SC service.

#

So I can diff BP from inside P4V

#

without opening the editor

fiery prism
#

that only matters though, if people are going to be interacting with SC outside the editor.

faint cairn
#

That would require any sort of service to be able to read uassets

low flame
#

Yeah I know, which is entirely possible. Just kinda surprised someone hasn't done it. I'd think Perforce of all services would be the one to do it

#

They are already buddy buddy with UE4

dusk dove
#

the uasset format changes all the time though

#

the editor is the best tool that exists to read it

#

a bp diff/merge tool should be built on the existing unreal frameworks

smoky trench
#

there is a merge tool in UE, open up any BP and you select File->Merge
You can also run the diff tool by running UE4Editor.exe -diff <File1> <File2>, might work for merging as well

faint cairn
#

Well let's have a look at it then

#

Yeah that only accepts one of the two

#

It doesn't allow to choose based on a conflict basis

#

You can look at all conflicts and then say "Accept Target or Source" for the whole blueprint

#

@smoky trench

smoky trench
#

Ahh bugger, thought you could modifying the resulting file in that editor

#

Swear I have in the past (but I tried to do that then and it crashed >.<)

faint cairn
#

Yeah I just looked at it, they just override.

#

However they do give access to a Changes List

#

So I wonder if parts of that can be applied to a Blueprint

#

So only accept one of two differences.

smoky trench
#

That would be awesome

rocky iris
#

guys

#

perforce is actually nice

reef oriole
#

No @faint cairn, the git plugin in fact only allow to choose witch version to choose in case of a merge conflict

#

the Unreal APIs is not designed to just let you select two random versions

#
  1. One usefull thing to have would be the ability to launch the Blueprint Visual Diff tool in standalone; it would be always up to date, and integrated in the Editor, but also callable directly from your source control tool
#
  1. Another tool that should not be to hard to shape would be a similar Visual Diff viewer for Materials
faint cairn
#

Well ue4 had a diff tool that seems to find all diffs.

#

Making that standalone is just a matter of replacing the references it grabs from the project with things you select

#

Question is if blueprints allow you to select the merge on a conflict basis, rather than the whole bp

#

Idk how they work internally. It would need to have the graph be modified as a temp graph with version of each bp version and then you would need to override the actual graph with the merged one

#

Similar to how text files do it

#

But that's just me guessing

#

@reef oriole

reef oriole
#

But no, the visual diff does not allow any edit, nor selecting base on each conflict: you have to select the whole bp version you want.
That is, it is done at the file level (select which version) and not inside the graph itself.

brittle raft
#

The problem is that's it's not mergeable by design

#

It would need a text format, with a file layout that makes sense

#

But the more you go into that direction, the more you just get C++ back

dusk dove
#

the new text format isn't mergable either

brittle raft
#

A mergeable text format for Blueprint is really basically C++ - a text file cut into functions, with a layout that isn't noisy, unlikely to change a lot with minor modifications

#

Like I always say, source control is half of why I do heavily C++

dusk dove
#

exporting a simple widget blueprint to the new text format gives you a 1.5MB file with all this nonsense in it

brittle raft
#

I'm sure K2Node_VariableGet_1925 won't be renamed if you copy-paste a getter node around, breaking merges forever !

faint cairn
#

But ue4 has internally a way of looking through the blueprint and finding diffs. Why cant I take a part of the bp and swap it out with another? As said I don't know how bps work internally.

dusk dove
#

probably because they don't need that at epic so haven't made a thing that does it

faint cairn
#

But is it possible

#

Example: Could I access BP XY and code wise remove a function from it and save it again?

#

Just theoretical

#

Not if epic has something for it

dusk dove
#

most likely could

#

after finding the undocumented api to do that that changes every single version

winged tiger
#

Does every client have to do p4 set P4IGNORE=.p4ignore.txt to enable the perforce ignore file? Or do I only have to do that on the server?

iron bronze
#

every client

winged tiger
#

Thanks channie 😃

smoky trench
#

@winged tiger Can also ignore files on a stream level if you don't want to set that up per client

winged tiger
#

@smoky trench That is only available for streams?

#

That is good to know, I am working on moving to streams soon

smoky trench
#

May be available for the other types if they have a view you can modify butttt i've only ever used streams, sorry!

winged tiger
#

I appreciate the info tho since I plan on moving to streams 😃

midnight niche
#

are there any good sources out there for explaining all the ways to use a git repo? branches, conflict errors, merge

rose wave
midnight niche
#

thank you!

indigo relic
#

Hey, I pulled the engine source and built the solution. it builds the engine in a subfolder of the repo and now I have 87k changes which need to be commited to my local version (which is crashing github desktop) what can I do?

median heart
#

Use the CLI?

#

¯_(ツ)_/¯

indigo relic
#

for some reason git add . git commit "" isnt working

#

however I left it on overnight and it commited

cosmic reef
#

gd typemaps ! they ruin everything

#

if you don't get it right the first time that is

dusk dove
#

you can fix the types though

#

I think I saw a python script somewhere that applies typemap changes to all files that require a change

vague whale
#

is it worth connecting to a source control system inside UE, i already use git but it says git support is beta

#

i think it has been beta for a long time

smoky trench
buoyant ice
#

@vague whale Always smart to have a source control system, if for nothing else than to keep your work backed up and versioned. Especially if you are going to work with a team though its really important, and while git can be used, its not very good at handling UE4's binaries. Perforce is the preferred method.

fringe abyss
#

this guy does the whole 9, setting it up, hosting the server, port forwarding , the whole shebang

#

and hosting from home is free... soo

buoyant ice
#

Yup. I am using an Amazon Lightsail vpn to host ours right now. Its really affordable.

#

And perforce is completely free up to 5 users as far as licensing. You have to be careful cause CI accounts and such count against that, so does the default admin account so make sure you use every slot

#

Went with windows server on Lightsail because of wanting to host the Unreal Game Sync meta server as well, but you can get pretty decent linux vpn with them very cheap, or go with a host like kimsufi who will get you an actual dedicated linux box for very cheap as well. That was our previous solution before needing windows.

smoky trench
#

Any Git pros have recommendations on how I could compress the git history of the UE repo whilst still retaining the ability to merge upstream UE easily (via Fast-Forwarding)?
Basically I'd like to compress all commits before 4.19 into effectively one commit (in order to reduce repo size).
Is this at all possible in a reasonable manner? (Every suggestion online says to use interactive mode and that's just a heinous task)
If it's not possible any other suggestions for what I can do?

INB4 "you should use perforce". Yes I know, I'm well versed in P4 but the reality is i'm using git.
Any help is much appreciated, thanks!

brittle raft
#

Git BFG is a tool that helps rewriting history in volume

#

But if you really want one commit, just create a new repo, commit the current state

smoky trench
#

Will that make merging from upstream UE a right pain because the history/commits don't match?

brittle raft
#

No idea, actually

#

I suppose it will

glad goblet
#

guys. I got weird issue with perforce, never faced this before.
so my wrong perforce setup somehow is saved in the project and it can't be altered(or the config file is read-only, so the changes doesn't apply properly)
and each restart of the engine I must go into source control settings and reset my setup to the proper one.
could anyone help with this? maybe there's some source control file exist, which could be re-created?

#

found out the solution - removed 'saved' folder. problem solved.

iron bronze
#

@buoyant ice Hey btw is there any guide on how to properly setup Unreal Game Sync? (The official documentation does not explain how to build the installer for example)

reef oriole
#

@wanton ridge sorry but there is now way to rewrite the history of a Git repository whithout messing with orther clones of it

#

BFG is awesome but cannot go around this "issue" because this is in fact a feature wanted by Linus Torvald:

#

SHA1 shignature of your whole history, that ensure that no one can ever touch the history without you knowning

smoky trench
#

@reef oriole Urgh, hoped I could compress the history to one commit and as long as that SHA1 signature matches the parent CL of the next CL in the history it would be hunky dory

floral quarry
buoyant ice
#

@iron bronze its all in the vs solution, just click on the installer project and hit build. I am still working on getting it all working 100% and I plan to write up some documentation or tutorials once I fully understand it all because the existing documentation leaves a lot of things unsaid.

iron bronze
#

@buoyant ice much appreciated 😃 I've managed to build the app (with some made up icon sheets since there is no source available) but not the installer: the folder is empty.

safe bison
#

What does everyone use for online source control for very small teams? Like two or three people?

#

I'd like to use SVN so I can store meshes and such

buoyant ice
#

Still use perforce for teams of 1

#

or 2

#

Nothing will screw you more than having two people working on binary files at the same time without the ability to do conflict resolution.

plucky arch
#

We use SVN because I was lazy and non-techies couldn't figure out git

#

But perforce seems like a great choice

buoyant ice
#

If you can get Unreal Game Sync working it makes things really friendly for artists/designers.

plucky arch
#

SVN works, but it's just kinda meh

buoyant ice
#

Once that is set up and the project is synced up to the workspace you dont ever have to have them inside perforce again.

safe bison
#

Hmm I downloaded perforce, but I don't understand where things are stored? like do I connect to remote repo kind of like github?

burnt shadow
#

yes

reef oriole
#

Ah ah, sorry @wanton ridge:
"hoped I could compress the history to one commit and as long as that SHA1 signature matches the parent CL of the next CL in the history it would be hunky dory"
That's exactly the problem: to find a new history that match the SHA1 signature, you would have to "crack" it, but it is a crypto hash, meant to be very hard to crack!
But even though it is already considered weakened, it is far from easy to defeat it

near night
#

So this has probably been covered a hundred times and I guess the answer is, you gotta put up with it, but anyway...

#

Am I missing something, or does the combination of Perforce + UE4 assets mean you're gonna be seriously abusing server storage space and network connection?

#

It seems like any small change to a property or some metadata on a huge texture asset means the whole thing being uploaded/downloaded by everyone else/stored an extra time on the server.

brittle raft
#

Not the entire file is

#

But yeah, versioning uses more space

near night
#

It certainly seems like it from transfer times, least as far as upload/download.

#

Storage I don't know, but I do know we just ran out of server space as a result of running resave packages commandlet on our content.

#

And perforce page suggests that only text files use deltas for storage.

brittle raft
#

That's possible

#

I don't use Perforce myself, but people here keep claiming Perforce is better than Git LFS because it doesn't store the whole file every time

near night
#

Hmm, don't know then. It's funny though, I keep wondering why the hell P4 seems to do things so inefficiently in comparison to git.

#

I've not used LFS and obviously code/binary is very different, but I still can't comprehend why P4 seems to insist on doing everything on the server and never caching anything locally.

brittle raft
#

Dunno either.

noble knoll
#

becouse if you cache locally you bloat the fuck of the local user

#

this is a thing with LFS

#

GIT essentially works by having a 100% working local server

#

and then you sync the stuff in the local server with the "remote" server

#

if you use LFS, its storing the full files over and over again per commit, on the client

#

so if you have a 5 gb project and commit everything twice, your .git hidden folder is now 15 gb

#

this happens to every artist

#

and will bloat very very hard

#

thats why a central approach is better

#

the bloat is kept to the server ONLY

#

and your artists can be on SSDs

#

if you run out of space you throw a couple more 4 TB hard discs to the server

#

important to know that you can "clean" your local .git folder

#

to remove the bloat

#

but in general LFS is not a solution, its a huge hack

#

if you are truly unable to use perforce (due to cost or whatever), i would suggest SVN instead

#

artists love the simplicity of SVN

#

but branching is a pain..

brittle raft
#

tbh no one should care about bloat on the disk 🤷 a 1TB disk costs like $40 these days

#

You're going to have all your company's production on disks that cost maybe a day's worth of an artist's pay

#

Meanwhile, the 3Ds license clocks in at what, $4000 now ?

#

No idea why disk size is even a topic

noble knoll
#

@brittle raft SSDs

#

you really, really want to have the game assets in an SSD

#

and even better, in an NVM fast ssd

brittle raft
#

Still cheap

noble knoll
#

but you can only have 1, wich they go to like 1 TB

#

of course that 1 TB is enough

#

but you still dont want to bloat your artists

#

if i couldnt use perforce, i would be using SVN...

#

i wish there was a way to merge git + svn

#

like use SVN for the content folder and git for the code

#

and they are properly synced

#

2 repos doesnt count

#

ive found that LFS, due to its hacky nature, is really prone to slowing down the more files you have

brittle raft
#

You don't need an NVM disk.

noble knoll
#

and in ue4, every file is binary

#

its specially bad if you buy asset packs like anims or assets, wich just add a shit-ton of small files

brittle raft
#

And of course you can use Git + SVN - two repos. Works fine.

#

Programmers routinely commit in multiple repos. I have like 20 opened right now in Sourcetree.

noble knoll
#

but then its not synced, and that causes considerable issues unless you are SUPER strict and doo something like a identifier tag or whatever

#

yes but multiple repos are one thing

#

1 project with Git + SVN is a huge issue

#

lets say you are tracking a bug

#

and you are rolling back the code

brittle raft
#

It's not a huge issue at all

noble knoll
#

but you also need to roll back the assets

#

if they arent synced, getting both repos to the correct commit can be annoying

brittle raft
#

They are always synced

#

Because you only push compiled code on the SVN rep

#

Not source code

noble knoll
#

but you do push blueprints

#

wich depend on specific versions of the code

#

so in commit ABC of git you added X function and later uploaded a SVN commit using that function

#

thats where stuff really gets fucked

brittle raft
#

Update the C++ code in Git, compile, commit binary in SVN, done

#

I have done it

#

Literally

#

it's fine

noble knoll
#

so do i

#

is how i had the Open Tournament project

#

but i did have issues with the "roll back to specific version for testing" part

brittle raft
#

It's not like there's lots of choices either. Git is pretty obvious a choice for code, and it's pretty bad for large art teams

#

I disagree that code & art need to be in lockstep too

#

Your C++ team should treat Blueprint like a client, not break old APIs until the Blueprint has updated

#

Also something I've experience doing - worst case, the C++ team updates the high level code themselves

near night
#

Interesting stuff. We've been using Git/Perforce for code/assets, but it's only two of us currently. Been wondering about possible syncing issues like that for when we take on more people.

#

And @noble knoll yeah that definitely sounds like overkill with LFS. But Perforce doesn't appear to even cache the most recently checked out revision, which seems insane.
I ran resave packages commandlet on our content, decided to bail out and revert. Perforce is like, "Okay you just wanna revert files to last revision you checked out? Sure, just let me download 100GB again...".

smoky trench
#

That's a good point but I think for most places their P4 instance would be on site @near night and if it isn't a P4 Proxy server would be setup. So whilst still a pain better to pull over the local net then having that 100gb located on disk along side the existing repo (admittedly it would be compressed but still)

#

@brittle raft how does it work for artists/designers on your team. Do they sync both repos or do you have a script that does it for them?

iron bronze
#

@near night holy shit you are right that's insane 😮

smoky trench
#

As an engineer that solution (multiple VCS') sounds ok, but for applying that to non-engineers sounds like it has a huge potential for failures

near night
#

Yeah I think you're right @smoky trench. I'm getting the impression that Perforce is just very much aimed at teams with much larger infrastructure.

smoky trench
#

Yeah you're certainly not wrong on that, the price alone is already meant for bigger teams/companies 😛

near night
#

It also insists on uploading everything in a changelist, only to determine on the server that 90% of files were unchanged. So they very clearly don't seem to make much effort to minimize network use.

smoky trench
#

We ended up paying for it because it was straight up more cost effective then the troubles we had with git. (daily issues)

#

Interesting, in P4V you can turn on icon changing if the file is modified and of course go revert unchanged files before a push. But yeah it's not ideal tho I'm sure there is some reason for that madness

near night
#

Yup, I think there is just a very clear decision to run pretty much all logic and operations on the server not the client.

#

To be fair, a lot of these problems are only really serious because they're compounded by UE4's really naive binary asset system. Changed a metadata property on that 100MB texture asset? 100MB upload...

smoky trench
#

Are you using Helix4Git @near night ?

#

haha you're not wrong

near night
#

Nope, currently our source git repo and Helix server for assets are entirely separate. Like I say it's only two of us at this point and I'm the only coder, so a manual solution is fine for the moment.

smoky trench
#

Yeah makes sense!

iron bronze
noble knoll
#

btw, about perforce + git

#

due to the demand, there is actually an official way to merge them

#

and use git commands and git workflow on a perforce server

#

it will just translate the commands

near night
#

I'll look into that, thanks.

#

And @iron bronze yeah problem is, that still uploads everything in the changelist from what I've seen, and then makes the determination on the server.

iron bronze
#

You sure it uploads everything to the server? My guess is it generates a hash client side and compares it to the server's

#

Because I ran a quick test on my slow p4 server and it seems faster than uploading a couple hundred MB over the internet

near night
#

Well, that would make a lot more sense. It's possible I'm wrong, but I definitely got that impression from the little testing I did a while back.

burnt shadow
#

@noble knoll I've set p4 + git combo up and had them talk to eachother

#

its not worth it

novel swan
#

Hello everyone,

#

I'm trying to submit files over 100 MB to github, but they get neither detected by Github Desktop nor Gitkraken

#

lfs is set up

#

any ideas?

rose wave
#

Not detected? Are they excluded from addition in git ignore? Are they in the repo? Is the repo properly initialised and setup.

novel swan
#

They aren't excluded in the gitignore file, since they are .uasset files and other smaller .uasset files get detected

#

They don't get detected in the sense that it just doesn't show them as changes; when I drag a folder in all smaller files get marked as changes, but the bigger ones don't show up

#

I think the repo was set up properly, but I'm not sure since it wasn't me who set it up

finite delta
#

anyone know how i can see a log of what github desktop is doing?

#

im committing my project for the first time and the first big commit just showed up in the history tab

#

but it still says committing to master while using 100% cpu and 0% network

#

so i assume its still scanning stuff

dusk dove
#

does it make sense to use case sensitive mode in perforce for unreal? 🤔

hexed sandal
#

How did you setup github desktop for lfs in the first place? I can't seem to get it working at all

buoyant ice
#

any one have any good tips on versioning and perforce with CI builds?

#

never found a great way to track version numbers and such in unreal

smoky trench
buoyant ice
#

@wanton ridge Thanks! thats great info

#

I am using buildgraph with TeamCity just not really great at that stuff. Im good to go when it comes to game programming C++/Blueprint etc but the tool chain world and CI is something ive never messed with so its been a slow painful process getting that all up and running along with UGS.

smoky trench
#

haha, yeah know those feels. I know a reasonable amount about Build Graph if you need a hand with it in the future

#

I don't know much about TeamCity but know a bunch of jenkins stuff

buoyant ice
#

Thanks I might take you p on it just to make sure im not making my life more difficult than it should be.

#

TeamCity is basically the same as jenkins but plays better with Helix and I find it less cluttered.

smoky trench
#

For one off things BuildGraph is probably abit over kill, but if you want a full CI pipeline then 100% use it

buoyant ice
#

Right now I have to set up so if I submit with certain tags like [BUILD] in our dev stream it will build the binaries for distribution via UGS so artists and such dont have to compi8le anything, and in the release streams im trying to set it up so that [DEPLOY] tags will build client and dedicated servers and push them out to their respective hosts etc.

smoky trench
#

RE: Team City yeah fair enough.
Ahh nice, are you using the example BuildEditorAndTools script?

buoyant ice
#

yeah that's the one

#

its what was recommended in the UGS docs

smoky trench
#

Nice

slate cosmos
#

Is there a way to get the changelist number inside Unreal via BP?

#

I want to base my games version number off the change list and it would be nice if I didn't have to update it all the time as it would just update when I commit.

smoky trench
#

OOTB not to my knowledge but you can access it in C++ via FEngineVersion::Current() so wouldn't be too hard to create a function wrapper for that

rough leaf
#

Ok this is a long shot, anyone developing for NX as a studio, and dealing with large files across p4

smoky trench
#

@rough leaf, by NX I assume you do mean Switch? Working with it here, have used both git and P4 projects with it. What sort of large files are you working with?

rough leaf
#

Hi jack, sorry for super late reply, I was wondering if we needed to add some binaries to p4 or let them be buitl locally, but we did som testing and realised we didn;t need to have some random local files on p4, to save us sync time

smoky trench
#

Fantastic 😄

#

Glad you worked it out!

long flicker
#

hello everyone !

#

I'm facing weird issue using perforce..

#

I have posted oin answer hub as well ..

#

perforce not submiting all

#

all file, *

#

kindly have a look , let me know if you guys have any idea to fix it

#

thanks

halcyon reef
#

o/

#

anyone here with experience setting up a modern perforce server on Ubuntu?

#

all the resources online that i've found are quite outdated and perforce wants you to install it differently now

dusk dove
#

you just need to follow the "package based installation" guide now

#

some things that would make sense to do after that are

  • disable creating new users or enumerating users
  • enable parallel sync on the server
  • set up something to create daily checkpoints and make a backup
  • set up a typemap that makes sense for unreal

I don't think there are any guides covering all of these at once

halcyon reef
#

ah geez

#

ok

dusk dove
#

@burnt shadow said he was working on an updated guide a while ago, not sure if anything happened to it

halcyon reef
#

that's actually the guide I'm follow now lol, from 2014

#

well, I got the server up

#

it is running

#

but I can't connect to it remotely

#

via P4V

dusk dove
#

maybe you accidentally firewalled it (I did that lol)

halcyon reef
#

lol how?

#

you mean on my windows can?

dusk dove
#

enabling the firewall on your ubuntu server without adding an exception for 1666

halcyon reef
#

oh

#

I don't think I've even added a firewall

#

unless it's there already

#

I set it up on Vultr

#

ah shoot, would'ya look at that

#

ah, nope, it's shut down

#

so that shouldn't be the issue here

#

WSAECONNREFUSED

#

maybe I gotta set the ip in my $P4PORT?

#

AHA!

#

that was it

#

sorry for the spam

halcyon reef
#

welp, that guide is still working well, you just need to install perforce using the new install guide by perforce

#

Oh shoot. I forgot to set up the typelist before submitting my files. @dusk dove is there any way to remove the current change?

#

nvm I got it

burnt shadow
#

What a rollercoaster

halcyon reef
#

It's my dramatic nature 💁

#

anyway, @burnt shadow kudos to you, your guide still works flawlessly

#

as long as you just install perforce as a package

heavy yarrow
#

aight

buoyant ice
#

Lol. Propagating changes from an updated typemap is one of the weak points of P4. The only way to really handle it for already submitted files is to use the search function in p4v to get all the files of that file type and set the new permissions and submit. Any new files will respect the typemap update but you have to manually apply it to files already in the depot

dusk dove
#

there's a python script pinned in this channel to automate that process

inner linden
#

Anyone here familiar with why a root account on a linux server, when running ls / dir, would yield no results upon just logging in?

#

I've tried CD'ing into # and home but no success

#

dirs not found

burnt shadow
#

Its fucked

robust jacinth
#

@inner linden sudoing or actually logged in as root?

#

If sudoing, you probably need to sudo the ls as well to see what root does, IIRC.

celest pike
#

Question: Is there a way to filter for "new" objects or files that not under source control yet (yellow question mark) ?

molten marsh
#

Not that im aware of.

smoky trench
#

You can use the "checked out" filter which will show marked for add and edited but unfortunately I don't know of anything that will show just marked for add 😦

burnt shadow
#

NOT "checked out" maybe?

proud forum
rough mulch
stoic rover
#

I usually work with Git and I'm looking into moving to Perforce since it's better with binary files and unreal but i never got to host anything on web before

#

it uses a virtual machine not just cloud storage right?

#

I mean there is not service like github for it as far as I know and you have to host it on a virtual machine you rent

dusk dove
#

yes

robust jacinth
#

@stoic rover Perforce and Git are both ultimately just software.

#

They have no reliance on being on virtual machines or on the internet or any such thing. That's just convention.

#

Correct, there is no SaaS option for Perforce hosting (that I know of).

#

But you can even just run the Perforce server on your own machine. Wouldn't be very good for having backups though.

stoic rover
#

gotcha

#

thank you both!

rose wave
stoic rover
#

@rose wave I can get 4 cpus, 8 GB ram and 160 SSD on DigitalOcean with that price haha

#

and work with my team on it too without having to pay it per user since we are only 5

#

but thanks!

rose wave
#

Yup, I said it was expensive 😉 I believe they are the only ones to offer the solution so like you said, it’s that or host your own (which most people do).

Something to keep in mind though is that most people will setup perforce and leave it at that. However, you MUST ensure that you have good backups. Enabling digital ocean snapshots / backups is a start, but it’s not enough. You need to ensure the proper P4 backup process is run and the output stored somewhere off that machine.

dusk dove
#

assembla is a scam, don't use it

neat grotto
#

@dusk dove How is Assembla a scam?

dusk dove
neat grotto
#

@dusk dove It costs more because they are providing more value on top of the Perforce license.

#

Hosting, lots of storage, project management tools, etc.

dusk dove
#

yes, however if your team is smaller than 5 users they still collect the same amount of money from you while not having to pay for perforce (making a new server with 5 users is free after all)

#

so, since this pricing isn't
1-5 users: $4.50/month
6-20 users: 44.50/month

I'm gonna assume it's a scam

neat grotto
#

There may not be a practical way to pass that 5-user free license on to their customers.

#

I mean yeah, it's possible they just don't want to have a separate pricing tier and this is easier for them.

#

It probably comes down to how the licensing works.

dusk dove
#

also seems somewhat suspicious that it ends at 20 users, the maximum number of free users some slightly older version had

neat grotto
#

If providing this service requires them to be the actual license holders, then business model makes sense.

noble knoll
#

45 per user

#

jesus

#

thats beyond insane

dusk dove
#

that too

noble knoll
#

you can get a beefy amazon server

#

for that money

#

and just run perforce on it

neat grotto
#

But then you have to manage it yourself. 😛

noble knoll
#

oh wow so hard

#

takes barely a few minutes to setup and then you are done

#

hail the Allar guide on perforcering on a cloud server

neat grotto
#

For most people, doing it right, securing and maintaining it is not easy.

#

And for most people, paying for someone to take care of that for you is well worth it.

#

And a good portion of that monthly fee is the Perforce license, too.

elder robin
#

I'd recommend VSTS for VCS with git/subversion, code hosting (with git-lfs, no limits), team management, tasking and even build and release automation if you're going to pay per month

haughty vault
#

you could setup an p4 server locally tho.. just saying hehe

haughty granite
#

i've heard only bad things about assembla

#

IIRC one story was during a longer game jam event of some kind where the group had some issues with their repository so it became inaccessible for them during the final days of the jam

#

and it took days to resolve the issue

#

this was years ago though so maybe they have improved since then

smoky trench
#

yup not a fan of assembla, we had already locked in a year license with them and they then tried to charge us on top of our existing service when they started charging for P4.

That and I found the service slow because, at the time anyway, they didn't appear to have any OCE servers

shrewd token
#

any word on where developers are hosting github content now? Also, how does SourceTree compare to other git visualizers?

#

just got it set up for a test project after many hours of updates on OS to get everything aligned for dependencies

elder robin
#

imo sourcetree or tortoisegit is as good as it gets for a gui right now, gitkraken still had too many issues a few months ago when I tested it

#

if you want to stick with github for the project itself, you'll need to setup git-lfs for it and rent enough space from github

shrewd token
#

k, thanks for the feedback @elder robin

shut rain
#

We're using a Perforce server, and trying to restructure our project. However, one of the team members is getting the following error when trying to fix up redirectors:
redirector could not be checked out or marked for delete
What could be causing this, and how could it get fixed? He does have all the permissions in the server needed to check out and delete the file...

shut rain
#

Apparently there was an issue with the folders used for the workspace, where it was linked to a different folder, fixed now

tranquil walrus
#

Are there any plugins which allow you to run lfs diff on animations like you can with blueprints?

grim mica
#

Hey popping in for the first time.

Does any one have preferences or pros and cons to source control in unreal. I started a VR project using Git as source control but it has significant issues doing any kind of merging because blueprints cannot do a git diff as far as I know.

Are there best practices? Should we just switch to perforce or other options?

molten marsh
#

Perforce 4 lyf

solar yew
noble knoll
#

LFS 2 ?

dusk dove
#

appearantly the lfs is version 2

#

I wonder how they got to v2 with it still not really being good

noble knoll
#

there is nothing they can do, really

#

other than creating a git branch , like "bingit" or whatever, wich has LFS stuff built in and works decently instead of being an abomination

dusk dove
#

that's exactly how lfs should be done

#

a core git feature

#

I really don't understand why it was made differently

noble knoll
#

becouse its just a git addon

#

making a full git branch is no joke

#

you are doing a different source control system at that point

dusk dove
#

well obviously the goal would be to put it back into main git when it's done

blissful surge
#

Hey can anyone in here tell me the rough cost of getting 5 additional perforce clients supported?

#

We need to get a total of 10

#

And only have 5 right now.

dusk dove
#

it's not 5 additional ones

#

you have to get a license for 10 users then

#

people here claim it is 40/user/month

#

making that an absolutely insane 4800/year

#

¯_(ツ)_/¯

grim mica
#

Thank you~ @solar yew

floral quarry
vocal smelt
#

Hey, can anyone share workflow using perforce for small team up to 5 users?

tranquil walrus
#

Hey guys I want to switch from GitHub to gitlab. I made an account and migrated my code over. I'm using gitkraken but can't seem to figure out a way to have gitkraken push to and use gitlab instead of github

limpid obsidian
#

what they don't cover is p4 administration. journals, checkpoints, backups, CI/CD...

tranquil walrus
#

I finally got gitlab added properly on gitkraken..the problem is that gitlab is now 2 commits behind. I'm sort of new to this, so which one should I choose to get gitlab to catch up to the current commit? Fast Forward?

#

I want to get gitlab caught up, then remove github.

#

or at least stop pushing to it

vocal smelt
#

@limpid obsidian , ty, i've read this article. And now i have server on my computer. So, i have questions:

  1. Do i need to initialize personal servers on other computers or it would be better to communicate directly with the depot on server?
  2. I want to use streams. What is the workflow? When streams should be created? Do i need to create a stream depot on the server?
limpid obsidian
#

@vocal smelt i would not setup a server on my home computer...you should check out Digital Ocean
streams are for more advanced codeline management (https://www.perforce.com/video-tutorials/mainline-model-tofu-scale). a classic depot with a single mainline should be fine. you can always create a streaming depot in the future if your needs change

#

but be careful. you may find yourself becoming a p4 admin/build engineer

#

😛

vague compass
#

gitkraken may or may not use your public key

#

like it be using gitlab / github https authentication through oauth

limpid obsidian
#

so i posted a goal on my patreon on this issue of perforce and CI/CD

#

it's something i see people struggle with quite often, so i'm gauging the interest

#

(bit of a side-step from my Niagara tuts, but something I do daily at my job)

vocal smelt
#

@limpid obsidian ty very much)

uneven coral
#

Okay so i think i am finally wrapping my head around this

#

Perforce is my version control server locally on our servers.

#

which i can local repos which my team can work from

#

however i can download the Perforce Git connector to connect to my Git Private Repo.

#

correct?

dusk dove
#

no

#

you don't use git at all

#

perforce has multiple components, p4d runs on your server to version all the files, p4v is what you use on your pc to sync/submit changes

uneven coral
#

thats what i have setup

#

but i was looking for cloud based repos since where the local server is sitting has awful upload speeds

#

local ISP restrictions

dusk dove
#

grab a vps somewhere and put p4d on it

#

there is no good existing cloud solution for perforce

uneven coral
#

yeah i saw that

#

lol or they want $150-200 a month for just 10GB of data or whatever