@3dsource/types-unreal
Version:
A set of types for unreal module using in 3dsource projects
130 lines (87 loc) • 3.35 kB
Markdown
A comprehensive collection of TypeScript type definitions for Unreal Engine integration. This library provides type
safety for communication between web applications and Unreal Engine.
The types-unreal library offers:
- Type definitions for Unreal Engine commands and responses
- TypeScript interfaces for communication protocols
- Type-safe interaction with Unreal Engine from web applications
- Auto-generated types from Unreal Engine Commands API specifications
- TypeScript 5.0+
- Node.js 20+
- npm 10+ (engines require `npm >9`)
This library requires the following peer dependency:
```json
{
"@3dsource/unreal-commands-api-parser": ">=1.1.0"
}
```
Install the library and ensure the peer dependency is available in your project:
```shell
npm i @3dsource/types-unreal @3dsource/unreal-commands-api-parser
```
Import the types you need in your TypeScript files:
```typescript
import type { UnrealCommands } from '@3dsource/types-unreal';
import type { MetaBoxCommandPacket } from '@3dsource/types-unreal';
import type { MetaBoxCommandList } from '@3dsource/types-unreal';
import type { FLoopBackCommand } from '@3dsource/types-unreal';
```
The library provides the following key type categories:
- Command Types — types for sending commands to Unreal Engine
- Response Types — types for handling responses from Unreal Engine
- Event Types — types for Unreal Engine events
- Data Structure Types — types for complex data structures used in communication
```typescript
import type { UnrealCommands, MetaBoxCommandPacket } from '@3dsource/types-unreal';
// Type-safe command creation
const command: MetaBoxCommandPacket = {
command: 'SetVisibility',
parameters: {
actorName: 'MyActor',
visible: true,
},
};
// Send command to Unreal Engine
function sendToUnreal(packet: MetaBoxCommandPacket) {
// Implementation
}
sendToUnreal(command);
```
Types in this package are auto-generated from the Unreal Engine Commands API using the
`@3dsource/unreal-commands-api-parser` peer dependency. The following scripts are available (see `package.json`):
- Production API → generates `src/lib/struct.ts`:
```shell
npm run generate:commands:prod
```
- QA API → generates `src/lib/struct.qa.ts`:
```shell
npm run generate:commands:qa
```
- Dev API → generates `src/lib/struct.dev.ts`:
```shell
npm run generate:commands:dev
```
Only `src/lib/struct.ts` is exported by the package public API (`src/public-api.ts`). The QA/Dev structures are
intended for development purposes and are not exported.
## Integration with Angular
This library works seamlessly with the `@3dsource/angular-unreal-module` for Angular applications:
```typescript
import { UnrealModule } from '@3dsource/angular-unreal-module';
import type { UnrealCommands } from '@3dsource/types-unreal';
// Your Angular module configuration
```
For detailed documentation of all available types, see the source code and comments in the type definition files.
- Engines: `node >=20`, `npm >9` (see `engines` in `package.json`).
- Runtime dependency: `tslib` is included as a dependency of this package.