WorldContentAllowlist

csharp
public static class WorldContentAllowlist

Namespace NodeWorld.SDK.ContentAllowlist.

What a world bundle may hold: the Unity classes and scripts allowed on its objects, each with its reason, and the methods its UnityEvents may call. A bundle carries no code, but it can put any component of the client on an object, with fields chosen by its creator, and Awake runs as the scene loads: the client checks the bundle before loading it and removes what is not allowed (« Charger sans ce composant »); the SDK runs the same check when the world is published. A large list (« Liste autorisée OK large »), finished from the types found in La Guinguette and HomeWorld (27/10/2026), then whole families. Shaders are all accepted (« Tous acceptés »).

Constants

Version

csharp
public const int Version = 1

Raised when the list or the event methods change: the client checks again a world it checked with an older list (part of the key of its cache of checked bundles).

MonoBehaviourClassId

csharp
public const int MonoBehaviourClassId = 114

The Unity class id of MonoBehaviour: scripts, checked by their MonoScript.

GameObjectClassId

csharp
public const int GameObjectClassId = 1

The Unity class id of GameObject.

VideoPlayerClassId

csharp
public const int VideoPlayerClassId = 328

The Unity class id of VideoPlayer: allowed with a clip of the bundle, removed with a URL.

AnimationClipClassId

csharp
public const int AnimationClipClassId = 74

The Unity class id of AnimationClip, whose events are checked.

CameraClassId

csharp
public const int CameraClassId = 20

The Unity class id of Camera: kept for its settings, never the target of an event.

Methods

IsEventMethodAllowed

csharp
public static bool IsEventMethodAllowed(string typeFullName, string method)

Whether a UnityEvent may call method on the type (Namespace.Class), looked up as Unity looks it up (UnityEventBase.GetValidMethodInfo): on the type, then on each base type, the first one that declares the name decides. A type that is not in the audited list cannot be called at all.

IsEventType

csharp
public static bool IsEventType(string typeFullName, string assembly)

Whether a type named in a UnityEvent (m_TargetAssemblyTypeName: « Namespace.Class, Assembly ») is a type of the list, from the same assembly. A UnityEngine class may be named with its module or with UnityEngine (the facade forwards it).

IsAnimationEventFunctionAllowed

csharp
public static bool IsAnimationEventFunctionAllowed(string function)

Whether an animation event may call function. Unity sends it by name to every script of the animated object, those the client adds at runtime included: the name must be a method a UnityEvent may call on one of the allowed scripts.

TryParseAssemblyTypeName

csharp
public static bool TryParseAssemblyTypeName(string value, out string typeFullName, out string assembly)

Splits « Namespace.Class, Assembly[, Version=...] » as Unity writes it in m_TargetAssemblyTypeName. Nested or generic types, and anything else Type.GetType would read differently, come back as not parsed.

IsAllowedNative

csharp
public static bool IsAllowedNative(int classId, out string name, out string reason)

Whether a Unity class (native component, by its class id) may be on an object of a world; the reason either way. MonoBehaviour (114) is decided by its script (IsAllowedScript).

ManagedNameOfNative

csharp
public static string ManagedNameOfNative(int classId)

The managed type of an allowed Unity class (UnityEngine.AudioSource for 82), or null.

IsAllowedScript

csharp
public static bool IsAllowedScript(string assembly, string ns, string cls, out string reason)

Whether a script (from its MonoScript: assembly, namespace, class) may be in a world; the reason either way.

NormalizeAssembly

csharp
public static string NormalizeAssembly(string assembly)

The assembly's name as Unity writes it in a MonoScript or a type name: without « .dll ».