Add Asset Export to JSON feature for LLM combat balance analysis
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
This commit is contained in:
78
AssetExportSettings.h
Normal file
78
AssetExportSettings.h
Normal file
@ -0,0 +1,78 @@
|
||||
// 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
|
||||
};
|
||||
Reference in New Issue
Block a user