CodeLite Source Code Access and Project File Generator for Unreal Engine 4

Hi folks and fellows

Not sure if this is the right place to post :slight_smile: 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.

Features:

  • 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 :smiley:

Sorry for the hackery feature list :D. Here is a Screenshot of the the Source Code Access Plugin:

In the following you can see Screenshots of CodeLite in action on different platforms using the Projects files UBT created. (My modified version of UBT for CodeLite).


And here you can see CodeLite and Code Completion in action:

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.

Hope you like it.

Great job! How does it compare to QtCreator and KDevelop in terms of memory and CPU load? I need to give it a try once I’m done with 4.8 stuff :slight_smile:

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 :smiley:

Hi folks here some information about the progress

I improved UBT so that the CodeLite projects files works on the Windows platform too:

New features:

  • 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 :smiley:
  • 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.
  • Some fixes

Hi UE4 fellows

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:

And as you can see in the title area that here I am working on another Slate/SDL2 UI PR for GNU/Linux that will hopefully fix more window related issues :smiley:

+1. Impressive IDE. It reminds me of Code::Blocks.

Top stuff ! I’ve had a play with CodeLite on the Mac as Xcode has its foibles & wondered if it would work for UE4 - like RCL I’d also like to give it a go.

Hi everyone

Today CodeLite support for UE4 got upstream. Now you can test/use CodeLite.

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.

Hi phelioz

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.

thanks for the explanation. Will definitely try it when I have some time over :slight_smile:

Hi fellows

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:

#if PLATFORM_WINDOWS
// 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:

  1. To use CodeLite on other platforms either I had to replace those hacked areas with CodeLite stuff
  2. 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 :slight_smile:
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.

May I ask how you made CodeLite use a dark theme (asking the important questions :p)? Or is that just how it looks on Linux?

Well I can switch my desktop theme as I wish on GNU/Linux :rolleyes: so its not CodeLite I changed.

I started a tutorial series about how to use CodeLite and UE4 on Linux so if someone is interessted, see here:

How is it going with the CodeLiteSourceCodeAccessor support on Mac and Window and the changes to multiple IDE handling?
Don’t wanna stress, you just really excited by those features :slight_smile:

I hope soon. I was just a bit busy lately. :smiley:

Hi

In windows 10 i receive an error when building. Here is the full output:

It is not a big problem though, i can still compile from UE Editor or VS.

Hi there

I don’t fully understand. What is that? Can you say what exactly you are doing?