Environment setup and quick start#

Environment setup#

Engine version#

Operating systems#

C++ toolchain#

Code editor#

Quick start#

  1. Create a project: create a project with stock Unreal Engine.
  2. Copy the plugins: download from Releases, choosing one:
  1. Generate and build (when using the source package): close the editor, right-click the .uproject and choose Generate Visual Studio project files, open the .sln, build <ProjectName>Editor for Win64 Development, then open the .uproject.
  2. Enable the plugins: Angelscript is enabled by default and enables SoloASBridge with it; when you use the GAS or Enhanced Input bindings, enable AngelscriptGAS or AngelscriptEnhancedInput in the editor's Plugins window and restart the editor when prompted.
  3. Write code: you can then write AngelScript (.as) code under <Project>/Script/; changing a script does not need an editor restart. Your first script follows.

Save a script class that inherits AActor and prints text in BeginPlay. Once you place it in a level or spawn it from game logic, the game viewport shows "Hello from soloAS!" for a few seconds and the Output Log records the same text:

class AFirstScriptActor : AActor
{
    bool bHelloWorldShown = false;

    UFUNCTION(BlueprintOverride)
    void BeginPlay()
    {
        Print("Hello from soloAS!");
        bHelloWorldShown = true;
    }
}

Plugin folders and dependencies#

The source package contains four plugins; put them under <Project>/Plugins/ as this table shows, and extract the prebuilt package into Plugins/ to use it directly:

Folder in the source bundleFolder under <Project>/Plugins/
AngelscriptRuntime/soloAS/AngelscriptRuntime/
SoloASBridge/soloAS/SoloASBridge/
AngelscriptManualBindPlugins/AngelscriptGAS/soloAS/AngelscriptManualBindPlugins/AngelscriptGAS/
AngelscriptManualBindPlugins/AngelscriptEnhancedInput/soloAS/AngelscriptManualBindPlugins/AngelscriptEnhancedInput/

soloAS/ is only a parent folder that keeps the plugins together; it is not a plugin. The Runtime source folder is AngelscriptRuntime; its descriptor is Angelscript.uplugin, so Unreal identifies it as Angelscript. You can keep the folder name or choose a custom one. The plugins can also go under <UE>/Engine/Plugins/ to serve several projects of that engine, but a project-level install lets a project pin its own version. Do not install a plugin of the same name in both the engine and the project, and do not leave two copies in the project.

PluginPlugins it depends onDefault state
Angelscript (Runtime)SoloASBridgeEnabled by default, and it enables the Bridge
SoloASBridgeDataValidation, StateTreeOff by default, enabled by the Runtime dependency
AngelscriptGASGameplayAbilities, AngelscriptOff by default; enable it when you use the GAS bindings
AngelscriptEnhancedInputEnhancedInput, AngelscriptOff by default; enable it when you use the input bindings

When you use the source package, or after changing a plugin's C++, close the editor, regenerate the project files and rebuild the Editor target, then start the editor. The equivalent command-line build:

"<UE>\Engine\Build\BatchFiles\Build.bat" <ProjectName>Editor Win64 Development -Project="<Project>\<ProjectName>.uproject" -NoUBA -NoMessaging

Common messages:

×

Contact

Feedback

Send bug reports and feedback on GitHub Issues.

Cooperation

For cooperation enquiries, email contact@cuviss.com.

×

About

Terms of Service

See the Community page for each plugin's license.

You may reference site content with attribution.

The software and documentation are provided "as is" without warranty.

Unreal Engine and other third-party projects and names are trademarks of their respective owners. soloAS is not affiliated with Epic Games or Hazelight.

Attribution and showcase requests are non-binding, as described on the home page.

Updated 2026-10-24

Privacy Policy

This site uses no analytics, cookies or tracking, and has no forms or third-party scripts.

The site is hosted on GitHub Pages. GitHub may process standard access logs under its Privacy Statement.

What you send by email is shared with us; what you send through GitHub Issues is shared with GitHub.

Updated 2026-10-24

Contents

Pages

On this page