• ⚠️ Mod Release Rules now apply to this board.

    All mods must include a license, source code (for executable mods), and proper attribution.

    Read the full rules here before posting.

Tools Surface Structures

MrJeranimo

Member
Nov 14, 2025
15
25
Surface Structures

This is a mod that will place .glb meshes onto the surface of a Celestial at a specified Landmark. The mod will automatically find all Surface Structures defined in other mods in "Documents/My Games/Kitten Space Agency/mods" that have a file named "Surface Structures.xml".

This mod does not include any Surface Structures on its own. You must either make your own Structures or download a mod that has them.

Requirements:

License: MIT

Source Code: https://github.com/MrJeranimo/Surface-Structures

SpaceDock: https://spacedock.info/mod/4202/Surface Structures


Usage

To use the mod, download the latest release and extract the folder into the "My Games/Kitten Space Agency/mods/" folder.

Finally, add the code below to the "manifest.toml" file in "My Games/Kitten Space Agency/".

Code:
[[mods]]
id = "Surface Structures"
enabled = true


Creating your own Surface Structure(s)

To create your own Surface Structure(s), you must create a "Surface Structures.xml" file in your mod. It can be at the top-level folder of your mod or below, this mod will find it. Inside the XML file, you should follow this layout for each Structure you wish to add.

XML:
<Structures>
    <SurfaceStructure id="Direction Cube">
        <Landmark name="CCSFS LC-39A"/>
        <MeshID id="DirectionCube"/>
        <Position x="0" y="0" z="0"/>
        <Rotation x="0" y="0" z="0"/>
        <Scale x="1" y="1" z="1"/>
    </SurfaceStructure>

    <SurfaceStructure id="Direction Cube 2">
        <Landmark name="CCSFS LC-39A"/>
        <MeshID id="DirectionCube"/>
        <Position x="0" y="0" z="0"/>
        <Rotation x="0" y="0" z="0"/>
        <Scale x="1" y="1" z="1"/>
    </SurfaceStructure>
</Structures>

The "id" in "<SurfaceStructure id="">" is the name of the structure.

The "name" in "<Landmark name="CCSFS LC-39A"/>" is the name of the landmark you want to place the mesh at. The landmark must be defined in the planet's or Astronomical's XML definition in "Program Files/Kitten Space Agency/Content/Core".

For example,
XML:
<Landmark Id="CCSFS LC-39A">
  <Latitude Degrees="28.60829876577433" />
  <Longitude Degrees="-80.60412690984597" />
</Landmark>

The "id" in "<MeshID id="DirectionCube"/>" is the defined "id" in a "<GltfFile id="">" that must be defined in an XML file in "Program Files/Kitten Space Agency/Content/Core".

<SurfaceStructure id="">, <Landmark name=""/>, and <MeshID id=""/> must all exists and have valid values to register the Mesh to be drawn at the Landmark.

Each "<Surface Structure>" set of tags you create will correspond to one new Structure/Mesh drawn by this mod. Once you have your "Surface Structures.xml" filled out, the Meshes should be automatically drawn to those landmarks.
 
Last edited:
  • Like
Reactions: Kiwi Shark and Maxi
I just realized I hadn't updated to the lasted game version so there is a chance this is broken if you are using the latest update. I will fix it soon.

The mod woks fine now. I also updated the "Position", "Rotation", and "Scale" tags to work properly. Check out the GitHub or SpaceDock on how to use them.
 
Last edited: