Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Request for Unreal Engine C++ Support #1895

Open
1 task done
DenisMedeirosSDK opened this issue Jan 12, 2025 · 0 comments
Open
1 task done

Request for Unreal Engine C++ Support #1895

DenisMedeirosSDK opened this issue Jan 12, 2025 · 0 comments
Labels
language A request to add a language extension

Comments

@DenisMedeirosSDK
Copy link

DenisMedeirosSDK commented Jan 12, 2025

Check for existing issues

  • Completed

Language

C++

Tree Sitter parser link

No response

Language server link

No response

Misc notes

Hello Zed Team,

I would like to request support for Unreal Engine (UE) C++ development in Zed. While Unreal Engine uses C++ as its primary language, it introduces several unique aspects and macros that differentiate it from standard C++. These include but are not limited to UPROPERTY, UFUNCTION, and UCLASS macros, which are integral to Unreal's reflection system and metadata.

Key Differences in Unreal Engine C++:

  • Macros: UE uses specific macros like UPROPERTY, UFUNCTION, UCLASS, UENUM, and more. These macros are crucial for defining properties, functions, and classes that integrate with Unreal's blueprint system, garbage collection, and serialization.
  • Reflection System: Unlike standard C++, UE's reflection system requires these macros to properly expose and manage the elements within the Unreal Editor.
  • Build System: Unreal has its own build system (Unreal Build Tool) that handles the compilation process differently from typical C++ projects.

Benefits of Adding Support:

  1. Improved Developer Experience: Developers working with Unreal Engine would benefit from accurate IntelliSense and autocomplete for UE-specific macros and syntax, making Zed a more powerful tool for UE development.
  2. Syntax Highlighting and Linting: Proper syntax highlighting and linting for UE C++ would help developers avoid common mistakes and speed up development.
  3. Boilerplate Code Generation: Automatic generation of boilerplate code for common UE patterns (e.g., Actor components, UObject-derived classes) would streamline the workflow.
  4. Build Integration: Integration with Unreal's build system could allow Zed to handle compilation and error reporting in a manner consistent with the Unreal Editor.

Industry Adoption:

The importance of Unreal Engine in the game development industry is growing, with major studios adopting it for their upcoming titles. For example:

  • CD Projekt Red will be using Unreal Engine for their next major title, The Witcher 4.
  • 343 Industries, known for the Halo series, is transitioning to Unreal Engine for their future projects.
  • Epic Games' Fortnite, one of the largest and most popular games in the world, is built on Unreal Engine.

Given these industry trends, adding support for Unreal Engine C++ in Zed would position your IDE as a valuable tool for a broad and growing community of developers. Currently, we have only two IDE options that provide good support for Unreal Engine: Visual Studio (free + 128gb RAM) and JetBrains Rider (subscription).

Thank you for considering this request. I'd be happy to provide more details or assist in any way to facilitate this integration.

@DenisMedeirosSDK DenisMedeirosSDK added the language A request to add a language extension label Jan 12, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
language A request to add a language extension
Projects
None yet
Development

No branches or pull requests

1 participant