Skip to content

sco_plugin_load

sco_result sco_plugin_load(const sco_api* api, sco_plugin* self)

sco_result (const sco_api *, sco_plugin *)

Service index

Property Value
Symbol sco_plugin_load
Record ID sco-plugin-load
Service native-plugin
Table Native entrypoint (no table)
Version macro SCO_API_MAJOR/SCO_API_MINOR
Packed table version Not applicable
Since / availability API 1.0; received API fields gated by size
Complete member extent (x64 bytes) None
Table size (x64 bytes) None

Header source

sco_result sco_plugin_load(const sco_api* api, sco_plugin* self)

OK stays loaded; any other return rejects load; guarded fault disables plugin. Missing required capabilities handled by discovery; load-specific absence policy belongs to plugin

Missing required capabilities handled by discovery; load-specific absence policy belongs to plugin

Borrowed host API and opaque self valid until unload; plugin owns its private state/allocations; internal allocation unspecified

Game thread per API reference; recursive load reentrancy unspecified

unspecified

unspecified

Ordinary failed-load/non-retained crash cleanup removes registrations, queued work and owned resources. If a nested consumer obtained the provider table during load, a failed load is refused with backing state retained: no owner release, resource hooks, export clearing or module closure. Exposed-provider faults instead become terminal faulted with retained state and restart required. Do not rely on unload after a failed load.

Status labels are copied verbatim from the catalogue: direct is native access; typed-wrapper is wrapper-backed; restricted is a subset/adaptation; unsupported means no supported route is established. No status implies universal safety.

Language Catalogue status Source evidence / wrapper tokens
c direct include/sco_api.h
sco_plugin_load(const sco_api* api, sco_plugin* self)
cpp typed-wrapper include/scosdk/plugin.hpp
extern “C” SCO_EXPORT sco_result sco_plugin_load(const sco_api* api, sco_plugin* self)
csharp typed-wrapper sdk/examples/cs_hello/CsHello.cs
[UnmanagedCallersOnly(EntryPoint = “sco_plugin_load”)]
sdk/examples/cs_hello/CsHello.cs
PluginExports.Load<Hello>(
lua unsupported sdk/docs/lua.md
A Lua plugin is a folder with plugin.ini (kind = lua, entry = main.lua)

ABI pins prove layout, not semantic behavior or a live game session.