Download

Epic-controlled TODO list for Github Contributors

First, I want to state how excited I am by the number of community-generated commits already merged into master!

I would love to see a public issue tracker maintained by Epic directed specifically at the developer community. I think the benefit of this would be that lower priority tasks could be picked up by the community developers alongside some semblance of priority. Recognized problems will either be solved in parallel, or the Epic dev team will pick them up when they have the bandwidth.

For example, I am very interested in improving editor performance and the development workflow in OSX. It would be helpful to know what is actively being worked on at Epic (I understand that this may not always be possible) so I don’t begin duplicating in-house efforts. I would be happy to pick up a number of more trivial tasks, like making ⌘ + w close editor windows; such tasks may not be worth the immediate attention of an Epic developer but they do improve the user experience.

I recommend using Trello or something similar. Trello even maintain a public Trello board of their own work queue. This is just an example; there are a bunch of viable issue trackers.

Naturally, this would require effort on Epic’s part which may not be realistic right now. However, I think an investment in organizing the developer community would be made worthwhile by the quality and quantity of the contributions it would generate.

What do you guys think?

Thanks for your great suggestions. In short, we also want everything that you’ve asked for above! It’s just a matter of us figuring out the right process for everything, but it will absolutely happen as soon as we are able to get it done. Ray (our General Manager) got us hooked on Trello here at the office and we love it. I think he’d really like to make our engine roadmaps visible to everyone. Our goal is to be as transparent as possible about everything that our engine team is working on or planning to do. If we could easily expose our entire engine issue tracking database, then we would do that. It will take us a little while to get there though. We’ve even talked about opening up our internal mailing lists and chat systems so that we have brainstorming sessions out in the open. We’ll see! In the meantime, please sending us suggestions about anything we could do better as far as communication and helping the development community.

–Mike

Thanks Mike, that’s great news! Perhaps in the meantime you guys could create a new forum section specifically aimed at discussions around contributing with github, just so there’s a centralized place for that. What do you think?

Another great suggestion. I’ll try to make it happen. :slight_smile:

And… done! Check out the new forum section. Thanks for the feedback, piinecone.

Yes, awesome, thank you!

That’s awesome Mike! How quickly can we get to the point where Epic can push TODOs to the community? I also am interested in understanding what is currently being worked on so as to not duplicate work. There are probably a decent number of us with lots of pro game code experience that are really really excited about what’s happening here. I trust you guys making the roadmap decisions, I’m just excited to contribute to this as much as possible while I build my own projects with UE4. Having that insight into what is a good fit for the community to pickup while you guys do the heavier lifting in house would be great.

This sort of collaboration is too awesome it has to be the first time this has been done. It’s really exciting.

Thanks!

I think it will be great not only to have a TODO list, but “IN PROGRESS” list too. F.e. some dev is working on some “A” plugin/expansion/bug/etc., and if anyone else is interesting in the same plugin, it will be easier for developers to find each other and collaborate, and avoid “duplicating” features.

We absolutely want to have our issue tracking, roadmap and all team activity opened up to you guys. It is very high priority, just lots of details to work out. I’m happy to include you guys in the conversation about how to make it happen though.

Just as an example, we currently use TestTrack Pro internally for issue tracking (we’ve used that for many years now.) We pay per seat for each user, plus for some number of floating user licensees. We unfortunately can’t flip a switch and allow all subscribers access to the database in it’s current form. There are also security issues and performance testing we need to work out before we can open up some of our servers “very wide” like that. For issue tracking, I think that the least we can do in the interim is publish snapshots of open tasks to the web. We’re looking into that. Of course we could switch to an open source issue tracking system or simply use GitHub’s built in solution. That might be the right way to go.

–Mike

Hi Mike,

Definitely lots of details, I understand. Interim weekly snapshots would be really cool. I think there will need to be some direction from Epic on what fits as community contributions, unless you guys are thinking that someone in the community could submit fixes for issue XYZ on GitHub? That would be very neat.

We’re going to try for even more frequent snapshots than that. You should hear more about it in the upcoming days.

Yes, we’re working on figuring out how to open more things up to keep community developers on the same page as our internal teams. We also want to do more videos that give insight into our design process for the engine runtime and tools. Our goal is to be as transparent with everything as we possibly can. There is a lot to do, but we work pretty quickly! :slight_smile:

–Mike

Like was mentioned in the OP, Trello can be a very informative/powerful system. I think trello is perfect for displaying “roadmap”, “feature map”, or milestones within each feature type information that you are working on. Workflow wise its not very good for very detailed play by play implementation (like github, which this would be good for). Trello is good cause then people can follow development who are not subscribed (yet, hopefully).

Here is a good example of how Rust (game) does a pretty good job at organizing in such a way, its informative, but not overkill.

What a great read.

This is exactly why I think Epic and Unreal Engine 4 will eventually dominate the indie market!

An open issue tracker would be great. Not only to be able to see if an issue is already known, but for better organization of community efforts. It could avoid multiple people trying to implement the same thing or fix an issue that has been assigned to one of the Unreal Engineers anyways. I don’t know how much the community will contribute on the engine code side of things in the future, and how big of an issue this will be, but it would be definitely nice.

You probably already evaluated the possible options, but most of the popular web-based (YouTrack, JIRA) trackers support separate private and public issues. GitHub’s tracker could work too, but it’s a little bit limited in its features.