A collection of Sublime Text 3 snippets for writing Unreal Engine 5 game code.
Some of these snippets assume that your project's source modules follow the convention of splitting source files into Public and Private subdirectories.
Project (.uproject)
- uuproj - Boilerplate .uproject file (e.g.
Project.uproject
)
Module (C#)
- umt - Define a project-level target rules file (e.g.
Source/Project.Target.cs
) - umb - Define a module-level build rules files (e.g.
Source/ProjectCore/ProjectCore.Build.cs
) - umh - Declare a module in its public header file (e.g.
Source/ProjectCore/Public/ProjectCore.h
) - umc - Define a module in its private cpp file (e.g.
Source/ProjectCore/Private/ProjectCore.cpp
) - umcp - Define the primary game module implementation (one per project)
Logging (C++)
- ulh - Declare a module-level log category in a module-private header (e.g.
Source/ProjectCore/Private/Log.h
) - ulc - Define a module-level log category in a cpp file (e.g.
Source/ProjectCore/Private/Log.cpp
) - ull - Write a single UE_LOG line using the module-level log category
- ulf - Write a single UE_LOG line at Fatal severity
Classes (C++)
- uco - Declare a UObject subclass
- ucc - Declare a UActorComponent subclass
- uca - Declare an AActor subclass
- ucs - Declare a UBlueprintFunctionLibrary subclass (i.e. a "statics" class)
- uci - Declare a UInterface subclass with associated native interface
Macros (C++)
- ume - Insert an export macro in a type definition
Properties (C++)
- upc - Declare a component UPROPERTY (Visible/ReadOnly in "Components" category)
- upe - Declare an editable UPROPERTY (Editable/ReadWrite in "" category)
- upv - Declare a visible UPROPERTY (Visible/ReadOnly in "" category)
Functions (C++)
- uff - Declare a BlueprintCallable member function
- ufs - Declare a BlueprintCallable static function with a WorldContextObject parameter
- ufi - Declare a pure virtual function in a native interface class
- ufc - Declare a constructor that accepts a const FObjectInitializer reference (in a class header)
- ufr - Define the implementation of GetLifetimeReplicatedProps (in an actor source file)
Example setup steps for creating a new Unreal C++ project from scratch:
- Create a root Unreal project directory: replace
Project
with your project name - Add
Project.uproj
, runuuproj
, populate with primary module name (e.g.ProjectCore
) - Add a
Source
directory - Within that directory, add
Project.Target.cs
, runumt
, enter primary module name - Add
ProjectEditor.Target.cs
the same way, set Type toTargetType.Editor
- If desired, add
ProjectServer.Target.cs
, set Type toTargetType.Server
- Add a subdirectory for the primary module, e.g.
ProjectCore
- Within that directory, add
ProjectCore.Build.cs
, runumb
- Add two subdirectories,
Public
andPrivate
- Within Public, add
ProjectCore.h
, runumh
- Within Private, add
ProjectCore.cpp
, runumcp
- Within Private, add
Log.h
, runulh
- Within Private, add
Log.cpp
, runulc
At this point, you should be able to build your project and open it with the version of UE4Editor that you've built against.