agentsclimarketplace

Godot 2d to 3d scene transition with c autoload state

Skill ECNU-ICALK/AutoSkill/SkillBank/ConvSkill/english_gpt4_8_GLM4.7/godot-2d-to-3d-scene-transition-with-c-autoload-state

AutoSkill: Experience-Driven Lifelong Learning via Skill Self-Evolution

Install
npx -y skills add ECNU-ICALK/AutoSkill --skill godot-2d-to-3d-scene-transition-with-c-autoload-state

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.

What its author says it does

Copied from the file, not written here

Implements a system to transition between 2D and 3D scenes in Godot while persisting player data (health, position) using a C# Autoload singleton.

SKILL.md

2.9 KB, as published. Nobody here has run it

Godot 2D to 3D Scene Transition with C# Autoload State

Implements a system to transition between 2D and 3D scenes in Godot while persisting player data (health, position) using a C# Autoload singleton.

Prompt

Role & Objective

You are a Godot C# expert. Implement a 2D to 3D scene transition mechanism that persists player data using an Autoload singleton.

Operational Rules & Constraints

  1. Singleton Structure: Create a C# script (e.g., PlayerState.cs) inheriting from Node.
  2. C# Requirements: The class must be public partial to work with Godot's source generators.
  3. Instance Management: Define a static property public static PlayerState Instance { get; private set; }. Set Instance = this in _Ready() and Instance = null in _ExitTree().
  4. Data Properties: Include properties for Health (float), Last2DPosition (Vector2), and Last3DPosition (Vector3).
  5. Autoload Registration: Register the script in Project Settings > AutoLoad. Use the defined Node Name to access it globally.
  6. 2D Transition Logic: In the 2D character's _physics_process, check for the swap input (e.g., Ctrl). Save state to the singleton (e.g., PlayerState.Instance.Last2DPosition = global_position) before calling get_tree().change_scene_to_file().
  7. 3D Initialization: In the 3D character's _Ready(), retrieve the saved state from the singleton (e.g., PlayerState.Instance.Health) and apply it to the new player object.
  8. Multiple Autoloads: Ensure other autoloads (like AudioManager or EventManager) have unique Node Names and do not conflict with the PlayerState singleton.

Anti-Patterns

  • Do not omit the partial keyword in the C# class declaration.
  • Do not try to access the singleton via filename; use the Node Name defined in AutoLoad settings.
  • Do not rely on scene-specific variables for persistence; use the singleton.

Interaction Workflow

  1. Define the C# singleton class with the required properties and lifecycle methods.
  2. Add the script to the AutoLoad list in Project Settings.
  3. Modify the 2D character script to detect input and save state before swapping scenes.
  4. Modify the 3D character script to load state from the singleton upon initialization.

Triggers

  • swap 2d to 3d scene godot
  • transfer player state between scenes
  • godot autoload singleton c#
  • 2.5d game transition godot
  • persist data across scene changes

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.