Skip to content

API Host EngineOptions

Liu.Yandong.Hanks edited this page Aug 21, 2026 · 3 revisions

EngineOptions

Immutable root configuration for compiler, runtime, optimization, and output behavior.

Namespace: AuroraScript. Kind: record.

Back to .NET Host API Reference

Overview

EngineOptions is an immutable record. Start from Default and call the With... methods; each callback modifies only its builder and returns new options without changing the original.

Read the frozen child records through Runtime, Compiler, Optimization, and Output.

Quick Reference

A minimal use of EngineOptions.

var options = EngineOptions.Default.WithCompiler(builder =>
    builder.SourceResolver = ScriptSources.FileSystem("./scripts"));

var engine = new AuroraEngine(options);

Fields

Default

static readonly EngineOptions Default

Default root configuration.

Parameters

None.

Returns

Returns EngineOptions.

var options = EngineOptions.Default;

Properties

Runtime

RuntimeOptions Runtime

Frozen runtime configuration.

Parameters

None.

Returns

Returns RuntimeOptions.

var hotReload = EngineOptions.Default.Runtime.EnableHotReload;

Compiler

CompilerOptions Compiler

Frozen compiler configuration.

Parameters

None.

Returns

Returns CompilerOptions.

var mode = EngineOptions.Default.Compiler.Mode;

Optimization

OptimizationOptions Optimization

Frozen optimization configuration.

Parameters

None.

Returns

Returns OptimizationOptions.

var optimization = EngineOptions.Default.Optimization;

Output

OutputOptions Output

Frozen output configuration.

Parameters

None.

Returns

Returns OutputOptions.

var output = EngineOptions.Default.Output;

Methods

Each With... method returns a new EngineOptions; the original instance is unchanged.

WithCompiler

EngineOptions WithCompiler(Action<CompilerOptionsBuilder> configure)

Returns new options with compiler settings applied.

Parameters

Name Type Required Description
configure Action<CompilerOptionsBuilder> Yes Callback receiving a CompilerOptionsBuilder.

Returns

Returns a new EngineOptions.

var options = EngineOptions.Default.WithCompiler(builder =>
    builder.Mode = CompilationMode.Dynamic);

WithRuntime

EngineOptions WithRuntime(Action<RuntimeOptionsBuilder> configure)

Returns new options with runtime settings applied.

Parameters

Name Type Required Description
configure Action<RuntimeOptionsBuilder> Yes Callback receiving a RuntimeOptionsBuilder.

Returns

Returns a new EngineOptions.

var options = EngineOptions.Default.WithRuntime(builder =>
    builder.HotReload = false);

WithOptimization

EngineOptions WithOptimization(Action<OptimizationOptionsBuilder> configure)

Returns new options with optimization settings applied.

Parameters

Name Type Required Description
configure Action<OptimizationOptionsBuilder> Yes Callback receiving an OptimizationOptionsBuilder.

Returns

Returns a new EngineOptions.

var options = EngineOptions.Default.WithOptimization(builder =>
    builder.AutoModuleDirectCall = true);

WithOutput

EngineOptions WithOutput(Action<OutputOptionsBuilder> configure)

Returns new options with output settings applied.

Parameters

Name Type Required Description
configure Action<OutputOptionsBuilder> Yes Callback receiving an OutputOptionsBuilder.

Returns

Returns a new EngineOptions.

var options = EngineOptions.Default.WithOutput(builder =>
    builder.AssemblyFile = "generated/AuroraScripts.dll");

Clone this wiki locally