Please note that I am running this setup with the following app / os versions but with some minor tweaks this should be transferable to macOS and linux.
- Unreal Engine 4.20.3
- CLion 2018.2
- Windows 10
In order to get unreal going with CLion you need to do a few things
- Ensure that you either have Visual Studio Community 2017 installed or alternatively just the Visual Studio Build Tools as you need something to still compile the code.
- CLion should automagically recognize what you have installed and assign the correct compiler configurations
- Download the latest and greatest version of CLion
- Once installed / setup open it up and navigate to the plugins panel ( Settings -> Plugins )
- Install the Unreal Engine SDK Support Plugin
- This plugin includes auto completion features for property / reflection specifiers
- Open Unreal Editor ( source or binary doesn’t matter )
- Go to Edit -> Editor Preferences
- Then go to General -> Source Code -> Source Code Editor and select CLion
- Once this is done you should now be able to generate a new CLion project using File -> Generate CLion Project
- This generation step will take a few seconds to complete
- Once complete you should restart Unreal Editor before opening up CLion
- NOTE: not sure why this occurs but generating the project and launching it immediately does not correctly configure it. I found that making adjustments to the CMakeLists.txt file and setting the build process to Release prior to launching CLion seems to clear up a lot of things. See below for details.
- To open up CLion go to File -> Open CLion
At this point Unreal should be launching CLion and presenting you with your project structure that looks similar to this.
Almost there, we just have a few more things to complete before you are able to get back to building your game:
- Ensure that you are picking your Project + Editor as your Build Target. This is so you can compile in CLion and get hot swapping in Unreal Editor.
- Alternatively if you are building different targets make sure those are selected.
- Ensure that you mark your Source folder as part of CLion project definitions so intellisense / autocomplete works correctly
- This is not required but helps with navigating your project
That’s it !
And that is it as far as configuration goes. You should be able to build your project using CTRL + F9 and see your changes reflected in the Unreal Editor / your game.
The compile times are similar to Visual Studio but the richness of the CLion tool suite makes development a lot easier to traverse. Specifically have a look at the various shortcuts that come with CLion.
There are a handful of issues I ran into while compiling this article. If you come across anything similar here are a few instructions that should hopefully help.
Dealing with invalid CMakeLists.txt file
The CMakeLists.txt file when generated by Unreal sometimes will contain non escaped backslashes, \ vs \\ , which will have to be adjusted manually.
Command line error D8049
Deleting CLion references and changing back to a different editor
In case you are not happy with CLion and want to revert things back to use Visual Studio I recommend cleaning up the files the CLion integration generated.
Specifically the following folders / files inside of your root project:
.idea/ cmake-build-debug/ cmake-build-release/ Intermediate/ProjectFiles/*.cmake CMakeLists.txt
Once this is complete you simply follow the initial set of instructions but instead of picking CLion just select Visual Studio. This should then give you the option to re-generate the Visual Studio project within Unreal Editor ( File -> Refresh / Generate Visual Studio Project )