Not sure if this is the right place to post buuuut anyway I like to share information about a project I am working on for UE4 other then fixing UI issues for the UE4Editor on GNU/Linux/X11/SDL2. At the moment I am working on a CodeLite Project File Generator and Source Code Access Plugin for Unreal Engine 4. Thx to CodeLite I am able to work either on GNU/Linux, MacOSX or Windows (CodeLite supports even more development platforms but not UE4 :D). The modified version of UBT will just create the workspace and project files you need for your specific platform. You can edit the UE4 and your Game projects files with a nice cross-platform editor.
Creates Workspace/Projects for Platforms/Targets with their configurations. CodeLite itself is cross platform. The modified version of UBT will create your project files for GNU/Linux, Mac and Windows platforms.
Start your game project within CodeLite.
Source Code Access within UE4Editor using the Plugin.
The full power off CodeLite
Sorry for the hackery feature list :D. Here is a Screenshot of the the Source Code Access Plugin:
It is in it’s first implementation and I am making good progress. Have to make some modifications and hopefully soon it will be ready for the first release. I will put more info about the progress on this post. Here a nooby VID: CodeLite support for Unreal Engine 4 on GNU/Linux - YouTube that demonstrates how it works on GNU/Linux. I try to make a better VID.
Yeah that is something I am trying out by myself too see what works good and what not. So far for me compared to the other IDE’s it works good and the configurations is better. Furthermore it is really easy to extend the functionality of CodeLite writing plugins. Almost everything possible
Virtual folders to organize platform source code visually. You will see Android, Linux, Mac, Windows, IOS subfolders as you can see in the picture above.
Added Custom Build Targets for “Cooking”/“Non Cooking” and “Cooking on the fly”. Means you can cook your project easy withing the CodeLite editor. Just select one of those 3 submenus
Game projects will have two targets Game and Editor. In Game the game will be started using your projects game binaries using cooked content. In Editor mode the game will start UE4Editor with the -game flag for uncooked starts.
Here another update of the CodeLite for Unreal Engine 4 support. I mentioned in the last post that CodeLite project folder hirerarchy (All projects of UE4) was showing only the following subfolders: Android, Linux, Mac, Windows, IOS. This got changed. It’s now not limited to only those. I will show the complete UE4 hierarchy as you can see in this picture:
Look great! but I can’t get it to work on windows. Have installed CodeLite and have the plugin enabled but it still doesn’t generated CodeLite workspace file. Have not been using CodeLite before so can very well be missing something simple.
1.Because most visual studio and others stuff are hard coded by epic in ue4 you have to either call the UnrealBuildTool with the -codelitefile parameter and/or modify your GenerateProjectfiles.bat and add it there. This will create the CodeLite workspace and project files.
2. The plugin is only to open c++ source files when double clicking c++ related assets in the editor. Unfortunately only Linux is supported at the moment
3. Because on windows ue4 hardcoded visual studio as default c++ ide ue4 editor will always try to use visual studio when generating new c++ projects in the project browser.
But nevertheless you can create CodeLite workspace and project files as described in 1. You can edit you code compile. You might be even able to debug but I never tried that on windows because I don’t have windows OS on my system.
OK, here some infos about the development of CodeLite IDE. At the moment Unreal Engine 4 IDE handling is quite “stiff”. For example a lot of stuff of the IDE handling are done in the following fashion:
// Do stuff using Visual Studio #elif PLATFOR_MAC
// Do stuff using XCode #endif
Well that means supporting multiple IDE’s on one platform needs a lot of changes. It’s not so easy to switch the IDE without hacking the code.
So far my patch was creating CodeLite workspace and project files. The full integration was done only for GNU/Linux. On other platforms you could manually create the workspace and project files and use it with CodeLite. With that you can do already quite a lot but to have the full development experience as supported for VS or XCode I had to make some changes. Here two possible ways:
To use CodeLite on other platforms either I had to replace those hacked areas with CodeLite stuff
or change the whole API for multiple IDE handling.
Well the first approach would be easy but that would mean you can’t really use Visual Studio or XCode easily anymore and a lot of users would get angry :D. The second is of course a better approach but takes more effort.
Nevertheless it took a bit of time but I choose the 2. approach of course. I almost finished the first implementation to support multiple IDE’s on one platform.
Here are my new extensions to my previous patch:
CodeLiteSourceCodeAccessor supports now Mac and Window platforms
Changed IDE handling in UE4 to support multiple IDE on a platform.
Great news !
Unreal Engine being to restrictive to Visual Studio on Windows has been one of my main dislikes with it and now it’s seams you are fixing it
By the way did try CodeLite one my Linux computer with Unreal and must say I am surprised of the super fast code completion in CodeLite.