When I connect a Perforce to a project, the whole project folder becomes read-only even if I disconnect it. Is there a way to disable it?
First up, this is by design (Perforce) and it’s probably worth keeping it that way, and instead allow only some files to be read-write. Unlike Git, Perforce does not automatically detected changes within your project structure so ideally you want to either be notified that a file is read-only so you can manually check it out, or you want to use some integrated tools which check out the file when you modify them (UE4 and VS have extensions).
The recommended solution is to use the +w modifier on certain file types. This makes them stay as read-write. This page contains a sample configuration file for perforce: Using Perforce as Source Control | Unreal Engine Documentation you can customize as needed or, if you really want to, you can just make all files have the +w flag (but again, I wouldn’t recommend it). These changes need to be made on the perforce server conf file.
Also, the example in the link above assumes your assets are kept in ‘depot’. If you use another name, then make sure you adjust as needed.
If there are just some files you want to have a read-write which don’t follow a pattern, you can right click on them within P4V and change their filetype.
Other useful things you can do in this way are specify how many revisions of certain files you want to keep. If for example you don’t want to waste space on your server with large _BuiltData.asset, you can specify that these only store the latest version (or the last 2 versions etc). You loose some advantage of source control, but it is more efficient on server storage space for files like this which can be rebuilt as long as you have the history on the rest of the assets.