FOnline Engine
Current 2026.1.57-dev GitHub
Documentation Docs/Nullability.md

Legacy route.

Nullability

This guide moved to its locale-aware canonical path:

The headings below preserve existing fragment links while the old route remains a durable Markdown pointer.

Core principle

Continue with the canonical guide.

Script side: T? suffix

Continue with the canonical guide.

///@ Event and ///@ RemoteCall declarations

Continue with the canonical guide.

Engine side: ptr<T> / nptr<T> and raw-pointer nullability

Continue with the canonical guide.

Component accessors are non-nullable and throw; probe with Has<Component>

Continue with the canonical guide.

Throwing global getters: Chosen / CurMap / CurLocation / CurPlayer

Continue with the canonical guide.

Game during shutdown: IsGameDestroying

Continue with the canonical guide.

Throwing proto getters: Game.GetProtoItem/Critter/Map/Location + CheckProtoX

Continue with the canonical guide.

Runtime enforcement

Continue with the canonical guide.

Script-side: asBC_RefCpyChk on handle assignments

Continue with the canonical guide.

Native-boundary: codegen-emitted arg/return checks

Continue with the canonical guide.

Compile-time guarantees

Continue with the canonical guide.

Identity comparison: == only, never is / !is

Continue with the canonical guide.

Smart-cast (flow-sensitive narrowing)

Continue with the canonical guide.

Reference casts: cast<T?>(x)

Continue with the canonical guide.

Nullable property handles

Continue with the canonical guide.

The verify macro

Continue with the canonical guide.

Migration note

Continue with the canonical guide.

Project-side tooling

Continue with the canonical guide.

Adding / editing markers

Continue with the canonical guide.

See also

Continue with the canonical guide.

Start typing to search.