Files
SurvivorCore/docs/getting-started.md
T
Samuel LisonandClaude Opus 4.8 2e7bd69c2c docs: make admin-plugin install explicit + discoverable
Owner feedback: synced the engine into a fresh place, couldn't find the admin
plugin. Root cause is a docs gap — nothing told the reader that a plugin is
installed separately from a place sync.

- admin-plugin.md: lead the Install section with the key distinction (it's a
  Studio editor tool, not place content, so an engine sync does NOT install it);
  add per-OS plugins-folder paths (macOS / Windows); spell out the restart-once /
  hot-reload-after behaviour; and note the form needs a place with the engine
  synced (else the empty state), incl. the restart-drops-unsaved-sync caveat.
- getting-started.md: link Survival Stats + the admin plugin from Next steps,
  flagging that the plugin installs separately from the engine.
- README: add a "Tuning, no code" pointer to the admin plugin from the front page.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-19 18:33:43 +10:00

3.8 KiB

Getting Started

SurvivorCore is the mechanics of a survival game — stats, inventory, crafting, harvesting, mobs, and more — without dictating your content. There are two ways to bring it into your place: as source (via Rojo + Wally, the recommended path for active development) or as a drop-in model (SurvivorCore.rbxm, the fastest way to try it).

Status: early scaffold (v0.1.0). APIs will change. See the README for what's implemented today.

Best if you're actively developing and want source, types, and live sync into Studio.

1. Install the toolchain

SurvivorCore pins its tools with Rokit. In your game's repo, add SurvivorCore's tools to your rokit.toml (or copy the pins) and run:

rokit install

This gets you rojo (7.6.1) and wally, among others. In Studio, install the Rojo plugin version 7.6.1 to match.

2. Add SurvivorCore as a Wally dependency

Wally publishing is planned for a later release. Until then, use the Git submodule / source approach below, or the drop-in model.

Once published, add it to your game's wally.toml:

[dependencies]
SurvivorCore = "temujincalidius/survivorcore@0.1.0"

Then:

wally install

…and map the Packages folder into ReplicatedStorage in your *.project.json.

3. …or vendor the source

Clone or submodule this repo and point your Rojo project at it:

// your.project.json
{
  "tree": {
    "ReplicatedStorage": {
      "SurvivorCore": { "$path": "path/to/SurvivorCore/src" }
    }
  }
}

4. Boot it from a server script

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SurvivorCore = require(ReplicatedStorage:WaitForChild("SurvivorCore"))

-- Register your content (see "Extending SurvivorCore")…
SurvivorCore.Items.register({ id = "reed", name = "Reed", stack = 20 })

-- …then start the engine. Call once, from the server, after registering.
SurvivorCore.start()

Option B — Drop-in model (SurvivorCore.rbxm)

Best for a quick look with no toolchain.

  1. Download SurvivorCore.rbxm from the latest Release (it's built from source by CI on every version tag).

  2. In Studio, right-click ReplicatedStorageInsert from File… → pick the .rbxm. You'll get a SurvivorCore ModuleScript.

  3. Add a Script in ServerScriptService:

    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local SurvivorCore = require(ReplicatedStorage:WaitForChild("SurvivorCore"))
    
    SurvivorCore.Items.register({ id = "reed", name = "Reed", stack = 20 })
    SurvivorCore.start()
    
  4. Press Play.

Try the demo

This repo ships a runnable demo that exercises both extension layers:

rojo serve demo.project.json

Connect the Rojo plugin, press Play, then add a Part to the Workspace, tag it Gatherable (CollectionService), and set the attributes ItemId="reed", Yield=2, HP=3. Interact with the prompt to see the component + hook flow. The boot script is demo/server/Boot.server.luau.

Next steps

  • Survival Stats + HUD — the built-in stat simulation and HUD, and how to tune it with no code.
  • Survival Stats admin plugin — a Studio form for tuning the stats. It's editor tooling, so it installs separately from the engine sync (build it once into your Studio plugins folder) — see its Install section.
  • Extending SurvivorCore — the register() API, the component/attribute model, and Hooks.
  • Architecture — how the layers fit together.