All Docs Documentation Version: Base (Free) Influence System Ultimate
Simple Attribute Forge Ultimate

Import/Export System

Share formulas, collaborate with teams, and backup your configurations

Import/Export Overview

The Ultimate system provides comprehensive import/export functionality for sharing formulas between projects, creating backups, and collaborating with team members using human-readable JSON format.

Key Features:

Export System

Export Methods

Single Formula Export

  • Right-click formula in list → Export
  • Includes all pipeline steps and breakpoints
  • Compact JSON format for sharing
  • Perfect for sharing specific mechanics

Batch Collection Export

  • Export button in Influence Wizard
  • Exports all formulas with system metadata
  • Preserves execution order and dependencies
  • Ideal for complete system backup

Documentation Export

  • Generate markdown documentation
  • Complete system overview
  • Formula details and calculations
  • Ready for wikis or design documents

Export Workflow

1 Select Export Scope
Export Options: • Current Formula: Export only the selected formula • Selected Formulas: Export multiple selected formulas • All Formulas: Export complete formula collection • System Documentation: Export as markdown reference
2 Choose Export Method
3 Export Configuration
Export Settings: • Include Metadata: System name, version, creation date • Include Comments: Add descriptive comments to JSON • Minify JSON: Compact format vs. readable format • Include Dependencies: Export related formula dependencies

Keyboard Shortcuts

Export Shortcuts: • Ctrl+C: Copy selected formula(s) to clipboard • Ctrl+E: Export selected formula to file • Ctrl+Shift+E: Export all formulas to file • Ctrl+M: Export system documentation to markdown

Import System

Import Workflow

1 Prepare Import Data
2 Initiate Import
Import Methods: • Import Button: Click Import in Influence Wizard • Keyboard Shortcut: Ctrl+V in formula list • Drag & Drop: Drag .json file into wizard • Load from File: Use file browser dialog
3 Validation Process

The wizard automatically validates imported data:

Validation Checks: JSON format validation All source attributes exist in current project Target attributes are valid Numerical values within acceptable ranges Enum values are valid No circular dependencies created Breakpoint conditions properly formatted
4 Conflict Resolution

Replace Mode

  • Clear all existing formulas
  • Import new formulas
  • Complete system replacement

Merge Mode

  • Add new formulas to existing ones
  • Handle name conflicts with prompts
  • Preserve existing formula order

Append Mode

  • Add all formulas with auto-renaming
  • No conflicts, duplicates get numbered
  • Safe import for testing

Import Validation Results

Validation Report Example: === Import Validation Report === JSON format valid 3 formulas found All target attributes exist 1 missing source attribute: "MagicPower" No circular dependencies All breakpoint conditions valid Options: • Continue Import (skip invalid formulas) • Cancel Import (fix source data first) • Create Missing Attributes (add "MagicPower" to project)

JSON Format Reference

Single Formula Structure

{ "name": "Strength Damage Bonus", "targetAttribute": "Damage", "enabled": true, "executionOrder": 0, "startMode": "Zero", "applyMode": "AddToBase", "alsoUpdateCurrent": false, "flatRows": [ { "source": "Strength", "operation": "Add", "value": 2.0 } ], "addPctRows": [ { "source": "WeaponSkill", "operation": "Add", "value": 1.5 } ], "subPctRows": [], "mulRows": [ { "label": "Class Bonus", "factor": 1.25 } ], "postFlatRows": [ { "label": "Base Weapon Damage", "amount": 15, "isAdditive": true } ], "breakpoints": [] }

Breakpoint Structure

"breakpoints": [ { "type": "Threshold", "attribute": "Level", "comparison": "GreaterOrEqual", "value": 20, "effectType": "Multiplier", "effectValue": 1.5, "operation": "Add", "hasAdditionalConditions": true, "globalLogicalOp": "And", "additionalConditions": [ { "attribute": "Strength", "comparison": "GreaterOrEqual", "value": 30 }, { "attribute": "Intelligence", "comparison": "LessOrEqual", "value": 15 } ] } ]

Collection Format

{ "version": "1.0", "systemName": "CharacterInfluenceSystem", "exportDate": "2024-01-15T10:30:00Z", "sourceProject": "MyAwesomeRPG", "availableAttributes": [ "Health", "Mana", "Strength", "Intelligence", "Dexterity", "Constitution", "Level", "Damage" ], "formulas": [ // Array of formula objects ], "metadata": { "totalFormulas": 5, "complexityScore": 12, "dependencies": ["Strength→Damage", "Level→Health"] } }

Clipboard Operations

Quick Copy/Paste Workflow

Copy Formula (Ctrl+C): 1. Select formula in list 2. Press Ctrl+C or right-click → Copy 3. JSON is formatted and copied to clipboard 4. Ready to paste in another project Paste Formula (Ctrl+V): 1. Copy formula JSON from anywhere (file, email, chat) 2. Focus formula list in destination project 3. Press Ctrl+V or right-click → Paste 4. Review validation results and conflicts

Supported Clipboard Formats

Cross-Project Sharing

Team Collaboration Workflow: 1. Designer creates formulas in test project 2. Export formula collection to JSON file 3. Share file via version control or messaging 4. Programmers import into main project 5. Test and iterate using JSON roundtrip

Import/Export Use Cases

Team Collaboration

Designer → Programmer Workflow

Scenario: Game designer creates complex RPG formulas Designer Process: 1. Create test project with attribute system 2. Design formulas using Influence Wizard 3. Test and balance with preview panel 4. Export final formulas to JSON 5. Share JSON with development team Programmer Process: 1. Import JSON into main project 2. Validate all attributes exist 3. Test integration with game systems 4. Provide feedback via exported JSON

Formula Libraries

Reusable Formula Collections

Common RPG Formula Library: • StandardCombat.json: Basic STR→DMG, CON→HP formulas • SpellcastingCore.json: INT→Mana, WIS→SpellPower formulas • SkillProgression.json: Level-based skill advancement • StatusEffects.json: Buff/debuff calculation patterns Import library formulas as starting points for customization.

Backup and Version Control

Configuration Management

Version Control Strategy: 1. Export complete system before major changes 2. Store JSON files in version control alongside code 3. Tag formula versions with game releases 4. Restore previous configurations when needed 5. Track formula evolution over development

Documentation Generation

Game Design Documentation

Documentation Export Features: • Complete formula reference in markdown • Mathematical relationship descriptions • Breakpoint condition listings • Balance analysis and stat effectiveness • Integration examples for programmers

Advanced Import Features

Missing Attribute Handling

When importing formulas that reference attributes not in your current project:

Missing Attribute Dialog:
Missing Attributes Detected: • "MagicPower" (used in 2 formulas) • "CraftingSkill" (used in 1 formula) • "Reputation" (used in 1 breakpoint) Options: 1. Cancel Import - Fix source data first 2. Skip Invalid Formulas - Import only valid ones 3. Create Placeholder Attributes - Add missing attributes to project 4. Manual Mapping - Map to existing attributes

Attribute Mapping

Remap source attributes to match your project's naming:

Attribute Mapping Dialog: Source Formula uses "Str" → Map to "Strength" Source Formula uses "HP" → Map to "Health" Source Formula uses "MP" → Map to "Mana" This allows importing formulas from projects with different attribute naming conventions.

Conflict Resolution

Name Conflicts

  • Detect duplicate formula names
  • Offer rename suggestions
  • Auto-increment naming (Formula, Formula_2, etc.)
  • Preview merge results

Order Conflicts

  • Detect execution order conflicts
  • Automatically reorder imported formulas
  • Preserve dependency relationships
  • Validate calculation sequence

JSON Format Details

Formula Pipeline Data

// Complete formula with all pipeline steps { "name": "Advanced Combat Formula", "targetAttribute": "Damage", "enabled": true, "executionOrder": 1, "startMode": "Zero", "applyMode": "AddToBase", "alsoUpdateCurrent": false, // Step 2: Flat bonuses "flatRows": [ { "source": "Strength", "operation": "Add", "value": 2.5 }, { "source": "Level", "operation": "Add", "value": 0.8 } ], // Step 3: Additive percentages "addPctRows": [ { "source": "WeaponSkill", "operation": "Add", "value": 1.2 } ], // Step 4: Subtractive percentages "subPctRows": [ { "source": "Fatigue", "operation": "Add", "value": 0.5 } ], // Step 5: Multipliers "mulRows": [ { "label": "Weapon Quality", "factor": 1.3 }, { "label": "Class Bonus", "factor": 1.15 } ], // Step 6: Post-flat bonuses "postFlatRows": [ { "label": "Base Weapon Damage", "amount": 20, "isAdditive": true } ] }

Breakpoint Data Structure

// Complex breakpoint with multiple conditions { "type": "Threshold", "attribute": "Level", "comparison": "GreaterOrEqual", "value": 25, "effectType": "Multiplier", "effectValue": 1.8, "operation": "Add", "hasAdditionalConditions": true, "globalLogicalOp": "And", "additionalConditions": [ { "attribute": "Strength", "comparison": "GreaterOrEqual", "value": 35 }, { "attribute": "WeaponSkill", "comparison": "GreaterOrEqual", "value": 50 } ] }

Collection Metadata

// System-level metadata for collections { "version": "1.0", "systemName": "AdvancedRPGSystem", "exportDate": "2024-01-15T14:30:00Z", "sourceProject": "FantasyQuestRPG", "exportedBy": "GameDesigner", "description": "Complete combat and progression system", "compatibilityInfo": { "minimumVersion": "1.0", "requiredAttributes": ["Health", "Mana", "Strength", "Intelligence"], "optionalAttributes": ["WeaponSkill", "ArmorClass"], "warnings": ["Uses complex breakpoint logic"] }, "statistics": { "totalFormulas": 8, "averageComplexity": 3.2, "maxExecutionOrder": 2, "breakpointCount": 12 } }

Import/Export Best Practices

Recommended Workflow:
  1. Export Before Changes: Always backup before major modifications
  2. Validate Before Import: Check attribute compatibility first
  3. Use Descriptive Names: Clear formula names improve shareability
  4. Document Dependencies: Note required attributes in comments
  5. Test After Import: Verify formulas work in target project
  6. Version Your Exports: Include version info in filenames

File Organization

Recommended File Structure: ProjectRoot/ ├── FormulaLibrary/ │ ├── Core/ │ │ ├── BasicCombat.json │ │ ├── HealthScaling.json │ │ └── LevelProgression.json │ ├── Advanced/ │ │ ├── MagicSystem.json │ │ ├── CraftingFormulas.json │ │ └── PvPBalancing.json │ └── Experimental/ │ ├── NewMechanics.json │ └── BalanceTests.json

Team Collaboration Guidelines

Performance Considerations

Large Import Optimization: • Import in smaller batches for better responsiveness • Use Append mode for testing large collections • Validate complex formulas individually first • Monitor memory usage during bulk imports • Clear Unity console before large imports

Automation Features

Automatic Backup

The wizard automatically creates backups during generation:

Automatic Backup Process: 1. Export current formulas to JSON before generation 2. Save to Assets/Generated/InfluenceSystem/Backups/ 3. Filename: SystemName_YYYY-MM-DD_HH-MM.json 4. Keeps last 10 backups automatically 5. Purge older backups to save disk space

Batch Operations

Batch Export Features: • Export All: Complete system to single JSON • Export by Category: Group related formulas • Export by Order: Export execution groups separately • Export Templates: Save common patterns for reuse Batch Import Features: • Import Multiple Files: Process folder of JSON files • Template Application: Apply formula templates to multiple targets • Dependency Resolution: Automatically order imported formulas

Integration with External Tools

External Tool Support: • CSV Export: For spreadsheet analysis • XML Export: For integration with game design tools • SQL Export: For database-driven formula management • API Integration: REST endpoints for external formula management

Common Import/Export Issues

Import Failures

JSON Format Errors: Solutions:

Attribute Compatibility

Attribute Mismatch Issues: Solutions:

Performance Issues

Large Import Problems: Solutions:

Advanced Export Features

Template Export

Export formulas as reusable templates:

Template Export Process: 1. Create formula with placeholder values 2. Export as Template (replaces specific values with variables) 3. Import template into new projects 4. Customize variables for specific use cases Example Template: "flatRows": [ { "source": "{PRIMARY_STAT}", "operation": "Add", "value": "{SCALING_FACTOR}" } ]

Conditional Export

Export Filters: • By Execution Order: Export only formulas in specific order range • By Target Attribute: Export formulas affecting specific attributes • By Complexity: Export simple or complex formulas only • By Status: Export only enabled/disabled formulas • By Tags: Export formulas with specific categories

Documentation Integration

Documentation Export Options: • Markdown Reference: Complete system documentation • CSV Summary: Spreadsheet-compatible formula list • Wiki Format: Ready for game wikis or internal docs • API Documentation: Technical reference for programmers • Balance Analysis: Statistical breakdown of formula effectiveness

Integration Examples

Continuous Integration Workflow

// Automated formula validation in CI/CD public class FormulaValidator : EditorWindow { [MenuItem("Tools/Validate Formula Exports")] static void ValidateExports() { string exportPath = "Assets/Generated/InfluenceSystem/Exports/"; var jsonFiles = Directory.GetFiles(exportPath, "*.json"); foreach (var file in jsonFiles) { var json = File.ReadAllText(file); var validation = ValidateFormulaJSON(json); if (validation.isValid) { Debug.Log($" {Path.GetFileName(file)}: Valid"); } else { Debug.LogError($"✗ {Path.GetFileName(file)}: {validation.error}"); } } } }

Runtime Formula Loading

// Load formulas from JSON at runtime public class DynamicFormulaLoader : MonoBehaviour { public void LoadFormulasFromServer() { StartCoroutine(FetchFormulasFromAPI()); } IEnumerator FetchFormulasFromAPI() { UnityWebRequest request = UnityWebRequest.Get("https://api.game.com/formulas"); yield return request.SendWebRequest(); if (request.result == UnityWebRequest.Result.Success) { var formulaJSON = request.downloadHandler.text; ImportFormulasFromJSON(formulaJSON); } } void ImportFormulasFromJSON(string json) { // Parse and apply formulas at runtime var formulaData = JsonUtility.FromJson(json); ApplyFormulasToSystem(formulaData); } }

Automated Testing

// Automated formula testing after import [Test] public void TestImportedFormulas() { // Load test formula collection var testJSON = Resources.Load("TestFormulas").text; var testData = JsonUtility.FromJson(testJSON); // Import into test system var testSystem = CreateTestAttributeSystem(); ImportFormulas(testSystem, testData); // Validate calculations Assert.AreEqual(42, CalculateStrengthDamage(testSystem, 20)); // STR 20 = 42 DMG Assert.AreEqual(67, CalculateStrengthDamage(testSystem, 30)); // STR 30 = 67 DMG }

Import/Export Troubleshooting

Common Error Messages

"Invalid JSON format":
"Attribute 'X' not found":
"Circular dependency detected":

Debug Tools

Import/Export Debug Features: • Verbose Logging: Detailed import/export process logging • JSON Validation: Step-by-step format validation • Dependency Analysis: Visual dependency graph generation • Performance Monitoring: Track import/export timing • Error Reporting: Detailed error messages with suggestions