UE4用のAngelScriptバインディングを試した

公式サイト
リポジトリ

リポジトリのアクセスにはUE4の公式リポジトリへのアクセス権があるアカウントが必要。
スクリプトの編集はVSCodeと独自のVSCode拡張を使う。
AngelScriptを使ってActorなどの追加が可能。
ビルド済みのバイナリはリポジトリのリリースページで配布されています。
VSCodeスクリプトを編集、UE4エディターに戻るともう反映されている。
ログの日本語出力ができなかったのだが、日本語まわりの対応は怪しいかもしれない。
(UMGなんかと接続してみないと、なんともいえないが...)

// For example, we can make a new Actor class
class AExampleActorType : AActor
{
    /* Any class variables declared as UPROPERTY() will be
    * accessible to be set in levels on the actor. */
    UPROPERTY()
    int ExampleValue = 15;

    /* Use the 'default' keyword to override property defaults from the parent class. */
    default bReplicates = true;
    default Tags.Add(n"ExampleTag");

    /*
    * Methods without UFUNCTION() will only be usable from script.
    *  Since unreal does not need to know about them, hot reloading them
    *  can occur significantly faster than when a UFUNCTION() changes.
    */
    void ScriptOnlyMethod()
    {
        Log("ごはんだーいすき"); << エディタ上では??????表示
        Log("ScriptOnlyMethod Called");
    }

あまり掘り下げできていないが今日はここまで!

追記

f:id:eims:20190819000416p:plain
FStringなプロパティも化けた。
日本語コメントはできる。 UE4側からFStringプロパティに日本語書き込んで、AngelScriptのPrintで吐くのは大丈夫っぽい。