Features: - Export DataTable, Blueprint, AnimMontage, CurveTable to JSON - INI-based configuration via UDeveloperSettings - Comprehensive Blueprint EventGraph extraction - Enhanced AnimMontage with CustomProperties from Notifies - Project Settings integration (Edit -> Project Settings -> Plugins) - Tools menu integration (Tools -> WorldStalker -> Export Assets to JSON) Files added: - AssetExportSettings.h/cpp - UDeveloperSettings configuration class - AssetExporterToJSON.h/cpp - Core export implementation - README.md - Comprehensive feature documentation - MERGE_INSTRUCTIONS.md - Integration guide for existing files Unreal Engine 5.5.4 compatible
79 lines
1.9 KiB
C++
79 lines
1.9 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
#include "CoreMinimal.h"
|
|
#include "Engine/DeveloperSettings.h"
|
|
#include "AssetExportSettings.generated.h"
|
|
|
|
/**
|
|
* Settings for Asset Export to JSON feature
|
|
* Configure export paths in Project Settings -> Plugins -> Asset Export
|
|
*/
|
|
UCLASS(config=Editor, defaultconfig, meta=(DisplayName="Asset Export to JSON"))
|
|
class WORLDSTALKEREDITOR_API UAssetExportSettings : public UDeveloperSettings
|
|
{
|
|
GENERATED_BODY()
|
|
|
|
public:
|
|
UAssetExportSettings();
|
|
|
|
/**
|
|
* Folder paths to export assets from
|
|
* Paths are relative to /Game/ (e.g., "Blueprints/Enemy", "DataTables")
|
|
* Add or remove paths using the array controls below
|
|
*/
|
|
UPROPERTY(config, EditAnywhere, Category = "Export Paths", meta=(
|
|
ContentDir,
|
|
RelativePath,
|
|
LongPackageName
|
|
))
|
|
TArray<FDirectoryPath> ExportFolderPaths;
|
|
|
|
/**
|
|
* Output directory for exported JSON files
|
|
* Default: Content/Exports
|
|
*/
|
|
UPROPERTY(config, EditAnywhere, Category = "Export Settings", meta=(RelativePath))
|
|
FDirectoryPath OutputDirectory;
|
|
|
|
/**
|
|
* Create timestamped subfolder for each export
|
|
* Recommended to keep export history
|
|
*/
|
|
UPROPERTY(config, EditAnywhere, Category = "Export Settings")
|
|
bool bCreateTimestampedFolder;
|
|
|
|
/**
|
|
* Export DataTable assets
|
|
*/
|
|
UPROPERTY(config, EditAnywhere, Category = "Asset Types")
|
|
bool bExportDataTables;
|
|
|
|
/**
|
|
* Export Blueprint assets
|
|
*/
|
|
UPROPERTY(config, EditAnywhere, Category = "Asset Types")
|
|
bool bExportBlueprints;
|
|
|
|
/**
|
|
* Export AnimMontage assets
|
|
*/
|
|
UPROPERTY(config, EditAnywhere, Category = "Asset Types")
|
|
bool bExportAnimMontages;
|
|
|
|
/**
|
|
* Export CurveTable assets
|
|
*/
|
|
UPROPERTY(config, EditAnywhere, Category = "Asset Types")
|
|
bool bExportCurveTables;
|
|
|
|
// UDeveloperSettings interface
|
|
virtual FName GetCategoryName() const override;
|
|
virtual FText GetSectionText() const override;
|
|
|
|
#if WITH_EDITOR
|
|
virtual FText GetSectionDescription() const override;
|
|
#endif
|
|
};
|