Availability:Public Title:C++ Class Wizard Crumbs: %ROOT%, Programming, Programming\Development Description:An overview of the C++ Class Wizard in UE4. Version: 4.16 Parent:Programming/Development/ManagingGameCode Order: type:overview %Globals:OSSelect% [EXCERPT:main] The **C++ Class Wizard** provides a fast and easy way to add native C++ code classes into your project for you to extend with your own functionality, if you wish. This converts a content-only project into a code project. You can access the C++ Class Wizard like so: [REGION:note] Please make sure you are running Visual Studio 2015 or higher for Windows Desktop installed before proceeding. If you are using Mac, make sure to have Xcode 8 or higher installed. [/REGION:note] 1. In the main editor, select **File > New C++ Class...** ![](FileCPP.png) 1. The **C++ Class Wizard** will appear, showing commonly added classes. If you do not see the class you are looking for, then you will need to view the entire Class hierarchy listing. Click the **Show All Classes** checkbox in the upper-right corner of the window. [REGION:imagetable] | [REGION:lightbox][![](CppClassWizard.png)(w:430)](CppClassWizard.png)[/REGION] | [REGION:lightbox][![](AllClasses.png)(w:430)](AllClasses.png)[/REGION] | | :---: | :---: | | Default Classes | All Classes | [/REGION] Choose the Class you wish to add and click the **Next >** button. 1. You will then be prompted to enter a **Name** for your new Class. Do so and click the **Create Class** button. This will create the header (.h) and source (.cpp) files. [REGION:lightbox] [![](NameNewActor.png)(w:600)](NameNewActor.png) [/REGION] [REGION:note] Class names may only contain alphanumeric characters and cannot contain spaces. The field will notify you if you enter an invalid name. [/REGION] 1. [OBJECT:ToggleButtonContent] [PARAMLITERAL:category] OS [/PARAMLITERAL] [PARAMLITERAL:id] windows [/PARAMLITERAL] [PARAMLITERAL:active] active_button_content [/PARAMLITERAL] [PARAM:content] The code will immediately open in Visual Studio, ready for editing. ![](CodeEditing.png) [/PARAM] [/OBJECT] [OBJECT:ToggleButtonContent] [PARAMLITERAL:category] OS [/PARAMLITERAL] [PARAMLITERAL:id] mac [/PARAMLITERAL] [PARAMLITERAL:active] [/PARAMLITERAL] [PARAM:content] The code will immediately open in Xcode, ready for editing. ![](CodeEditing_xcode.png) [/PARAM] [/OBJECT] [PUBLISH:Licensee] For instructions on compiling your Class when finished editing, please see [](Programming\Development\BuildingUnrealEngine). [/PUBLISH:Licensee] [PUBLISH:Rocket] For instructions on compiling your Class when finished editing, please see [the Compiling Projects documentation.](Programming\Development\CompilingProjects) [/PUBLISH:Rocket] [/EXCERPT:main] ## Related Topics * [](Programming\Development\VisualStudioSetup) * [](Programming\Development\CodingStandard) * [](Programming\Development\BuildingUnrealEngine) * [](Programming\Development\CompilingProjects)