Editor instead of IDE

Hi guys,

noob calling again.

I am currently cloning the repository (switch from download of zip file) and while that and the subsequent setup und compilation runs (yawn) I can as well ask a few more noob questions.

Can I use a simple editor for C++ files ? Outside of the editor, I mean.
Does the engine compile independently ? Or will I have to compile outside of the engine ? (can live with both, just a question to know what awaits me)
Am I restricted to clang ? I don’t want to mess up my environment (even more) …

What I realized is that starting the editor and creating a project takes minutes (somewhat elderly machine, I7 6500, 16 GBDDR4, 7200rpm HD). Somewhere I read that recompiling a simple project can take 30min. That’s one looong coffee break, isn’t it ?

Are compilation times really that employee friendly ?


Edit: I am on Debian Linux, sorry for not mentioning.

Assuming you’re on Windows:
You need to install Visual Studio Community Edition to get the compilers needed to build.
However, you do not need to use Visual Studio to actually edit the code – use whatever editor you want.

Some editors (like VS Code) have good integration with building VS solution files; others not as much, but there’s always the “compile and reload” button in the task bar in the main editor, which will trigger a rebuild, and reload the code if it worked, or print the errors if it didn’t.

1 Like

Thanks, yeah I forgot to mention which riverbank I’m from.

I think your answer covers that part, I do not need to use an IDE, I can use any texteditor, and compilation is done from within the Unreal editor.

GCC compilers are included in the basic Linux build package. But Unreal schlepps clang with it, right ? I gues I must simply try out if GCC works.

I use Linux, and use vim as my editor. It works perfectly. When I’m in the editor, I use the Compile button, and when I’m outside the editor, I use the make ... command in my project root to compile it. All of the compilation settings are set up for make, so you just need to run make YourProjectNameEditor to compile it outside the editor. Note: compiling outside the editor will require an editor restart for the changes to work, while inside the editor it does a “HotReload” after compilation to reload the new binaries.

1 Like

Yeah, on Linux it generates makefiles with cmake.
Anything that can call a makefile can be used at that point.
Possibly even all our favorite Linux editor: Nano! :duck:

Good to hear. Yep, the Linux dilemma. Too much software to choose from. Game engines and render frameworks included. :sunglasses:

Nano is cool. For those who came too late to the party for vi and emacs :slight_smile:

Just kidding.

Sorry for a bit of necroing but wanted to share this awesome video: Unreal Engine C++ Project Setup, From Scratch - YouTube (keyed to specific part though the whole video is interesting). It goes over using a text editor (Sublime in this case) and the point I didnt see anyone mention: tutorial on using Unreal Build Tool with batch files for convenience from cmd line.

1 Like

Thanks for posting, but I am on Linux, and visual studio is not an option for me.

Those videos (and the help/tutorials that come with the engine) assume the engine is configured and installed correctly and knows its components. But there’s no documentation on how to do or verify that setup.

I found quite a few related problems, where adding a class to a project or creating a new project on Linux fails. The best guess I found is that environment variables aren’t read or observed correctly and thus the engine or parts of it like the project manager don’t find components or think they aren’t up to date. This may depend on the Linux flavour/distribution, idk, but I already invested too much time in this and lost confidence.

Some actions whithin the editor also take too much time (several minutes to tens of minutes) for fluent work.

generates makefiles with cmake

{shudder} Cmake is a powerful tool, but that’s a syntax only a mother could love. :slight_smile:

not sure if Rider would be an option on Linux