-
Notifications
You must be signed in to change notification settings - Fork 1
PlatformOrganization
The GaMR framework is supported by different platforms. The base version is developed and tested for the Microsoft HoloLens. New features and changes will be implemented for this version first and after this, they are made available for the other platforms.
The different platforms are organized in separate branches. Features which should be available on all platforms are implemented on the develop branch. Once enough testing has been done, the changes are merged into the master branch. A merge into the platform-specific branch updates the version for one platform. All changes and features which are special to one platform alone like the input system, are implemented on the corresponding branch.
Branch | Function | Platform |
---|---|---|
master | stable versions | Windows (HoloLens) |
develop | main development of new features | Windows (HoloLens) |
htc_vive | development of a VR version | HTC Vive |
desktop_support | development of a desktop version which can be operated using a mouse | Windows |
ar_core | mobile version using ARCore | Android/iOS |
Important:
Platform specific branches like htc_vive or desktop_support contain adaptions of the main program. Merging operations should only be performed from the develop branch onto the platform specific branch but not into the other direction since this will overwrite HoloLens configurations with platform-specific changes.
In the code it is possible to distinguish between different platforms using defines but the approach using git branches was chosen because there are also changes to the scenes on each platform. However, for extra safety, e.g. in case of accidental merging into the wrong direction, the defines have also been used when implementing platform-specific code. Further information about the define directives for each platform can be found in Unity's manual
- Migration to other Systems: Instructions about the changes which need to be performed in order to develop for a different platform