
Explore how to extend Unity with the built-in editor scripting API to automate repetitive tasks and build custom tools for a 2D platformer, improving your development workflow.
Learn to use Unity's editor scripting API to automate tasks and customize the editor, including tools like the easy object modifier that replaces objects with a prefab while preserving position.
Create a Hello World GameObject from the Unity editor menu, observe the creation dialog, and learn to place editor scripts in an editor folder to avoid including them in builds.
Create and analyze a test level in a simple 2d platformer to explore editor scripting, using level pieces and prefabs, a level handler scene, and additive scene loading.
Demonstrate level creation by duplicating scene elements, placing the player and props, setting level properties and backgrounds, and introducing a canvas or brush metaphor level creator with grid snapping.
Create a Unity level creator tool by generating a new scene via code, adding a level object with a level script, and exposing a menu item to automate level setup.
Explore editor scripting in Unity by creating a new level workflow that saves, loads, and clears scenes using editor scene managers and a new level menu item.
Explore the gizmos class to render visual aids in the scene view, including grids and icons, to debug and position level piece prefabs precisely.
Explore how to use the Gizmos class in Unity to draw and customize editor visuals with OnDrawGizmos and OnDrawGizmosSelected, including setting colors, icons, and simple cubes.
Learn to render gizmos with a dedicated editor script and the draw gizmo attribute, using a target example to display a cube at the target's position.
Utilize the gizmos class to draw cubes, spheres, and wire cubes or spheres with on draw gizmos, using center and size vectors, while separating editor scripts from game code.
Master editor scripting in Unity by drawing lines, icons, textures, and frustums with gizmos, using Gizmos.drawLine and Gizmos.drawIcon, and organizing assets in a gizmos folder.
demonstrates drawing textures and gui textures with the gizmos class, including screen rect and optional borders, and drawing a camera frustum using center, fov, min range, max range, and aspect.
Implement a gizmo grid in the level class by adding total columns and rows and grid size, and use gizmo drawing methods to visualize level piece prefabs in Unity.
Explore how to create and render a dynamic grid in Unity using gizmos, drawing lines for the grid and frame, handling color and transform with on draw gizmos.
Implement grid snapping and coordinate conversion in the levels.cs script by adding world to grid and grid to world functions, plus grid bounds checks for 2d level prefabs.
Develop a snap-to-grid script that uses world-to-grid and grid-to-world conversions, and visualize the grid with color-coded gizmos in edit mode to verify proper snapping.
Master custom inspectors in Unity using the Unity Editor API, the Custom Editor attribute, and serialized objects and properties to expose and organize level data in the inspector.
Learn to build a custom inspector in Unity by extending the editor class, overriding inspector GUI, using target or targets, and rendering a data-driven inspector with draw default inspector.
Create and refine a Unity custom inspector to validate inputs, constrain ranges, and manage level resizing by rebuilding the pieces array with editor-only methods and object fields.
Learn to build custom inspectors in Unity using serialized objects and properties, manage total time and pieces arrays, and implement a level creator with editor GUI tools.
Explore how to design complex editor interfaces in Unity using the editor gui layout class, mastering begin horizontal and vertical blocks, nesting, and practical draw level size examples.
Explore decorator drawers to control the inspector GUI with property drawers in Unity, using range and multi-line attributes to render sliders and text areas.
Explore decorator drawers and built-in property drawers in the inspector, using context menu attributes, header groups, spacing, and tooltips to organize and access editor scripts in Unity.
Create a custom property drawer in Unity to render a serializable int seconds field in the inspector, with hms or m:s time formats via a time attribute and editor script.
Explore creating a Unity editor time attribute and custom property drawers to display total seconds as hours, minutes, and seconds using Editor GUI, serialized properties, and custom inspectors.
Initialize the level inspector using serialized objects and properties to edit total time and pieces, while leveraging custom editors, inspector GUI, and GUI layout for Unity level creation.
Create an editor window palette in Unity by deriving from the editor window class and using get window for a singleton palette, showing level piece prefabs for level creator tool.
Extend the Unity editor by creating a palette window and wiring hotkeys for quick access. Categorize palette items with a simple category script to organize level piece prefabs.
Learn to retrieve prefabs by script using a generic GetAssetsWithScript in the editor utils, leveraging asset database to locate, load, and collect level pieces for a GUI palette.
Create a custom GUI in the Unity editor by adding a tabbed palette window that uses category labels to filter and display the selected category's level piece prefabs.
Assign items to categories and implement a scrollable area with a selection grid, handling empty categories and generating previews via asset preview for the palette.
Create a tabbed palette in the Unity editor by moving preview generation to the update method and building gui content for a selection grid from categorized items.
Define a delegate and a static item selected event, trigger it when a palette piece is chosen, and subscribe in the level inspector to update the piece and its preview.
Subscribe to the palette window item selected event and update the current piece in the inspector, then render the piece preview with editor GUI layout and label fields.
Mastering editor scripting in Unity shows how to customize the scene view for a level creator tool with on scene GUI, handles, and four modes to manage level piece prefabs.
Master editor scripting in Unity by building draw mode GUI in the scene view, managing tools, modes, and 2D constraints for painting and erasing.
Detect and handle scene view events with Unity's event class, capture mouse position, convert to world and grid coordinates, and implement paint, erase, and edit actions in the level inspector.
Learn how editor scripting handles mouse events across multiple modes to paint, edit, erase, and view a level grid by instantiating prefabs, destroying pieces, and updating coordinates.
Master editor scripting by using the level creator to paint grass on a grid, erase mistakes, and customize level pieces through the inspector and interactive sign prefab.
Master palette item editing in Unity by managing item inspected, validating grid bounds, and repainting the level inspector with a custom editor via Editor.CreateEditor for live, mode-driven inspection.
Extend Unity edit mode by using the handles class to reallocate piece positions on a grid, track original positions, and update transforms via scene view handles and GUI methods.
Learn to extend the Unity editor with the Handles class to build a scene GUI for a level creator, apply hide flags to control visibility and editing, and handle events.
Enhance the Unity editor by applying GUI styles and skins to customize the level editor and palette window, creating a dedicated title style with centered alignment and a larger font.
Create a resources folder, load a background texture and font with resources.load, and apply a GUI style to a label; design palette tabs with normal, hover, and selected states.
Explore how to implement tabbed GUI styling in Unity by creating and configuring GUIStyle states, loading textures and fonts, and applying a custom skin to render the toolbar tabs.
Create and apply a Unity GUI skin asset to style the level creator interface. Load skins via resources, customize fonts and textures, and refactor the Level Inspector for editor styling.
Create level settings using scriptable objects to save data persistently, create an asset from the level settings class, and integrate it with the level class for play mode gravity testing.
Create and use Unity scriptable objects to store level settings like gravity, bgm, and background; generate assets with editor scripts and reference them from level classes.
Add a serialized level settings scriptable object and a public settings property to the level class, and use the custom inspector to edit gravity, bgm, and background.
Tweak level settings in play mode, adjust gravity and platform layouts, and explore using scriptable objects to store, serialize, and swap configuration data while the game runs.
Automate asset imports in Unity with the asset processor API by implementing pre- and post-process texture handlers; package the scripts in a DLL for reliable editor integration.
Extend Unity editor scripting by implementing a pre-process pipeline that sets texture import settings, enforces sprite type for 2D assets, and adapts pivots and mipmaps based on asset path.
Configure the texture importer for sprites with center alignment and no mipmaps, then implement a DLL-based asset post-processor in Visual Studio to pre-process assets and enforce consistent settings in Unity.
Learn to automate Unity builds by extending the editor with scripting, configuring the build pipeline, and creating platform-specific builds using the build pipeline class and editor tools.
Explore how to organize builds with a dedicated build folder, configure the Unity build pipeline, and manage editor tools through a settings window.
Learn to build a Unity editor window that uses platform toggles backed by editor prefs or scriptable objects, persist settings, and automate multi-target builds via a settings menu.
Add version control to your Unity project and learn how repositories track changes over time, enabling backtrack and undo. Get started with git and repository generation.
Learn to use git bash in Unity: create a Unity-friendly gitignore, commit changes, inspect logs, and embed build info with commit hash and date into builds.
Create and integrate a bash script to fetch the current git hash, render a short hash, and generate build info in Unity editor scripts for versioning builds.
Learn to set up Atlassian Sourcetree, connect Bitbucket repositories, and push commits from your desktop by configuring git ignore, staging files, and pushing to a remote branch.
Learn to create a from-scratch Unity editor tool called Easy Object Modifier, enabling search by tag or name from scene or project views, and to replace, group, or reset objects.
Design and implement a Unity editor tool that searches by options from scene or project, builds GUI with editor layout, and prompts for folder selection via editor utility dialogs.
Rewrite the editor script setup for the search functionality in Unity, declaring game objects, lists, dictionaries, and arrays to manage selected objects, folders from project, and search options.
Implement and refine the search functionality in Unity editor scripts by enumerating game objects, filtering by tag or name, optionally exploring child objects, and updating selected objects and UI feedback.
Mastering editor scripting in Unity demonstrates implementing a project search: select folders, build the search string, validate input with dialogs, and optionally search through child objects.
Implement and test a Unity editor search bar by locating assets, loading game objects, and filtering by tag or name, with optional recursive child search and selection updates.
Mastering editor scripting in Unity shows how to select game objects by tag, search through children in the scene view, and manage selected game objects with clear and project-based searches.
Create a practical Unity editor tool that replaces selected game objects with a prefab using a replace button, object field, and full undo support.
Create cube, sphere, and cylinder prefabs, assign tags, and use the editor's object modifier to group and replace items with a simple replace function in Unity editor scripting.
Master editor scripting in Unity by implementing region boxes and grouped objects UI using GUI layout, help boxes, and object fields to manage selected and replacement prefabs with informative messages.
Explore continued group objects region scripting in the Unity editor, adding foldouts, toggles for maintain transforms and hierarchy, and offset pose, rotation, and scale via vector three fields.
Explore implementing the remaining Unity editor scripting functions for replace prefabs, including on Inspector update, get object transforms, on selection change, and a permission dialog workflow.
Explore editor scripting in unity by processing the group object table, displaying a progress bar during replacement, and handling permissions, null checks, and completion notifications.
Explain how the replace object function manages user selections, dialogue flow, and undo by applying position, rotation, and local scale transforms using offset and reset tables.
Learn how editor scripting manages object replacement in Unity, tracking current group count, applying undo operations, and updating transforms, prefabs, and hierarchy based on scene or project origin.
Explore testing the tool by implementing a grouping workflow for selected Unity objects, tagging untagged items, building dictionaries of object info, and updating transforms and hierarchy.
Explore editor scripting in Unity by searching with tags and folders, selecting and grouping objects, and replacing cylinders and cubes with spheres while maintaining transforms in the scene.
Mastering editor scripting demonstrates using the object modifier to search by tag, group objects, replace tags, and reset transforms with position offsets while handling null references in Unity.
Explore strategies to distribute editor tools across projects, including Unity packages and Git submodules, and learn to publish and sell content on the Unity Asset Store.
Learn how to manage Unity tool distribution, including git submodules init and update, publishing asset store tools, creating a publisher account, and configuring package metadata, pricing, and assets.
Navigate preparing, previewing, and applying mass labels to Unity assets, then submit drafts for approval and publish on the asset store.
Welcome to "Mastering Editor Scripting in Unity"! This comprehensive course is designed to take you from a beginner to an advanced level in creating custom tools and extensions within the Unity Editor. Whether you are a game developer looking to streamline your workflow or a programmer aiming to enhance your Unity skills, this course will equip you with the knowledge and practical experience needed to create powerful, custom editor scripts. You'll start with the basics, progress through intermediate techniques, and finally, master advanced concepts to fully unlock the potential of editor scripting in Unity. Join us and transform your Unity development experience!
Section 1: Editor Scripting in Unity - Beginners
In this section, you will be introduced to the foundational concepts of editor scripting in Unity, a powerful feature that allows developers to extend and customize the Unity Editor to enhance productivity. Starting with simple "Hello World" examples, you'll gradually progress to creating more complex scripts that interact with game objects and help in building test levels. You'll explore the basics of the Gizmos class for visualizing and debugging within the Unity Editor and begin developing a custom Level Creator Tool to streamline your level design workflow. By the end of this section, you'll have a solid understanding of how to use editor scripts to improve your development process in Unity.
Section 2: Editor Scripting in Unity - Intermediate
Building on the foundational knowledge from the beginner section, this intermediate section delves deeper into more advanced editor scripting techniques. You'll learn how to create and manage custom inspectors, property drawers, and decorator drawers to enhance the functionality and usability of your tools. This section also covers the integration of the Palette Window with the inspector and introduces different editor modes and GUI styles. By the conclusion of this section, you will be adept at creating sophisticated editor tools and custom interfaces, making your development process more efficient and tailored to your needs.
Section 3: Editor Scripting in Unity - Advanced
In the advanced section, you will tackle the most complex aspects of editor scripting in Unity. This includes adding build features, working with version control systems like Git, and developing comprehensive object modifier tools. You'll explore the creation of custom search functionalities, prefab replacement systems, and advanced GUI components. This section also covers the distribution of your custom tools, ensuring they are polished and ready for use in larger projects. By the end of this section, you will have mastered the art of editor scripting in Unity, equipped with the skills to create powerful, custom tools that significantly enhance your game development workflow.
Conclusion
By completing this comprehensive course on Editor Scripting in Unity, you will have transformed from a novice to an advanced user, capable of creating sophisticated editor tools and custom workflows. The skills acquired will not only streamline your development process but also enable you to tackle more complex projects with efficiency and confidence. Whether you are an aspiring game developer or a seasoned professional, this course will equip you with the necessary tools to elevate your Unity development experience to the next level.