Documentation / Tile Tick Core RPG / Programmer

Developer API Reference

High-value runtime types, interfaces, namespaces, authority rules, and intended extension seams.

This is a curated programmer reference, not an exhaustive dump of every class. These are the types you are most likely to use, implement, subscribe to, or deliberately avoid bypassing.

Setup, lifecycle and networking

TypeNamespace / kindUse
NetworkBootstrap...Multiplayer.NGO / runtime componentSingle start/stop owner for server, host and client. Owns shutdown and save-authority integration.
NetworkPlayerSpawner...Multiplayer.NGO / server runtimeSpawns authenticated player objects and injects authoritative dependencies.
NetworkPlayer...Multiplayer.NGO / NetworkBehaviourPrimary network player authority/replication component. Implements registered entity, network interactable and combat-target contracts.
PlayerComposition...Multiplayer.NGO / NetworkBehaviourPlayer prefab composition/ownership bridge.
LocalPlayerPresentationBinder...Multiplayer.NGO / client componentBinds the locally owned player to camera/UI/presentation and publishes LocalPlayerContext.
GameplayReadiness...Multiplayer.Readiness / readonly structSix-gate model for connection through client presentation readiness.
NetworkTickSynchronizer...Multiplayer.NGO / NetworkBehaviourReplicates authoritative RPG tick timing for client presentation.
IAuthenticationService...Multiplayer.Authentication / interfaceReplaceable authentication seam. Current implementation is local username/password.

Time and movement

TypeRootUse
TickManagerGreenCloakGames.TileTickMovement.TickAuthoritative 0.6 second gameplay loop; subscribe to OnTick(long).
GridManagerTile Tick MovementTile/surface lookup and layered navigation data.
TilePathServiceTile Tick MovementShared path service used by authoritative movement.
MovementMotorTile Tick MovementValidated tile movement/path execution.
PlayerMovementAuthorityCore RPG MultiplayerServer-only adapter from movement intent to grid/occupancy/run/motor.

Interaction

TypeKindUse
IContextActionProviderInterfacePopulate visible context actions.
WorldObjectInteractableRuntime componentAuthored world object context provider.
IWorldObjectActionHandlerInterfaceLocal/shared world action seam with CanExecute/Execute.
InteractionActionIdReadonly structStable transport-safe string identity for actions; extensible beyond built-ins.
ServerInteractionPipelineNetworkBehaviourOwns server validation, approach, cancellation, staleness and handler dispatch.
IServerInteractionHandlerInterfaceCustom authoritative action execution after shared pipeline validation.

Core gameplay

TypeKindUse
UnitCombatRuntime componentCombat runtime state and attack/result/projectile events.
CombatFormulaServiceRuntime/serviceShared hit chance, max-hit and hit resolution formulas.
UnitSkillsRuntime componentXP/level state and progression events.
IPlayerSkillActionInterfaceTick-driven long-running skill action seam.
SimpleInventoryRuntime componentInventory model and mutation events. Mutate authoritatively.
UnitEquipmentRuntime componentEquipped state, requirement checks and equipment events.
PrayerControllerRuntime componentPrayer activation, overhead and depletion state.
RunEnergyControllerRuntime componentAuthoritative run toggle and energy state.
BankServiceRuntime serviceBank model/session events; networked clients use the authoritative bank session bridge.

Persistence and travel

TypeKindUse
ISaveCoordinator / SaveCoordinatorInterface + implementationSave/load/storage lifecycle and runtime-state snapshot operations.
IPlayerSaveModuleInterfaceFeature-specific capture/restore extension seam with deterministic restore order.
PlayerSaveContextRuntime contextPer-character access to live authoritative player state for save modules.
NetworkLocationSessionNetworkBehaviourServer-authoritative location travel, scene restore and arrival lifecycle.
TravelDestinationScene/runtime componentStable arrival point addressed by destination ID.

Presentation and audio

TypeKindUse
LocalPlayerContextClient contextSafe access to the locally owned player/input request seams.
AudioManagerSingleton presentation serviceCentral ID/database-driven music/SFX/UI/ambient audio and volume events.
AudioDatabase / AudioEntryScriptableObject/dataDesigner audio identity/configuration.

Deprecated or internal paths to avoid

  • PlayerDeathController is obsolete; use the network-authoritative death path.
  • Do not add a parallel local save/travel/death implementation.
  • Do not load player travel scenes independently of NetworkLocationSession.
  • Do not write directly to replicated state from UI.
  • Do not copy gameplay formulas into RPC classes.

Namespaces are abbreviated in some table cells for readability. Copy exact namespaces from source/IDE when implementing code.