Engine Hooks
Generated reference. Do not edit directly. Update
BuildTools/NativeExtensionInterface.json, then runpython BuildTools/docs_native_extension.py --write.
| Index | Roles | Hooks | Bindings | Canonical JSON | Guide |
A project implements a hook by declaring it as metadata in a source registered under the owning role. Codegen omits that hook’s fallback when it sees the declaration.
ApplicationInitHook
Inspect or adjust application startup settings after platform initialization.
- Stable ID:
native-extension.hook.ApplicationInitHook - Role:
COMMON - Compatibility-hashed presence:
yes - Call sites: Source/Frontend/ApplicationInit.cpp
FO_BEGIN_NAMESPACE
///@ EngineHook
FO_SCRIPT_API void ApplicationInitHook(AppInitFlags flags, GlobalSettings& settings);
FO_END_NAMESPACE
Default: No-op before application runtime initialization continues.
ApplicationShutdownHook
Release project-owned process services during application shutdown.
- Stable ID:
native-extension.hook.ApplicationShutdownHook - Role:
COMMON - Compatibility-hashed presence:
no - Call sites: Source/Applications/ClientApp.cpp, Source/Applications/ClientLib.cpp
FO_BEGIN_NAMESPACE
///@ EngineHook
FO_SCRIPT_API void ApplicationShutdownHook();
FO_END_NAMESPACE
Default: No-op during guarded client/application shutdown.
ServerInitHook
Initialize project-owned server services and engine user data.
- Stable ID:
native-extension.hook.ServerInitHook - Role:
SERVER - Compatibility-hashed presence:
yes - Call sites: Source/Server/Server.cpp
FO_BEGIN_NAMESPACE
///@ EngineHook
FO_SCRIPT_API void ServerInitHook(ptr<ServerEngine> server);
FO_END_NAMESPACE
Default: No-op while server initialization continues.
ClientInitHook
Initialize project-owned client services and engine user data.
- Stable ID:
native-extension.hook.ClientInitHook - Role:
CLIENT - Compatibility-hashed presence:
yes - Call sites: Source/Client/Client.cpp
FO_BEGIN_NAMESPACE
///@ EngineHook
FO_SCRIPT_API void ClientInitHook(ptr<ClientEngine> client);
FO_END_NAMESPACE
Default: No-op while client initialization continues.
ClientStartupSettingsHook
Adjust per-client startup settings, including embedded multi-client instances.
- Stable ID:
native-extension.hook.ClientStartupSettingsHook - Role:
COMMON - Compatibility-hashed presence:
yes - Call sites: Source/Applications/ClientApp.cpp, Source/Applications/ServerApp.cpp, Source/Applications/ServerHeadlessApp.cpp
FO_BEGIN_NAMESPACE
///@ EngineHook
FO_SCRIPT_API void ClientStartupSettingsHook(GlobalSettings& settings, int32_t client_index, bool embedded);
FO_END_NAMESPACE
Default: No-op before standalone or embedded client startup.
SetupBakersHook
Append project-owned resource bakers requested by the active bake configuration.
- Stable ID:
native-extension.hook.SetupBakersHook - Role:
BAKER - Compatibility-hashed presence:
yes - Call sites: Source/Tools/Baker.cpp
FO_BEGIN_NAMESPACE
///@ EngineHook
FO_SCRIPT_API void SetupBakersHook(const_span<string> requested, vector<unique_ptr<BaseBaker>>& bakers, shared_ptr<BakingContext> context);
FO_END_NAMESPACE
Default: Register no project-owned bakers.
CheckCritterVisibilityHook
Apply project visibility policy between an observer and target critter.
- Stable ID:
native-extension.hook.CheckCritterVisibilityHook - Role:
SERVER - Compatibility-hashed presence:
yes - Call sites: Source/Server/MapManager.cpp
FO_BEGIN_NAMESPACE
///@ EngineHook
FO_SCRIPT_API CritterVisibilityMode CheckCritterVisibilityHook(ptr<const ServerEngine> server, ptr<const Map> map, ptr<const Critter> observer, ptr<const Critter> target);
FO_END_NAMESPACE
Default: Return CritterVisibilityMode::Full.
CheckItemVisibilityHook
Apply project visibility policy between an observer critter and map item.
- Stable ID:
native-extension.hook.CheckItemVisibilityHook - Role:
SERVER - Compatibility-hashed presence:
yes - Call sites: Source/Server/Critter.cpp
FO_BEGIN_NAMESPACE
///@ EngineHook
FO_SCRIPT_API bool CheckItemVisibilityHook(ptr<const ServerEngine> server, ptr<const Map> map, ptr<const Critter> observer, ptr<const Item> item);
FO_END_NAMESPACE
Default: Return true.