Skip to content

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Interfaz

SmartFolders Plugin

Rule-driven asset organization tool for Unreal Engine 5.6. Automate your Content Browser cleanup with customizable profiles and intelligent naming-based sorting. Reduce manual organization time by up to 70% while maintaining project-wide consistency.

Overview

SmartFolders eliminates Content Browser clutter by providing a flexible, automated solution for managing project assets. Whether you follow Epic's recommended practices or define custom rules, SmartFolders streamlines your workflow and keeps your project organized.

Features

Fully Customizable System

  • Complete access to DataAssets and underlying code
  • Modify organization logic to fit specific project needs
  • Define custom asset type mappings and destination paths
  • Create reusable organization profiles

Dual Organization Modes

  • Simple Mode: Direct asset movement to predefined folders based on type
  • By Name Mode (Experimental): Intelligent grouping by common asset names (e.g., BP_Hero, N_Hero, BT_Hero → Hero folder)

Built-in Profiles

  • Epic Recommended: Based on Unreal Engine best practices and industry standards
  • Custom Profile: User-defined rules with precise control over asset routing

Safe Workflow

  • Pre-organization Analysis: Preview changes before execution
  • Undo Support: Restore previous organization state
  • Batch Operations: Process multiple assets simultaneously
  • Non-destructive: Assets references remain intact after reorganization

Editor Integration

  • Native Content Browser integration
  • Dedicated editor window with intuitive UI
  • Real-time feedback during analysis
  • Progress tracking for large operations

Requirements

  • Unreal Engine 5.6 or higher
  • Python Script Plugin (automatically enabled)
  • Editor-only functionality
  • C++ or Blueprint project

Installation

Clone the Repository

git clone https://github.com/vicvasper/SmartFoldersPlugin_UE5.6.git

Install to Project

  1. Copy the SmartFolders folder to your project's Plugins directory

    YourProject/Plugins/SmartFolders/
    
  2. Enable the plugin in Unreal Editor

    • Open your project
    • Go to Edit > Plugins
    • Search for "SmartFolders"
    • Check the enabled box
    • Restart the editor
  3. Verify Python Script Plugin is enabled

    • The plugin will automatically enable it as a dependency
    • If not, manually enable it in the Plugins window

Usage

Quick Start Guide

Step 1: Choose Your Profile

Epic Recommended Profile

  • Pre-configured based on Epic Games' asset organization guidelines
  • Follows industry-standard folder structures
  • Ideal for new projects or standardization
  • Covers common asset types: Blueprints, Materials, Textures, Meshes, Animations, Audio, etc.

Custom Profile

  • Define your own organizational rules
  • Specify asset types and destination paths
  • Create project-specific taxonomies
  • Reusable across multiple projects

Step 2: Select Organization Mode

Simple Mode Straightforward type-based organization:

  • Assets moved directly to folders specified in DataAsset
  • Fast and predictable
  • Best for general cleanup and standardization

Example:

BP_PlayerCharacter → /Blueprints/Characters/
T_PlayerSkin → /Textures/Characters/
SM_PlayerWeapon → /Meshes/Weapons/

By Name Mode (Experimental) Intelligent name-based grouping:

  • Groups related assets by common name patterns
  • Creates hierarchical folder structure
  • Useful for feature-based organization

Example:

BP_Hero, N_Hero, BT_Hero → /Hero/
    ├── Blueprints/
    ├── Animations/
    └── AI/

Note: This mode is experimental. Test on small asset sets first.

Step 3: Analyze Assets

Before making changes:

  1. Open the SmartFolders window (Window > SmartFolders)
  2. Select your desired profile and mode
  3. Click Analyze
  4. Review the proposed organization structure
  5. Verify asset destinations are correct
  6. Check for any warnings or conflicts

Step 4: Execute Organization

Once satisfied with the analysis:

  1. Click Run to execute the organization
  2. Monitor progress in the output log
  3. Review the results in Content Browser
  4. Use undo if needed to revert changes

Creating Custom Profiles

Define Asset Mapping DataAsset

  1. Create new DataAsset of type AssetOrganizationProfile
  2. Add asset class to folder mappings:
    Blueprint → /Game/Blueprints/
    StaticMesh → /Game/Meshes/Static/
    Texture2D → /Game/Textures/
    Material → /Game/Materials/
    
  3. Configure naming conventions and filters
  4. Save and assign to SmartFolders configuration

Customize Organization Logic

Modify SmartFoldersCore.cpp for advanced behavior:

  • Custom asset type detection
  • Complex naming pattern matching
  • Conditional folder routing
  • Multi-criteria sorting

Technical Details

Architecture

Core Components

  • SmartFoldersSubsystem: Editor subsystem managing organization state
  • AssetOrganizationProfile: DataAsset defining organization rules
  • AssetScanner: Analyzes project assets and builds movement plan
  • AssetMover: Executes safe asset relocation with reference fixing
  • SmartFoldersWidget: Slate-based UI for user interaction

Asset Processing Pipeline

  1. Scanning: Enumerate all assets in project
  2. Classification: Determine asset types and properties
  3. Rule Application: Apply profile rules to determine destinations
  4. Conflict Resolution: Handle duplicate names and path collisions
  5. Validation: Check for circular dependencies and invalid moves
  6. Execution: Batch move assets with reference updates
  7. Verification: Confirm all assets moved successfully

Profile System

Organization profiles stored as DataAssets:

  • Version controlled with project
  • Shareable across team
  • Easy to duplicate and modify
  • Support for inheritance and overrides

Name-Based Grouping Algorithm

For experimental mode:

  1. Extract common prefix from asset names
  2. Group assets with matching prefixes
  3. Determine asset type distribution per group
  4. Create hierarchical folder structure
  5. Maintain type-based subfolders within groups

Configuration

Profile Settings

Configure in AssetOrganizationProfile DataAsset:

  • Asset Type Mappings: Class to folder path bindings
  • Naming Conventions: Prefix/suffix rules for asset names
  • Folder Templates: Dynamic path generation rules
  • Exclusion Filters: Assets to ignore during organization
  • Special Cases: Custom handling for specific asset types

Plugin Settings

Accessible via Project Settings > Plugins > SmartFolders:

  • Default organization profile
  • Auto-save before organization
  • Confirmation dialog preferences
  • Undo stack size
  • Batch operation size

Best Practices

Before Running Organization

  • Create project backup or commit to source control
  • Test on small subset of assets first
  • Review analysis results carefully
  • Ensure all assets are saved
  • Close unnecessary editor windows

Profile Design

  • Start with Epic Recommended profile as template
  • Group related asset types in logical hierarchies
  • Use consistent naming conventions across team
  • Document custom rules in profile description
  • Version control profile DataAssets

Maintenance

  • Periodically re-run organization as project grows
  • Update profiles when adding new asset types
  • Review and refactor custom organization code
  • Keep plugin updated to latest version

Performance Considerations

Optimization Tips

  • Process assets in batches of 100-500 at a time
  • Close Content Browser during large operations
  • Disable auto-save temporarily for speed
  • Run organization during off-peak hours for shared projects
  • Use Simple mode for fastest execution

Expected Performance

  • 1000 assets: ~1-2 minutes
  • 5000 assets: ~5-10 minutes
  • 10000+ assets: ~15-30 minutes

Times vary based on asset complexity and destination folder depth.

Use Cases

Project Types

  • New projects requiring initial organization
  • Legacy projects needing cleanup
  • Collaborative projects enforcing standards
  • Asset marketplace preparation
  • Portfolio project polish

Team Workflows

  • Onboarding new team members with consistent structure
  • Enforcing studio-wide organization standards
  • Migrating between projects with different structures
  • Preparing projects for handoff or archival

Troubleshooting

Assets Not Moving

  • Verify assets are not locked or in use
  • Check destination folders are valid
  • Ensure no conflicting asset names
  • Review output log for specific errors

References Breaking

  • SmartFolders uses Unreal's redirect system
  • Most references update automatically
  • Hard-coded string paths may break
  • Use soft object references where possible

Performance Issues

  • Reduce batch size in settings
  • Process folders incrementally
  • Disable real-time Content Browser updates
  • Check available disk space

Name Mode Issues

  • Experimental feature may misgroup assets
  • Verify naming conventions are consistent
  • Use Simple mode for critical operations
  • Report edge cases for improvement

Known Limitations

  • Experimental Name mode may require manual adjustments
  • Does not handle procedurally generated assets
  • Limited support for external asset references
  • Requires manual merge conflict resolution in source control
  • Python Script Plugin dependency required

Roadmap

Planned Features

  • AI-assisted organization suggestions
  • Multi-project profile sharing
  • Real-time organization enforcement
  • Integration with source control systems
  • Advanced naming pattern editor
  • Dry-run mode with detailed preview

Contributing

Contributions welcome! Please:

  1. Fork the repository
  2. Create feature branch
  3. Test thoroughly on UE 5.6
  4. Update documentation
  5. Submit pull request with detailed description

Version History

1.0 (Current)

  • Initial release for Unreal Engine 5.6
  • Epic Recommended profile
  • Custom profile support
  • Simple and Name-based organization modes
  • Analysis preview system
  • Batch processing

License

MIT License - See LICENSE file for details

Author

Created by Victor Rivas (@vicvasper)

For questions, bug reports, or feature requests, please open an issue on GitHub.

Links

Acknowledgments

Built with Unreal Engine 5.6. Organization strategies based on Epic Games best practices and community feedback.

About

Rule-driven Content Browser organizer for Unreal Engine. Type-based and name-grouping modes, Epic-recommended presets, batch operations and full undo.

Topics

Resources

Stars

6 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages