Zhiyuan's Portfolio

Unreal Scripting (Python/C++)

Developed custom tools and plugins for Unreal Engine using Python and C++, including asset management systems and automation scripts.

Project Overview

Though modest in scope, this demo demonstrates my capability to create custom Python and C++ tools for Unreal Engine, showcasing a solid foundation for developing scalable production workflows.

Demo

Unreal Scripting Demo

Code Snippets

// Fill out your copyright notice in the Description page of Project Settings.

#include "MyAssetActionUtility.h"
#include "EditorUtilityLibrary.h"
#include "EditorAssetLibrary.h"
#include "Engine/Texture.h"

#pragma region RenameSelectedAssets

void UMyAssetActionUtility::RenameSelectedAssets(FString SearchPattern, FString ReplacePattern, ESearchCase::Type SearchCase)
    if (SearchPattern.IsEmpty() || SearchPattern.Equals(ReplacePattern, SearchCase))
    
        return;
    

    // Get Selected Assets
    TArray<UObject*> SelectedAssets = UEditorUtilityLibrary::GetSelectedAssets();
    int32 NumSelectedAssets = SelectedAssets.Num();
    PrintToScreen(FString::Printf(TEXT("Selected = %d"), NumSelectedAssets), FColor::Green);
    uint32 NumAssetsReplaced = 0;
    for (UObject* SelectedAsset : SelectedAssets)
    
        if (ensure(SelectedAsset))
        
            FString AssetName = SelectedAsset->GetName();
            if (AssetName.Contains(SearchPattern, SearchCase))
            
                FString NewAssetName = AssetName.Replace(*SearchPattern, *ReplacePattern, SearchCase);
                UEditorUtilityLibrary::RenameAsset(SelectedAsset, NewAssetName);
                ++NumAssetsReplaced;
            
        
    

    PrintFeedBack(TEXT("Renamed"), NumAssetsReplaced);

#pragma endregion RenameSelectedAssets

// Additional helper functions for asset management...

Tools & Technologies Used

C++
Core Development
Python
Scripting
Unreal API
Engine Integration

Zhiyuan's Portfolio

Senior Technical Artist with 10+ years of experience building pipelines, shaders, and tools across AAA titles and indie projects.

Connect

© 2025 Zhiyuan. All rights reserved.

Senior Technical Artist & Game Developer