A comprehensive collection of professional Unity Editor tools designed to streamline development workflow, improve productivity, and simplify common tasks in Unity projects.
This repository contains 6 powerful editor tools:
- Component Finder - Advanced scene and project-wide component search
- Localization Sync Tool - Google Sheets integration for multi-language management
- Light Batch Bake Tool - Bulk lighting configuration and optimization
- Mesh Renderer Lighting Tool - Material and lighting property management
- Terrain Duplication Tool - Smart terrain cloning with unique data
- Localization Setup Helper - Interactive guide for Google Apps Script setup
- Clone or download this repository
- Copy the
.csfiles into your Unity project'sAssets/Editor/folder - Unity will automatically compile the scripts
- Access tools from the Unity menu bar under
Tools/
git clone https://github.com/Halilibrahimeris/Unity-Tools.gitMenu Path: Tools → Component Finder
A powerful search tool to locate GameObjects containing specific components across your entire project.
- Search in open scenes, active scene only, or project prefabs
- Filter by specific folder paths
- Visual results list with quick selection and ping
- Batch operations (Select All, Ping All)
- Supports all Component types including custom scripts
- Drag a MonoBehaviour script into the "Script" field
- Choose search scope (Open Scenes, Active Scene, Project Prefabs, Selected Folder)
- Click "Find" to locate all instances
- Use Select/Ping buttons to navigate to found objects
- Find all objects using a deprecated component
- Locate specific enemy AI instances across multiple scenes
- Audit prefab usage throughout the project
Menu Path: Tools → Localization Sync → Web App Sync
Synchronize Unity's Localization package with Google Sheets for collaborative translation workflows.
- No DLL Dependencies - Uses built-in Unity networking
- Bidirectional sync (Unity ↔ Google Sheets)
- Support for multiple languages/locales
- Automatic locale detection and mapping
- Real-time status feedback panel
- Persistent URL storage per project
- Click the Help (?) button in the tool window
- Follow the interactive guide to:
- Create a Google Sheet
- Deploy Apps Script web app
- Copy the deployment URL
- Paste URL into the tool and select your StringTableCollection
Push (Unity → Sheet):
Exports all localization keys and translations to Google Sheets
Structure: Key | ID | Language1 | Language2 | ...
Pull (Sheet → Unity):
Imports translations from Google Sheets back into Unity
Automatically creates missing entries and updates existing ones
- Translators can work directly in Google Sheets
- No need for Unity knowledge
- Version control friendly
- Team collaboration support
- Real-time translation updates
Menu Path: Tools → Lighting → Light Bake Tool
Bulk configure and optimize lighting settings across your entire scene.
- Batch Bake Type Configuration (Realtime/Baked/Mixed)
- Bulk Range Adjustment for Point and Spot lights
- Bulk Intensity Control for all light types
- Individual light property editing
- Per-light bake type override
- Scene organization (sorted by scene name)
- Undo/Redo support
- Auto scene dirty marking
- Checkboxes for selective operations
- Real-time property editing in scrollable list
- Quick access buttons (Refresh, Select All, Deselect All)
- Scene and light name display
- Ping functionality for quick navigation
- Open the tool to see all lights in loaded scenes
- Select lights using checkboxes
- Choose bulk settings (Bake Type, Range, Intensity)
- Apply to selected lights or all lights
- Fine-tune individual lights in the list
- Excludes Area lights (Rectangle/Disc) automatically
- Displays light count for performance tracking
- Directional lights excluded from range operations
Menu Path: Custom implementation - check your menu structure
Advanced tool for managing MeshRenderer lighting properties and material emission.
- Material emission control
- Lighting property batch operations
- Support for multiple renderers
- Real-time preview
- Undo/Redo integration
- Configure emission for interactive objects
- Batch update lighting properties
- Optimize material settings for performance
Menu Path: Tools → Duplicate Terrain (Unique Data)
Smart terrain duplication that creates independent TerrainData assets.
- Creates unique TerrainData asset copy
- Automatic asset organization (
Assets/ClonedTerrains/) - Timestamped file naming
- Preserves all terrain properties:
- Height maps
- Texture alpha maps
- Detail layers
- Tree instances
- Automatic offset positioning
- Selection of cloned terrain
- Select a Terrain GameObject in the scene
- Run
Tools → Duplicate Terrain (Unique Data) - New terrain appears offset to the right with unique data
- Avoids shared TerrainData references
- Safe for independent editing
- Preserves original terrain integrity
- Ideal for creating terrain variations
Menu Path: Opens automatically via Localization Sync Tool's (?) button
Interactive setup guide for Google Apps Script integration.
- Bilingual Interface (English & Turkish)
- Step-by-step setup instructions
- Embedded Apps Script code
- One-click code copying
- Direct Google Sheets link
- Scrollable code viewer
- doGet() - Fetches spreadsheet data as JSON
- doPost() - Receives Unity data and updates sheet
- Error handling and status reporting
- Automatic sheet clearing and updating
- Create Google Sheet
- Open Apps Script editor
- Copy provided code
- Deploy as web app
- Set access to "Anyone"
- Copy deployment URL
- Unity Version: 2020.3 or higher recommended
- Dependencies:
- Unity Localization Package (for sync tools)
- Unity EditorCoroutines (for sync tools)
- Newtonsoft.Json (included in modern Unity versions)
- Use folder filtering for large projects to improve performance
- Search prefabs separately to avoid long loading times
- Always backup your StringTableCollection before pulling
- Test with a small table first
- Ensure Google Apps Script is set to "Anyone" access
- Keep the deployment URL secure if data is sensitive
- Use "Apply to Selected" for testing settings
- Enable bulk options only when needed
- Check DirectionalLight separately (no range)
- Save scene after bulk operations
- Clone TerrainData is saved in
Assets/ClonedTerrains/ - Clean up old clones periodically
- Use timestamped names for organization
Error: "Connection Error"
- Verify Google Apps Script deployment URL
- Check "Who has access" is set to "Anyone"
- Ensure Apps Script code is deployed (not just saved)
Error: "No locale columns matched"
- Check Google Sheet header format:
DisplayName (code) - Verify locale codes match Unity's Localization settings
- Example:
English (en),Turkish (tr)
"Type could not be retrieved"
- Script may have compilation errors
- Ensure the script is a valid Component class
- Check script is not abstract or generic
Lights not updating
- Ensure scene is saved
- Check undo history isn't full
- Verify lights aren't on locked layers
Contributions are welcome! Please follow these guidelines:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- Follow Unity C# coding conventions
- Add XML documentation for public methods
- Include error handling and user feedback
- Test in multiple Unity versions if possible
- Built for the Unity game development community
- Inspired by common workflow pain points
- Designed for both solo developers and teams
If you encounter issues or have suggestions:
- Check the Troubleshooting section above
- Open an issue on GitHub
- Include Unity version and error messages
- Provide steps to reproduce
Planned features and improvements:
- Component Finder: Add component replacement tool
- Localization: Support for CSV export/import
- Light Tool: Add preset save/load functionality
- Terrain: Multi-terrain batch operations
- General: Add preference saving for all tools
- Initial release
- 6 core editor tools
- Turkish language support