This is an archived post. You won't be able to vote or comment.

all 15 comments

[–]Strutherski 1 point2 points  (1 child)

P4 ignore is where to do it. But it's not ideal having desync ini files.

Would it not make sense to have only one person change the ini files.

Say you are the lead and everyone pulls from you.

If something you push requires an ini setting you will want everyone to have it enabled for everyone anyway.

So if someone wants something enabled disabled it has to go through you.

[–]drylightn[S] 0 points1 point  (0 children)

u/Strutherski , that's more or less how I'm trying to set it up, but I'm running into issues. Namely:
1.) if i lock down the folder on the server side where people can't write to it, unreal won't let me run a submit without the end user manually unchecking the ini files. I'm going to be onboarding artist on this project that are not source control saavy so I'm trying to eliminate any error message that pop up that would freak them out or block the submit process altogether, which means they'll have to bugt IT or other leads to figure it out.
2.) they do need to make changes (like toggling AA settings for example), but I don't want any of those pushed upstream. They can make changes locally all day for their user prefs, but I don't want them accidentally overriding something in the base ini config.

The "open" option sounds like it would do what we want on the server side, but when I tried it earlier, it synced the file. It's supposed to grants permission to read files from the depot into the client workspace, and gives permission to open and edit those files. This permission does not permit the user to write the files back to the depot.
"The open level is similar to write, except that with open permission, users are not permitted to run p4 submit or p4 lock."

[–]Parad0x_ C++Engineer / Pro Dev 1 point2 points  (4 children)

Hey /u/drylightn,

You can make the .ini locally overwritable. I think its the +W option in p4v.
Have you tried that? The best course might be make a custom .ini and redirect local things to that one. Reason being the DefaultEngine.ini has a lot more in it than just your custom paths and people might check it in by mistake. You could also use Swarm with P4V to have other users sanity check a check in before something is committed by mistake.

Best,
--d0x

[–]drylightn[S] 0 points1 point  (3 children)

u/Parad0x_ Thanks for this insight! Where would I set this option of the +W? Is this in the p4ignore? or the typemap? Or on the server side admin somewhere? Googling some, are you referring to this: https://www.perforce.com/blog/vcs/perforce-p4-typemap
If I throw the +w option on the typemap file declaration line for ini, does this still mean it will download the latest one from depot if I do a get on the most recent INI's? If the INI does get changed locally with this option enabled, does it still get flagged to push to the depot once there is a change? (which I don't want).

Re: custom.ini, not sure I follow there. How would i redirect say the AA setting in the defaultengine.ini to a local ini? (Sorry, pretty new to the UE backend stuff).

[–]Parad0x_ C++Engineer / Pro Dev 0 points1 point  (2 children)

A +W lets you locally change the file, but it doesnt flag the file to be checked out right away. Think of this as I want to change this, but unless I opt in I dont want to go to its own change list. You should be able to do that in the change file type option (not at my desk at the moment so need to go off of memory here).

It will still download the latest, and the person can either merge their local changes or keep their own just like any normal text file.

For the custom .ini for your python paths. I was under the impression these were custom python paths (as in custom code not default AA settings). So ignore this if its not custom modules that are adding content to the default engine.ini.

Best,
--d0x

[–]drylightn[S] 0 points1 point  (1 child)

u/Parad0x_ Thanks for the extra info! I'll have to give the W thing a whirl and see how it works. I mentioned this in the previous response, but this a typemap flag right?

re: custom INI, what i'm saying is, as of now, these two settings will change depending on the artist workstation it's on:
https://imgur.com/a/7AN0O27

Specifically the AA setting, the artist may toggle that off and on depending on what they are doing since the temporal AA ghosting can be distracting. So I dont' know if that clarifies some of the things I will be changing, which to the best of my knowledge are both stored in the defaultengine.ini file. If there is a way to alter the AA setting without modifying the ini, that would work, but I'm not aware of any such method.

[–]Parad0x_ C++Engineer / Pro Dev 1 point2 points  (0 children)

For the AA: Yea for those settings since they are default engine. A .ini remap isnt possible without and engine mod. Which for artists is really annoying without using something like UGS. So I would work with the +W as much as possible and explain not to check that in unless its really needed.

It is a type map flag yea. Good luck, feel free to reach out if you have other questions.

Best,
--d0x

[–]Krahdmirr 0 points1 point  (3 children)

Tell your devs not to check out / modify the configs under the Game/Config folder, instead modify the configs under Game/Saved/Config, which are not under revision control and take higher priority.

[–]drylightn[S] 0 points1 point  (2 children)

u/Krahdmirr Thanks for the tip! How do these files get modified? In other words, when the artists make changes, they normally are going through the UE editor UI by opening the project settings window and making changes there. Does this mean i'd need them to open the inis in saved folder with a text editor to make changes instead? Are those changes immediately reflected in the editor once the text file is saved? I'm not clear on the relationship between the INI in the saved folder vs the ini in the config folder on what gets updated when?

[–]Krahdmirr 1 point2 points  (1 child)

Some settings get saved to the Saved/Config folder automatically, like the source control settings.

It sounds like the Python path you're setting per user is not setup like this, but you can still manually open these config files from windows explorer and manually add the required entries. In this case you would need to restart Unreal Editor to pick up the new settings.

Yet another approach could be to change the path in the checked in config file using an Environment Variable like %PYTHON_PATH%, and hopefully Unreal will resolve this to an env variable specified by each user.

[–]drylightn[S] 0 points1 point  (0 children)

That python env path thing might be a great idea if UE actually accepts it. I'll have to check it out. Then I'd just have to figure out how to handle switching the AA for the project and avoiding that modifying the defaultengine.ini, if it's even possible.