Skip to content

Classes Hub Editor

Scriptum’s Classes Hub is your workspace for managing code across sessions. It provides a structured way to organize your scripts while keeping the flexibility of dynamic execution.

What’s Inside the Classes Hub?

When you open the Classes Hub, you'll see:

  • A Runtime Classes section that lists all classes defined in the current session.

  • Each class displays:

    • Class name

    • Error indicator if the script fails to compile

    • Include toggle, which determines whether this class is part of the session's execution pass

You can also create a new class using the ➕ button. Classes created this way will appear immediately and can be compiled, included, or excluded on the fly.


How Are Classes Used?

In Scriptum, you can define standard C# classes with static methods and fields, just like in a regular IDE. However, Scriptum offers some custom behavior through its preferences system:

  • If Start with Entry Template is enabled in the preferences, Scriptum will auto-generate a class (by default called Main) with a Run() method. The method defined in Entry Point (default is Main.Run) will be automatically invoked when executing the session.

  • If Start with Entry Template is disabled, you can freely write top-level static code in the editor without wrapping it in a class. The editor behaves like a multiline REPL, giving you flexibility to write logic directly or define your own classes manually.

  • All other classes behave like regular C# classes. You can define any number of them, use static or nested types, and invoke them from other classes or from the entry point method.


What is a Session Class?

A session class is a dynamic C# script defined by you inside Scriptum. Think of it as a temporary class that exists within your scripting environment.. Editable, executable, and persistent throughout your session.

Session classes are useful for:

  • Prototyping complex logic in a contained format
  • Organizing your script flow across multiple files
  • Creating main entry points for runtime execution
  • Keeping logic modular while scripting in the Editor