
Learn to create custom ed messages, menu entries, slave widgets, and custom ed hotkeys, and extend modules like the content browser and level editor in Unreal Engine 5 C++.
Create an empty Unreal project with C++ and a test map, then set the test map as the default editor start map to prepare for building custom editor tools.
Explore how modules act as Unreal Engine's building blocks and learn to create an empty editor plugin, set up a build file, and declare dependencies to extend the editor.
Explore building three custom editor tools for assets: auto prefixing, batch duplication, and selective removal and reuse from selection, plus custom editor messages and dynamic module loading to fix redirects.
Learn to implement asset and actor actions in Unreal Engine 5 c++, by deriving from asset action utility and adding a right-click editor button.
Create a debug header in the plugin's public folder to print on-screen messages and logs, using a print function with a const FString and an FColor and a lock function.
Create a custom Unreal Engine 5 C++ editor tool that duplicates selected assets, using the Editor Utility Library and Editor Asset Library, and manage asset data, object and package paths.
Explore how to build custom editor tools in Unreal Engine 5 C++ by implementing message dialogs and editor notifications to validate input, warn users, and control asset duplication.
Develop a custom editor tool in Unreal Engine 5 C++ to automatically prefix assets by using a class-to-prefix map, selecting assets, and renaming them with the rename asset function.
Solve a coding challenge to automatically remove underscores from material instance prefixes in Unreal Engine 5 C++, using f string helpers to remove start and end text.
Learn to identify unused assets from your selection using find package references for asset, then delete them safely with editor tools and object tools, with user confirmation and success messages.
Learn to fix up redirectors from code in Unreal Engine 5 by using the Asset Registry and Asset Tools modules to filter assets and call fix up references.
Highlight editor tools for wrap-up: auto prefixing, batch duplication, and removing assets from selection, with notifications and dialogs, and preview a menu entry for cleaning unused assets with one click.
Create two custom content browser menu entries to delete and use assets and delete empty folders, and learn delegates, macros for declaring delegates, and binding member functions.
Learn to create and bind delegates in Unreal Engine 5 C++, enabling editor tooling. Bind single delegates to member functions and declare with the macro for up to eight parameters.
Create a custom editor menu entry by loading the content browser module, wiring a delegate, and binding it to a member function with a title, icon, and optional hotkeys.
Load the content browser module and extend the content browser menu extenders with a custom delegate to add a right-click folder entry, organizing code with regions and binding the delegate.
Bind three functions to create a custom editor menu in unreal engine 5 c++ by wiring a delegate, an F extender with an extension hook, and a menu extension delegate.
Learn to build custom editor tools that search a selected folder, list assets with the Editor Asset Library, and delete unused assets.
Fix up redirectors from code before deleting unused assets to safely clean up projects, using Asset Registry and Asset Tools modules to filter and fix redirectors.
Recap on creating a custom menu entry in Unreal Engine 5 C++ using menu extenders and delegates, and safely deleting unused assets with folder filtering.
Learn how to extend Unreal Engine 5 editor with custom editor tools by adding a delete empty folders menu entry, wiring a handler, and validating with a screen print.
Learn to search for and delete empty folders in Unreal Engine 5 C++ through editor tools, using the editor library to list assets, check directories, confirm deletions, and delete directories.
Create two custom menu entries to delete unused assets and empty folders, using delegates to extend Unreal Engine 5 editor with C++ for building custom editor tools and widgets.
Create a custom editor tab to display all or unused assets from a selected folder with listing conditions, and learn to spawn text block, list view, and checkbox widgets.
Explore slate code used to extend the editor interface and its slate widgets. Understand the three challenges—unique syntax, visualization, and communication between modules.
Explore smart pointers in Unreal Engine 5 C++, including shared pointers, shared references, and weak pointers, and how they manage memory and interact with garbage collection.
Build slate widget editor tab to display and filter assets in a folder, delete items from the list, spawn tab via advanced deletion entry, and reveal assets in content browser.
Register a custom editor tab with the global tab manager, bind its content, and invoke it from a menu entry to spawn and test the tab in the editor.
Create an editor slate widget class in the editor module to display assets, deriving from the compound widget and using slate_begin_x and slate_args with a construct function accepting FArguments.
Pass data to a custom slate widget by defining an argument with a macro and constructing the widget. Use square brackets for slots and display the argument.
Set up a basic layout for a custom slate widget using vertical and horizontal boxes, and text blocks with slots; adjust font, size, justification, and color.
Explore sending asset data to a slate widget in Unreal Engine 5 C++, building an editor UI with slots and a list view using TSharedPtr of asset data.
Construct an SListView in Unreal Engine 5 C++ by binding a TArray of shared pointer of asset data to a list view. Implement on generate row to display asset names.
Master creating a scrollable asset list in Unreal Engine editor tools by building a reusable checkbox row in a horizontal box and handling check state changes to manage asset selection.
Add checkboxes and display the asset class name and asset name per row. Create a reusable text block constructor and font getter for consistent, adjustable text with proper alignment.
Add a custom SButton to each asset row, wire its on clicked event, and display the clicked asset name with layout and padding adjustments.
Delete a single asset by clicking the button, routing to the Super Manager module with a one-element asset data array, and refresh the list on a successful deletion.
Hold a reference to the constructed asset list view, remove the deleted asset from the list source items, and call rebuild list to refresh the SListView.
Add three bottom editor buttons—delete all, select all, and like all—to the Unreal Engine 5 widget, with separate constructors, shared text styling, and on-click debug messaging.
Learn to delete all selected assets by collecting checked items into a delete array, validating selection, and invoking a module to remove multiple assets, then refresh the asset list.
Implement select all and deselect all in a custom Unreal Engine 5 C++ editor tool using a checkboxes array to update assets to delete and test in the editor.
Create a combo box to filter assets by listing condition. Configure options source, on generate widget, and selection changed, and bind a text block with as assigned new.
Learn to filter editor assets by a combo box to show unused assets in the list view, using a displayed assets data array and a dedicated filter module.
List unused assets in a folder, delete selected items, and keep the asset lists in sync by updating stored and displayed data, while automatically fixing redirectors during listing.
Explore listing assets with the same name across an Unreal Engine 5 project using a multimap, adding a dropdown option to filter by name in the content browser.
In unreal engine 5 c++, learn to list assets with the same name by adding a dropdown option and a multi map based listing.
Learn to sync the content browser to a clicked asset by wiring a row widget mouse button click to collect data, update the list, and open the asset location.
Learn to add contextual help texts to a custom Unreal editor tab by creating text blocks, setting width and justification, and displaying the current folder path.
Build a custom editor tab in Unreal Engine 5 C++ with slate code to list assets and host widgets like combo boxes, plus explore debug tools and widget reflector.
Add custom icons to all custom menu entries and the editor tab. Register icons with the static keyword in a separate class, and apply them via a slave style set.
Place icons in the plugin resources folder and register them for custom menu entries. Create a style class, include the slate style header, and compile to complete the icon setup.
Learn how the static keyword governs visibility and shared state in Unreal Engine 5 C++ editor tools, comparing static outside a class with static inside a class and icon initialization.
Learn to register custom editor icons in unreal engine 5 c++ by creating a slate style set, loading icons, setting names and sizes, and registering through the slate registry.
Initialize and apply custom slate icons to menu entries and tabs in Unreal Engine 5 C++, wiring icons via style set name and style name, and updating the editor UI.
Automate material creation in Unreal Engine 5 with code and editor utility widgets, creating texture nodes and connecting pins, including channel textures.
Create materials from code with a button that auto-creates assets and wires nodes. Learn to use an editor utility widget to generate editor tabs with blueprint-exposed controls.
Expose c++ variables to an editor utility widget and create a blueprint-callable function to build a material from selected textures.
Learn to create materials in unreal engine by validating material names, gathering selected textures and package paths, preventing name conflicts, and wiring nodes and pins to build a usable material.
Retrieve and filter editor selections using the editor utility library, extract textures, validate assets, and derive the material folder and names for Unreal Engine 5 C++, including t_ removal and m_ prefix.
Implement a name check to prevent duplicate material names by listing assets in the folder, extracting base file names, and warning when a match is found.
Create a material asset from code by loading the asset tools module, constructing a material factory with NewObject, and returning a material asset for editor use.
Connect base color, roughness, normal, and ambient occlusion textures to the correct material sockets using fixed naming or configurable arrays, and expose these texture name arrays in the editor.
Add a scroll box to the editor utility widget, then implement looped texture processing to create material nodes and connect texture samples to the base color socket, including position adjustments.
Create a metallic texture node in Unreal Engine 5 C++, configuring texture compression and sample type, connecting pins, and using master material presets as references.
Create additional texture nodes for roughness, normal, and ambient occlusion, wire them into the corresponding sockets, and set texture compression settings and sampler type per the MMS preset defaults.
Unreal Engine 5 C++ creates extra material nodes by implementing tri connect functions for roughness, normal, and ambient occlusion, linking textures to sockets and resetting the material name for reuse.
Create a channel packed texture in Unreal Engine 5 using an enum to switch packing mode, set compression to masks, and map red, green, blue to ambient occlusion, roughness, metallic.
Learn to automate Unreal Engine 5 editor tools by creating materials with/without channel packs, use a boolean to trigger material instance creation via Asset Tools with a my_ naming convention.
Create a material instance from a material in Unreal Engine 5 using C++, wiring a boolean trigger to generate the instance and ensure proper naming.
Learn to create materials from code and material instances from a master material, and perform asset actions—prefixes, remove unused, duplicate, and delete empty folders via an advanced deletion tab.
Explore the editor subsystem and editor utility widget to enable batch selection, duplication, and transform variation for faster kitbashing in the level. Randomize rotation, offset, and scale.
Automate editor actor tasks using the editor actor subsystem, including getting selected and all level actors, by building an editor utility widget and accessing the subsystem with g editor.
Develop a custom editor tool in Unreal Engine 5 C++ to batch select actors by similar names, leveraging the editor actor subsystem, actor labels, and blueprint callable functions.
Create an editor tool in Unreal Engine 5 C++ to duplicate selected actors along the x, y, or z axis with configurable count and offset distance.
Learn to implement a button that randomizes actor rotation in the editor, enabling per-axis variation and user-specified controls to break uniform duplication of static matches.
Learn to implement a blueprint callable editor tool in Unreal Engine 5 C++ that randomizes actor rotation with axis options and structured details view exposure.
Develop custom editor tools in Unreal Engine 5 C++, enabling random rotation and now adding offset and scale variation with a single button, using the range function.
Learn to build a custom editor tool in Unreal Engine 5 C++ that randomizes actor scale and offset with min/max values and boolean toggles for one-click variation.
Use editor, actor, subsystem, and editor utility widget to automate repetitive tasks, including batch selection, duplication, render and transform variation, and one-click property updates.
Extend Unreal Engine 5 level editor by implementing an after-selection log in custom level editor menu entries and binding select object events to manage the selection on a locked actor.
Build custom level editor menu entries to lock and unlock actor selection, extending the level viewport menu extenders with delegates and startup module integration.
Bind a custom function to the editor's select object event to control actor selection in Unreal Engine 5 C++. Print clicked actor names and labels to verify the selection logic.
Learn to implement a selection lock in Unreal Engine 5 by tagging selected actors; use a custom menu entry to add or remove the tag, controlling actor selection.
Learn to implement selection lock in unreal engine 5 c++ by adding and removing a lock tag on actors, utilizing the editor actor subsystem, and providing user feedback.
Add icons for two level editor menu entries by placing icons in the resources folder, updating the style, and assigning the icons to the lock and unlock selection actions.
Wraps up the section by showing how to add custom menu entries in the level editor with code and hints at editor hotkeys for selections in the next section.
Create custom editor hotkeys in Unreal Engine 5 C++ to trigger active selection and unlock actor selection. Use keyboard shortcuts to toggle and remove the selection lock.
Learn how to create and register custom editor hotkeys in Unreal Engine 5 via a UI commands class, including info text, function binding, and merging with existing hotkeys.
Learn to set up and register custom editor hot keys in Unreal Engine 5 C++, using UI command macros and key bindings to trigger lock and unlock actions.
Create a UI command list and map actions to bind custom editor hotkeys in Unreal Engine 5 C++. Append commands to existing editor commands and test hotkeys in the editor.
Register custom editor UI commands and hotkeys in Unreal Engine 5 C++, trigger a selection log, and manage resources with a static function, setting up future editor enhancements.
Extend the Unreal Engine 5 world outliner with a custom column to manage and sync the selection lock, and build a header row widget and an outliner icon button.
Extend the Unreal Engine world outliner by adding a custom alignment column that shows selection log and lock status and syncs with the aligner through its header and row widgets.
Construct the header row by building a custom header column, set fixed width, center alignment, tooltip, and image brush, then register the column in the scene aligner module.
Create and configure row widgets using the as new macro to add checkboxes that reflect and sync actor lock status, with edge align center and visible by default.
Cast the tree item to FActorTreeItem to access level actors and sync checkboxes with their log status, using the super manager module to lock selections on checkbox state changes.
Refresh the scene aligner by syncing the selection log with the level editor extension, using hotkeys to trigger the refresh and verify with compile and test.
Replace checkbox visuals with a toggle button by creating a custom checkbox style, defining images and colors for checked, unchecked, hover, and press states to show the selection lock.
Extend the Unreal editor by registering a default column type via an aligner extension, load modules, and package a portable plugin to manage assets and actors in a tree view.
Learn everything that you need to know for extending Unreal's editor and create custom menu entries, slate widgets, extend world outliner, register custom icons and much more for boosting your efficiency that your project and your team needs.
In the first part of the course, we’ll focus on the actions to assets and we’ll begin with exploring the existing scripting libraries like UEditorAssetLibrary and UEditirUtilityLibrary in Unreal to help us to achieve some basic quick asset actions.
Then we'll look at how to add in our custom menu entries to help us search and delete unused assets and delete empty folders when we right mouse button click a folder. With the ability like this, we'll then dive into slate and create different slate widgets in a custom editor tab that we registered. We'll also cover how to use EditorUtilityWidgets and create our own algorithms to help us quickly create materials from code.
In the second part of the course, we’re going to use the combination of EditorUtilityWidgets and EditorActorSubsystem to help us achieve actor batch selection, actor batch duplication, and randomize actor transform. Then we’ll use the skills and knowledge we learned to create actor selection lock through extending level editor actor menu, custom editor hot keys and extending world outliner.
After this course, you will be able to create any custom editor tools that you or your team needs for better efficiency when working inside of Unreal.