Hello all!
I have been focusing my efforts lately on bringing many of the widely adopted computer graphics libraries to the Swift programming language, all made possible with Swift 5.9’s C/C++ Interop Feature, which allows a great variety of C++ APIs to be called directly from Swift, and select Swift APIs can be used from C++, along with the ability to remove CMake entirely, vastly reducing the development overhead of maintaining often hundreds of thousands of lines of CMake code in existing C/C++ projects by authoring a single Swift Package Manager (SPM) manifest file, called Package.swift
, which defines the package’s name, its source code, and resource contents and is created at the root (top level directory) of the Swift, and/or C/C++ project repository.
So far, by using this approach I have been able to successfully build 30 foundational C/C++ computer graphics libraries within a single monolithic swift package which encapsulates much of the Academy Software Foundation (ASWF) Software Landscape, allowing the C/C++ APIs of all these libraries to be called directly from Swift, in addition to also allowing this swift package to be used as a single package dependency to build other Swift, C, and C++ projects. See MetaverseKit to learn more and use it in your existing project.
In addition to MetaverseKit, I have been able to bring Pixar’s Universal Scene Description (USD), a widely adopted (C++ and Python) computer graphics library, to use directly in Swift as well, with SwiftUSD.
Which leads me to the conclusionary topic of discussion:
Is there any developer interest in using the Swift programming language for video game development, and the potential for writing Swift code either as a replacement for or in addition to existing Unreal Engine games written in C/C++?
In addition to building games in Swift with Unreal Engine, I could additionally get the Unreal Engine application itself to build and run cross-platform (Linux, Microsoft Windows, macOS) through a single terminal command:
$ swift run UnrealEngine
I am curious to all of your thoughts in an open discussion, thanks!