Using CLion with Unreal 4

I just installed Unreal Engine 4 on Linux, and would prefer to use CLion for editing code. Since CLion has been released I’m thinking it might be possible to use CLion now. I managed to set the LinuxEngine.ini to use SublimeText. That seems to be working so far. Does anyone know of any plugins or how I’d edit LInuxEngine.ini to use CLion?

I have written a CLion source code accessor and it needs just a bit more love before I let it go… :slight_smile:

Once it’s online I’ll update the Wiki here A new, community-hosted Unreal Engine Wiki - Announcements - Unreal Engine Forums

1 Like

Thanks so much.

Please update your answer once you do. I’m really looking forward to this!

I’ll put up in my repo (3dluvr · GitHub) what I have done so far and then go from there.

Things that are missing are related to various configurations (Debug, Development, Release…) but they probably belong to UBT and not the code accessor.

Fantastic, looking forward to testing it!

Any updates on this? I am looking forward to a solution.

What’s about your tutorial? I haven’t idea that configure Unreal for CLion, i’m working in Linux and i want work with CLion.

Any updates?)

I have noticed this plugin on JetBrains Plugin Repository: Unreal Engine 4 SDK Support - IntelliJ IDEs Plugin | Marketplace

Worth a try.

Any update on this?

Is there any update to this, or at least a general track of improvements needed for CLion support?

I have written a blog post on this Linux Unreal Engine game development pitfalls & resolutions Corne lukken – dantalion

What it boils down to is instructing UnrealBuildTool to generate cmakefiles afterwards opening the project in Clion will then work like a charm. Be sure to check the correct make targets such as ProjectNameEditor-Linux-Debug and ProjectName-Linux-Debug otherwise debugging with gdb won’t work.

mono UnrealBuildTool -cmakefile -project=”/your_project_path/your_project.uproject” -game -engine -progress

Clion and UnrealEngine now work very well together. Use the UnrealBuildTool to generate cmakefiles and then just open the folder with Clion.
mono UnrealBuildTool.exe -cmakefile -project=”/your_project_path/your_project.uproject” -game -engine -progress

For more resolutions to pitfalls on UnrealEngine with Linux I have written a small blog post for that Linux Unreal Engine game development pitfalls & resolutions Corne lukken – dantalion

Just use my tutorial that I made last November. It still works with all current builds.

Building on CLion UE4 for Linux Tutorial v1.1

Hello, hopefully I am not too late to reply. I’ve been experimenting with Clion and have so far gotten it to work just as well as compiling Linux on Mac with xcode. The instructions are very similar, although you will need to make some adjustments.

To build UE4 on linux, you will need to first generate the CMakeFile.txt using the “./GenerateProjectFiles.sh” command with the terminal.

Afterwards, open the project (the Unreal Engine folder) with Clion. It will then proceed to scan and index the files, once that is done, you will need to configure the build. On the top dropdown menu that shows all the build Targets, first select ShaderCompilerWorker. Configure the settings so that the executable is FakeTarget and the working directory is the root folder of your UnrealEngine. For right now, ignore filling in the ProgramArguments field.

Next, you want to click the build button and let it finish building ShaderCompilerWorker. It will scan the dependencies and build the module. After it finishes, it says that it will begin scanning for dependencies for FakeTarget. At this point, you can go ahead and click the stop button (near bottom left corner red square button). This will stop the build and let you continue onto the next step.

Once it stops, go back to the top drop down menu and select UE4Editor. Then Edit the Configurations, you will again need to put the same settings from before. Select FakeTarget as executable, directory as your UnrealEngine root folder. Leave ProgramArgument empty for right now. Then start the build. It will finish and you will need to stop the build once it starts scanning dependencies for FakeTarget.

Finally, once the build is stopped, go back to edit configurations for UE4Editor and change the executable to UE4Editor found in /Engine/Binaries/Linux.

If you want to build and compile your project, then you must, either use this command or create the CmakeFile from the editor.

 $ ./GenerateProjectFiles.sh -project="/home/user/Documents/Unreal Projects/MyProject/MyProject.uproject" -game -engine

To create the CmakeFile from the editor, go to plugins and make sure that CLion is turned on. Afterwards, go to your Editor Preferences, select the “Source Code” tab, and in the dropdown menu select CLion. Lastly, in the File Menu, you should now see the option to “Refresh Clion”. This will generate the Cmakefiles. Also you will see the option “Open Clion”. Depending on how you installed Clion, to run CLion from the editor you may need to modify the file “Engine/Plugins/Developer/CLionSourceCodeAccess/Source/CLionSourceCodeAcess/Private/CLionSourceCodeAccessor.cpp”.

Replace “/opt/clion/bin/clion.sh” with your install location.

     // Linux Default Install
     if(FPaths::FileExists(TEXT("/opt/clion/bin/clion.sh")))
     {
         return TEXT("/opt/clion/bin/clion.sh");
     }

By following this tutorial it will create a bare bones light UE4 editor. I am not certain if these instructions have equivalent results to those on “the building for Macs” instructions, but I have found that they work and if you need to compile the other modules, you can either follow similar steps to those above or simply compile the rest using the traditional “make” command in the terminal. But this will allow Linux users to build, test, and compile UE4 using the CLion IDE instead of only relying on Visual Studios.

I have tested this to work on UE4.15 and UE4.22, will most likely work with all versions in between although the in Editor menus for CLion differ. Also for older versions of UE4 you may need to manually add these lines in order for Cmake to compile the engine with Clang thus solve the GCC error you’re receiving. And yes, I know it says clang+±6.0, but for some reason that is how you activate the Linux ToolChain that comes with the engine and it will automatically select the correct version of Clang.

Add these lines to your CMakeTextLists.txt in order to compiler UE4 versions older than 4.18

 # CMake Flags
 set(CMAKE_CXX_STANDARD 14)
 set(CMAKE_CXX_USE_RESPONSE_FILE_FOR_OBJECTS 1 CACHE BOOL "" FORCE)
 set(CMAKE_CXX_USE_RESPONSE_FILE_FOR_INCLUDES 1 CACHE BOOL "" FORCE)
 
 set(CMAKE_CXX_COMPILER /usr/bin/clang++-6.0)

When opening your Unreal Project, you will need to configure the run configuration. For the executable, select the UE4Editor which is found inside the directory “/Engine/Binaries/Linux”. For ProgramArgument put your Unreal Project,

"/home/user/Documents/Unreal Projects/MyProject/MyProject.uproject"

For working directory, use the directory of your project.