CRYENGINE GitHub pull requests are go – here’s what you need to know
CRYENGINE GitHub pull requests are go – here’s what you need to know

CRYENGINE GitHub pull requests are go – here’s what you need to know

We’re pleased to let you know that pull requests have now been enabled on GitHub for CRYENGINE. Pull requests allow you to collaborate with us on improving CRYENGINE - and we would like to start with 5.4, obviously - so we’re excited to launch this feature which many of you in the community have been asking for. We’re looking forward to working together, so if there are areas where you would like to get involved simply head to our GitHub page to get started.

To find out more about the process, we sat down with CRYENGINE Lead System Engineer David Kaye.

Hi David! So, who can submit pull requests?

Anyone! The CYRENGINE Community is full of highly-talented people and we’re excited to collaborate directly on improving the engine with CryENGINEERS. We are aware that it’s been a long time coming, but now we have our process established we think this can really improve CRYENGINE for everyone.  We’re looking forward to seeing how we can work together, and appreciate everyone’s patience in waiting for this release. 

What kind of pull requests can I submit?

To start with we’d like to focus on simple, non-operational changes. This means fixing typos, correcting markup, and other changes that won’t affect how the code runs. Doing so will allow us to validate our procedures before we apply them to more complex situations that may involve, for instance, back-and-forth discussion about a change. We will only be able to accept pull requests made against the ‘pullrequests’ branch.

What happens when I submit a pull request? Is there a process?

When a pull request is submitted we create a ticket in JIRA for that request, just as we do for GitHub issues. This ticket is then assigned to the most appropriate developer, who is responsible for reviewing the code and deciding whether to accept it. Once a pull request is accepted, we have a script that pulls the latest state of the ‘pullrequests’ branch and pushes it to our internal GitFusion server. Once in GitFusion, the developer integrates it to our ‘main’ branch. We hope that by starting to accept pull requests, we will be able to find the parts of this procedure that can be most easily automated, so that accepting pull requests can be as simple as possible.

Can I submit pull requests for CRYENGINE 5.4?

It depends on the nature of the change – we’re hoping to get small pull requests in, but pull requests that touch a lot of files or are otherwise complex won’t be included for 5.4. Since 5.4 is currently in the stabilization phase, we’re only making changes that are unlikely to impact other areas. Rest assured though, that if your change is accepted, it will be part of a future CRYENGINE release.

Any other business?

We cannot accept pull requests directly into other branches due to the restrictions we have placed on them internally (e.g. automated compilation testing) that do not work natively with Git. It is also important to us that we have a consistent history for the main, stabilization, and release branches, and we would not be able to guarantee this if we accepted pull requests directly into other branches. 

Thanks David! For more detailed information on how our GitHub is set up, watch our video about the CE GitHub launch, also featuring David Kaye below.

Head to GitHub to get involved and we look forward to collaborating on CRYENGINE directly with you. If you have feedback or comments, we’d love to hear your thoughts on FacebookTwitter and our forum - we also set up a special forum topic just for feedback on build 5.4 Preview so you can send us your dedicated input in a dedicated place. And if you’d like to contribute to the evolution of CRYENGINE you can find out more here.